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

http://www.ecentricswitch.co.za/paymentgateway/v1/Payment

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
Required

 

 

MerchantID
Required

string

50

A unique identifier to identify the merchant. Also known as Merchant GUID.

TransactionID
Required

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
Required

long

The authorization amount in the lowest monetary unit.

CurrencyCode

string

3

The currency code according to the ISO 4217 standard.
The default for South Africa is ZAR

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
Required

PaymentServiceType

The target payment service.

Card

BankCard

The card details.

BankAccount

BankAccountType

The card bank account type.

FirstName

string

50

The customer first name.

LastName

string

50

The customer last name.

BillingAddress

Address

The billing address.

ShippingAddress

Address

The shipping address.

MerchantAddress

Address

The address of the sub merchant. Applicable to aggregators. Max length 48 characters

Email

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

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

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
Required

 

 

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
Required

 

 

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
Required

string

50

A unique identifier for reconciliation purposes.

AuthCode

string

50

The result code definition.

TransactionStatus
Required

TransactionStatusType

The transaction status (Success and Failure)

ResponseDetail
Required

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>