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. Only 0-9, A-Z or a-z allowed. Spaces are not 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 sub merchant. Applicable to aggregators. Max length 48 characters |
||
|
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 sub merchant. Applicable to aggregators. Max length 16 characters |
PAResPayload |
string |
The PARes Payload obtained through the 3D Secure authentication process. |
|
TerminalID |
string |
8 |
The TerminalID to be passed in Postilion field 41 for Card transactions. If left blank, the configured value will be used. |
CardAcceptorName |
string |
40 |
The CardAcceptorName to be passed in Postilion field 43 for Card transactions. 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 | |
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. |
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>