Payment Method
Description
The Payment method attempts to process a payment transaction with a single call. The method essentially combines the dual message: Authorize and Capture in a single transaction.
Action
Style
Document
Input (Literal)
The input of this method is the document element PaymentRequest having the structure defined by the following table.
|
ELEMENT |
TYPE |
SIZE(MAX) |
DESCRIPTION |
|
MessageHeader |
|
|
|
|
MessageDateTime |
datetime |
The message timestamp. |
|
|
MessageID |
string |
50 |
A unique identifier to identify the message. |
|
Channel |
string |
50 |
An identifier to identify the source of the message. |
|
PaymentRequest |
|
|
|
|
MerchantID |
string |
50 |
A unique identifier to identify the merchant. Also known as Merchant GUID. |
|
TransactionID |
string |
50 |
A unique identifier provided by the merchant on the API call to identify the transaction |
|
PreviousTransactionID |
string |
50 |
A unique identifier to identify a preceding transaction (Secure3DLookup). |
|
TransactionDateTime |
datetime |
The transaction timestamp. |
|
|
SaleReconID |
string |
100 |
A unique identifier for reconciliation purposes. |
|
ReconID |
string |
50 |
A unique identifier for reconciliation purposes. |
|
Amount |
long |
The authorization amount in the lowest monetary unit. |
|
|
CurrencyCode |
string |
3 |
The currency code according to the ISO 4217 standard. |
|
BudgetPeriod |
string |
99 |
The payment payback period. Available for bank cards with a budget facility. |
|
OrderNumber |
string |
50 |
The transaction order or reference number. Note: Only Alphanumeric characters i.e. [a..z], [A..Z], [0..9] are allowed. NO spaces or special characters are allowed. |
|
AuthCode |
string |
50 |
The authorization code received from the payment service. |
|
PaymentService |
The target payment service. |
||
|
Card |
The card details. |
||
|
BankAccount |
The card bank account type. |
||
|
FirstName |
string |
50 |
The customer first name. |
|
LastName |
string |
50 |
The customer last name. |
|
BillingAddress |
The billing address. |
||
|
ShippingAddress |
The shipping address. |
||
|
MerchantAddress |
The address of the merchant. |
||
|
|
string |
254 |
The customer email. |
|
MobilePhone |
string |
20 |
The customer mobile phone number. |
|
HomePhone |
string |
20 |
The customer home phone number. |
|
WorkPhone |
string |
20 |
The customer work phone number. |
|
MerchantPhone |
string |
16 |
The phone number of the merchant. |
|
MerchantCustomerServicePhone |
string |
16 |
The customer service phone number of the merchant. |
|
PAResPayload |
string |
The PARes Payload obtained through the 3D Secure authentication process. |
|
|
TerminalID |
string |
8 |
The TerminalID of the merchant. If left blank, the configured value will be used. |
|
CardAcceptorName |
string |
40 |
The CardAcceptorName is the merchant name that will appear on the customer's bank statement. If left blank, the configured value will be used. Payment Facilitators are required by the banks to use this CardAcceptorName format |
|
TrialSubscription |
nullable boolean |
This parameter is optional. It is used when a merchant is offering Trial Subscriptions. The value would be "true" or "false" |
|
|
MerchantCategoryCode |
string |
4 |
This parameter is optional. It is used when a merchant wishes to pass a unique MCC (MerchantCategoryCode) eg: 5399 |
|
CardOnFileScenario |
10 | An identifier allowing a merchant to indicate which specific CIT (customer initiated) or MIT (merchant initiated) transaction is being performed. | |
|
VerificationAction |
The VerificationAction to be applied to the card. If left blank when the PaymentService is CardVerification, it will default to NonPaymentAuthentication. The amount used will be R0 (Zero Rand). | ||
|
MerchantURL |
string |
This is the website address of the sub merchant. Applicable to aggregators. Max length is 255 characters |
|
|
SubMerchantID |
string |
15 |
This is the unique ID of the Sub Merchant. Applicable to aggregators. Max length is 15 characters |
|
Secure3DData |
For aggregators or merchants who obtain external Secure3D authentication data. |
||
|
DigitalWalletPayload |
string |
This is the encrypted payload from the digital wallet provider. Base64-encoded digital wallet payload |
|
|
TLID |
string |
50 |
The transaction linking identifier from either MasterCard or Visa. |
Output (Literal)
The output of this method is the document element PaymentResponse having the structure defined by the following table.
|
ELEMENT |
TYPE |
SIZE(MAX) |
DESCRIPTION |
|
MessageHeader |
|
|
|
|
MessageDateTime |
datetime |
The message timestamp. |
|
|
MessageID |
string |
50 |
A unique identifier to identify the message. |
|
Channel |
string |
50 |
An identifier to identify the source of the message. |
|
PaymentResponse |
|
|
|
|
TransactionID |
string |
50 |
A unique identifier to identify the transaction. |
|
TransactionDateTime |
datetime |
The transaction timestamp. |
|
|
SaleReconID |
string |
100 |
A unique sale identifier for reconciliation purposes. |
|
ReconID |
string |
50 |
A unique identifier for reconciliation purposes. |
|
AuthCode |
string |
50 |
The result code definition. |
|
TransactionStatus |
TransactionStatusType |
The transaction status (Success and Failure) |
|
|
ResponseDetail |
The transaction result code. |
||
|
AuthAmount |
long |
The amount authorized by the bank. |
Sample Message
Request
Body
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:="http://www.ecentricswitch.co.za/paymentgateway/v1">
<soapenv:Header>
<MessageHeader></MessageHeader>
</soapenv:Header>
<soapenv:Body>
<PaymentRequest>
<MerchantID>8B67BF88-BB8D-4EB5-ADFC-0F5C97C7ED67</MerchantID>
<MerchantUserID>978e566b-d62a-42c0-9843-381b3588f333</MerchantUserID>
<TransactionID>d51a062c-8789-435c-9669-3f02440f4f37</TransactionID>>
<PreviousTransactionID>4a8bfa40-501a-4274-bc7c-987e125293d0</PreviousTransactionID>
<Amount>50</Amount>
<CurrencyCode>ZAR</CurrencyCode>
<OrderNumber>MR90351212</OrderNumber>
<Card>
<Token>BF392BCE-6DE4-4134-85D1-EA02F7EB633C</Token>
<SecurityCode>360</SecurityCode>
</Card>
<PaymentService>CardNotPresent</PaymentService>
<PAResPayload>cres: ewogICJhY3NUcmFuc0lEIiA6ICI2ZmI0NTlhZC1mMzVkLTQxY2MtYTNiOC05MTAzMGRmZGMwMzAiLAogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcyIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjIuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICI1MjFmYjcxYi0yOGNjLTVmZmItODAwMC0wMDAwMDg0MGY2NTMiLAogICJ0cmFuc1N0YXR1cyIgOiAiWSIKfQ</PAResPayload>
</PaymentRequest>
</soapenv:Body>
</soapenv:Envelope>
Response
Body
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:MessageHeader
xmlns:h="http://www.ecentricswitch.co.za/paymentgateway/v1"
xmlns="http://www.ecentricswitch.co.za/paymentgateway/v1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MessageDateTime>2024-11-14T12:14:19.197</MessageDateTime>
<MessageID>FCB16C75-21C1-495A-8E21-49A6CA1C83EE</MessageID>
<Channel xsi:nil="true"/>
</h:MessageHeader>
</s:Header>
<s:Body
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PaymentResponse xmlns="http://www.ecentricswitch.co.za/paymentgateway/v1">
<TransactionID>d51a062c-8789-435c-9669-3f02440f4f37</TransactionID>
<TransactionDateTime>2024-11-14T12:14:17.63</TransactionDateTime>
<SaleReconID xsi:nil="true"/>
<ReconID/>
<AuthCode>609134</AuthCode>
<TransactionStatus>Success</TransactionStatus>
<ResponseDetail>
<Source>Acquirer</Source>
<Code>00</Code>
<Description>Approved or completed successfully</Description>
<ClientMessage>Approved.</ClientMessage>
</ResponseDetail>
<AuthAmount>50</AuthAmount>
</PaymentResponse>
</s:Body>
</s:Envelope>
