XML Transaction Report
When a payment is processed within the BCH digital secure payment environment, an XML-based transaction report can be posted to your systems.
This page contains a detailed description of all the fields used. It also contains an example XML required to develop a card payment transaction report receiver on your server.
To enable this feature, the URL of the receiver will need to be configured within the service setup. Please check with support to ensure this has been enabled.
During your testing and development phase, it is possible to use a test gateway. The test gateway will allow different transaction results to be reported without the use of live payment transaction.
XML Data Definition
Section | Field | Type / Format | Description | Attributes |
<Transaction> | ||||
DateTime | Date&Time | Transaction Time [DD/MM/YYYY HH:MM:SS] | ||
Value | Double | Transaction Amount | Currency
| |
<Status> | ||||
Code | Int | Transaction status code | ||
Description | String | Description of status code 100 : Authorised 101 : Card Registered 200 : Declined 201 : Credit Card Type Declined 202 : SaleReverse CSC Error Success 203 : Declined CSC 300 : Validation Failed 301: Missing Cardholder Data 302 : Cardholder Data Invalid 303 : SaleReverse CSCError Failed 400 : Network Error 401 : Merchant Authentication Failure 402 : Merchant Error 403 : Network Error CSC Reversal | ||
</Status> | ||||
<GatewayResponse> | ||||
AuthCode | String | Authorisation Code from the merchant | ||
ResponseCode | String | Response code from the merchant | ||
Message | String | Message returned from the merchant gateway | ||
Merchant | String | Name of the Merchant used | ||
</GatewayResponse> | ||||
<Card> | ||||
PAN | String | Sanitised card long number | ||
Type | String | Card type | ||
CHName | String | Card holder name | ||
Token | String | Token associated with card | ||
SecurityKey | String | A Security key | ||
AuthNumber | String | Unique Authorisation Code | ||
VPSTxId | String | Sage Pay ID | ||
TransactionID | String | Transaction Unique ID | ||
StartDate | String | Card start date (MM/YY) | ||
ExpiryDate | String | Card expiry date (MM/YY) | ||
IssueNumber | Int | Card issue number | ||
</Card> | ||||
<Call> | ||||
Reference | Int | Call Reference number | ||
Number | String | Number Dialled | ||
CLI | String | Callers Number | ||
Start | Date&Time | Start Time of the call [DD/MM/YYYYHH:MM:SS | ||
AgentID | String | ID of the agent that handled the transaction | ||
Info1 | String | Optional collected Info1 | ||
Info2 | String | Optional collected Info2 | ||
Info3 | String | Optional collected Info3 | ||
Info4 | String | Optional collected Info4 | ||
OrderID | String | Customer Order ID | ||
</Call> | ||||
</Transaction> |
Card Types
Below is the card types used with in the <card> node
Value | Card Type |
UNKNOWN | Unknown card type |
VISA | Visa card types |
AMEX | American Express |
DINERS | Diners Card |
MAESTRO | Maestro Cards |
SOLO | Solo Cards |
MC | Mastercard |
Example XML
<?xml version="1.0" encoding="utf-8"?>
<Transaction>
<DateTime>01/01/2023 12:00:00</DateTime>
<Value currency="GBP">100.00</Value>
<Status>
<Code>100</Code>
<Description>Authorised</Description>
</Status>
<GatewayResponse>
<AuthCode>012345</AuthCode>
<ResponseCode>1000</ResponseCode>
<Message>Approved</Message>
<Merchant>TestGateway</Merchant>
</GatewayResponse>
<Card>
<PAN>************4444</PAN>
<Type>MC</Type>
<CHName>A Cardholder</CHName>
<Token>ABCD1234</Token>
<SecurityKey />
<AuthNumber />
<VPSTxId />
<TransactionID>101010</TransactionID>
<StartDate />
<ExpiryDate>12/24</ExpiryDate>
<IssueNumber />
</Card>
<Call>
<Reference>123456789</Reference>
<Number>01615432250</Number>
<CLI>01615377707</CLI>
<Start>01/01/2023 11:30:00</Start>
<AgentID>101</AgentID>
<Info1>MyInfo1</Info1>
<Info2>MyInfo2</Info2>
<Info3>MyInfo3</Info3>
<Info4>MyInfo4</Info4>
<OrderID>MyOrderID</OrderID>
</Call>
</Transaction>