Authorize.Net
Overview
Gateway Website: https://www.authorize.net/
Developer Documentation: https://developer.authorize.net/api/reference/index.html
Default Currency: USD
Request Objects: BillingAddress
, ShippingAddress
, CreditCard
, Check
, OrderInfo
,
Wallet
Gateway Endpoints
This implementation of Authorize.Net forwards requests to the below endpoints.
Production: https://api.authorize.net/xml/v1/request.api
Sandbox: https://apitest.authorize.net/xml/v1/request.api
Supported Request Parameters
* denotes a required fieldField Name | Type | Authorize.Net Mapping | Notes |
---|---|---|---|
gateway | string | N/A | AuthorizeNetDirect |
username* | string | merchantAuthentication.name | Merchant's unique API Login ID. |
password* | string | merchantAuthentication.transactionKey | Merchant's unique Transaction Key. |
referenceId | string | createTransactionRequest.refId | Merchant-assigned reference ID for the request. |
amount | int | transactionRequest.amount | Transaction amount in whole units. Example: $10.00 USD should be sent as 1000. |
currencyCode | string | transactionRequest.CurrencyCode | ISO 4217 three-letter alphabetic code for the currency. |
trackData1 | string | transactionRequest.payment.trackData.track1 | Card's Track 1 data. |
trackData2 | string | transactionRequest.payment.trackData.track2 | Card's Track 2 data. |
creditCard.number | string | transactionRequest.payment.creditCard.cardNumber | Card's PAN. If using NetworkTokenization, the value of this field is replaced with the network token itself. |
creditCard.expYear | int | transactionRequest.payment.creditCard.expirationDate | Four digit year. TokenEx will combine expYear with expMonth to match the "YYYY-MM" format. If using NetworkTokenization, this will be the year of the network token expiration. |
creditCard.expMonth | int | transactionRequest.payment.creditCard.expirationDate | 1 or 2 digit month. TokenEx will combine expYear with expMonth to match the "YYYY-MM" format. If using NetworkTokenization, this will be the month of the network token expiration. |
n/a | bool | transactionRequest.payment.creditCard.isPaymentToken | true if using NetworkTokenization. If not, the field is null. |
creditCard.CVV | string | transactionRequest.payment.creditCard.cardCode | 3 or 4 digit Card Verification Code. |
createProfile | boolean | transactionRequest.profile.createProfile | If set to true, a customer profile and payment profile will be generated from the customer and payment data. |
solutionId | string | transactionRequest.solution.id | The unique Solution ID which you generate and associate with your solution through the Authorize.Net Partner Interface. |
solutionName | string | transactionRequest.solution.name | The name is generated by the solution provider and provided to Authorize.net. |
terminalId | string | transactionRequest.terminalNumber | The merchant's in-store terminal number. Can identify the cashiers or kiosks used. |
orderInfo.invoiceNumber | string | transactionRequest.Order.invoiceNumber | Merchant-defined invoice number associated with the order. |
description | string | transactionRequest.Order.description | Description of the item purchased. |
tax.amount | int | transactionRequest.tax.amount | Amount in whole units. Example: $10.00 USD should be sent as 1000. |
tax.name | string | transactionRequest.tax.name | Name of tax. |
tax.description | string | transactionRequest.tax.description | Description of tax. |
orderInfo.dutyAmount | int | transactionRequest.duty.amount | Amount in whole units. Example: $10.00 USD should be sent as 1000. |
orderInfo.dutyName | string | transactionRequest.duty.name | Name of duty. |
orderInfo.dutyDescription | string | transactionRequest.duty.description | Description of duty. |
orderInfo.shippingAmount | int | transactionRequest.shipping.amount | Shipping amount in whole units. Example: $10.00 USD should be sent as 1000. |
orderInfo.shippingName | string | transactionRequest.shipping.name | Name of the shipping charges. |
orderInfo.shippingDescription | string | transactionRequest.shipping.description | Description of the shipping charges. |
tax.exempt | boolean | transactionRequest.taxExempt | Indicates whether or not the order is exempt from tax. |
orderInfo.purchaseOrderNumber | string | transactionRequest.poNumber | The merchant-assigned purchase order number. |
orderInfo.CustomerType | string | transactionRequest.Customer.type | Valid values: - Individual - Business |
orderInfo.CustomerEmail | string | transactionRequest.Customer.email | The customer's valid email address. |
orderInfo.CustomerId | string | transactionRequest.customer.id | The unique customer ID used to represent the customer associated with the transaction. |
billingAddress.firstName | string | transactionRequest.billTo.firstName | First name associated with customer’s billing address. |
billingAddress.lastName | string | transactionRequest.billTo.lastName | Last name associated with customer’s billing address. |
billingAddress.company | string | transactionRequest.billTo.company | Company associated with customer’s billing address. |
billingAddress.address1 | string | transactionRequest.billTo.address | Customer’s billing street address. |
billingAddress.city | string | transactionRequest.billTo.city | City of customer’s billing address. |
billingAddress.state | string | transactionRequest.billTo.state | State of customer’s billing address. |
billingAddress.zip | string | transactionRequest.billTo.zip | The postal code of customer’s billing address. |
billingAddress.country | string | transactionRequest.billTo.country | Country of customer’s billing address. |
billingAddress.phone | string | transactionRequest.billTo.phoneNumber | Phone number associated with customer’s billing address. |
billingAddress.fax | string | transactionRequest.billTo.faxNumber | Fax number associated with customer’s billing address. |
shippingAddress.firstName | string | transactionRequest.shipTo.firstName | First name associated with customer’s shipping address. |
shippingAddress.lastName | string | transactionRequest.shipTo.lastName | Last name associated with customer’s shipping address. |
shippingAddress.company | string | transactionRequest.shipTo.company | Company associated with customer’s shipping address. |
shippingAddress.address1 | string | transactionRequest.shipTo.address | Customer’s shipping street address. |
shippingAddress.city | string | transactionRequest.shipTo.city | City of customer’s shipping address. |
shippingAddress.state | string | transactionRequest.shipTo.state | State of customer’s shipping address. |
shippingAddress.zip | string | transactionRequest.shipTo.zip | Postal code of customer’s shipping address. |
shippingAddress.country | string | transactionRequest.shipTo.country | Country of customer’s shipping address. |
customerIpAddress | string | transactionRequest.customerIp | The IPv4 address of the customer initiating the transaction. Defaults to 255.255.255.255 if omitted |
marketType | string | transactionRequest.retail.marketType | The market type of the transaction. Defaults to 0 if omitted This designates the transaction as being e-commerce and Card Not Present. |
deviceType | string | transactionRequest.retail.deviceType | The type of device submitting the retail transaction |
employeeId | string | transactionRequest.employeeId | Merchant-assigned employee ID. |
transactionSettings | [ ] | transactionRequest.transactionSettings | This element contains one or more setting elements. |
- settingName | string | transactionRequest.transactionSettings.setting.settingName | Name of a specific setting to be modified for this transaction. |
- settingValue | string | transactionRequest.transactionSettings.setting.settingValue | Indicates whether the specified setting is enabled or disabled. |
userFields | [ ] | transactionRequest.userFields | These elements may be used to pass through information, such as session IDs and order details. The merchant will receive these elements in the response, exactly as it was submitted in the request. Authorize.net will not store these values. |
- name | string | transactionRequest.userFields.userfield.name | Name of the user-defined field. |
- value | string | transactionRequest.userFields.userfield.value | Value of the user-defined field. |
surchargeAmount | int | transactionRequest.surcharge.amount | Amount in whole units. Example: $10.00 USD should be sent as 1000 |
surchargeDescription | string | transactionRequest.surcharge.description | Describes the reason or details for the surcharge. |
tip | int | transactionRequest.tip | The amount of the tip authorized by the cardholder. |
isFirstRecurringPayment | boolean | transactionRequest.processingOptions.isFirstRecurringPayment | Indicates the initial zero-dollar authorization or the first recurring payment in a series of charges. |
isFirstSubsequentAuth | boolean | transactionRequest.processingOptions.isFirstSubsequentAuth | Indicates the initial zero-dollar authorization or the first payment in a series of charges. |
isSubsequentAuth | boolean | transactionRequest.processingOptions.isSubsequentAuth | Indicates that the transaction is a follow-on transaction for an established customer. |
isStoredCredentials | boolean | transactionRequest.processingOptions.isStoredCredentials | Indicates that the transaction was initiated by the customer using card-on-file payment information. |
originalNetworkTransId | string | transactionRequest.subsequentAuthInformation.originalNetworkTransId | The network transaction ID returned in response to the original card-on-file transaction. |
subsequentReason | string | transactionRequest.subsequentAuthInformation.reason | Describes the reason for the subsequent card-on-file transaction. |
originalAuthAmount | int | transactionRequest.subsequentAuthInformation.originalAuthAmount | The original authorization amount. |
authorizationIndicator | string | transactionRequest.AuthorizationIndicator | Indicates whether the authorization was a pre-authorization or final authorization. |
tokenExTransactionCode | string | transactionRequest.refTransId | Base64 encoded transId. Required for capture, refund, and void transactions. |
recurring | boolean | transactionRequest.transactionSettings | Recurring payment indicator. Does not create a subscription. |
check.AccountNumber | string | transactionRequest.payment.bankAccount.accountNumber | The customer's account number. |
check.RoutingNumber | string | transactionRequest.payment.bankAccount.routingNumber | The bank's routing number. |
check.CheckNumber | string | transactionRequest.payment.bankAccount.checkNumber | The check number printed on the physical check. Required for ARC and BOC echeck transactions. |
check.FirstName | string | transactionRequest.payment.bankAccount.nameOnAccount | The first name of the person who holds the bank account. First and last names will be concatenated with a space between. |
check.LastName | string | transactionRequest.payment.bankAccount.nameOnAccount | The last name of the person who holds the bank account. First and last names will be concatenated with a space between. |
check.AccountType | enum | transactionRequest.payment.bankAccount.accountType | The type of bank account. Certain bank account types require you to use certain ACH transaction types. Valid values: 1- Checking 2- Savings 4- CorporateChecking (maps to businessChecking) |
check.BankName | string | transactionRequest.payment.bankAccount.bankName | The name of the bank. |
check.CheckType | string | transactionRequest.payment.bankAccount.echeckType | The type of ACH transaction. Valid Values: ARC, BOC, CCD, PPD, TEL, WEB. Defaults to PPD. |
customerProfileId | string | transactionRequest.profile.customerProfileId | The customer profile ID. |
shippingProfileId | string | transactionRequest.profile.shippingProfileId | The customer shipping profile ID. |
paymentProfileId | string | transactionRequest.profile.customerPaymentProfile.paymentProfileId | The customer payment profile ID. |
wallet.provider | string | transactionRequest.payment.opaqueData.dataDescriptor | Values accepted: - GooglePay |
wallet.providerToken | string | transactionRequest.payment.opaqueData.providerToken | The payment instrument token provided by the wallet provider. For Google Pay, this value will be the paymentMethodData.tokenizationData.token as returned by the Google Pay JavaScript SDK, base 64 encoded. Authorize.Net's documentation |
Example Requests
- Card Authorize/Purchase
- Card Capture
- Card Refund
- Card Void
- Check Purchase
- Check Refund
- Check Void
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"amount": 900,
"marketType": "0",
"deviceType": "1",
"creditCard": {
"number": "4111111111111111",
"expMonth": 6,
"expYear": 2024,
"firstName": "John",
"lastName": "Doe",
"cvv": "123"
},
"billingAddress": {
"phone": "555-555-5555",
"email": "[email protected]",
"name": "John Doe",
"company": "Test Co.",
"address1": "123 Someplace Lane, Suite #40A",
"city": "Edmond",
"state": "OK",
"zip": "74100",
"country": "USA"
},
"transactionSettings": [
{
"settingName": "duplicateWindow",
"settingValue": "0"
}
]
}
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"tokenExTransactionCode": "<TokenExTransactionCode from a previous Authorize response>",
"amount": 900
}
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"tokenExTransactionCode": "<TokenExTransactionCode from a previous Capture or Purchase response>",
"amount": 900,
"creditCard": {
"number": "1111"
}
}
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"tokenExTransactionCode": "<TokenExTransactionCode from a previous Authorize, Capture, or Purchase response>"
}
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"amount": 900,
"currencyCode": "USD",
"check": {
"routingNumber": "314074269",
"accountNumber": "12345670",
"firstName": "John",
"lastName": "Doe",
"accountType": "checking",
"checkType": "WEB"
},
"billingAddress": {
"phone": "555-555-5555",
"email": "[email protected]",
"name": "John Doe",
"company": "Test Co.",
"address1": "123 Someplace Lane, Suite #40A",
"city": "Edmond",
"state": "OK",
"zip": "74100",
"country": "USA"
},
"transactionSettings": [
{
"settingName": "duplicateWindow",
"settingValue": "0"
}
]
}
{
"testMode": true,
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"tokenExTransactionCode": "<TokenExTransactionCode from a previous Purchase response>",
"amount": 900,
"currencyCode": "USD",
"check": {
"routingNumber": "XXXX4269",
"accountNumber": "XXXX5670",
"firstName": "John",
"lastName": "Doe",
"accountType": "checking"
}
}
{
"tokenExTransactionCode": "<TokenExTransactionCode from a previous Purchase or Refund response>",
"gateway": "AuthorizeNetDirect",
"username": "<Your Authorize.Net API Login ID>",
"password": "<Your Authorize.Net Transaction Key>",
"testMode": true
}
Gateway Response Parameters
Field Name | Type | Authorize.Net Mapping | Notes |
---|---|---|---|
approvalCode | string | transactionResponse.authCode | The authorization code granted by the card issuing bank for this transaction. |
approved | boolean | transactionResponse.responseCode | The overall status of the transaction. The field is true if responseCode == "1" |
providerTransactionCode | string | transactionResponse.transId | The Authorize.net assigned identification number for a transaction. |
Example Responses
- Card Authorize
- Card Purchase
- Card Capture
- Card Refund
- Card Void
- Gateway Error
- Processor Error
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"1\",\"authCode\":\"QX9A1K\",\"avsResultCode\":\"Y\",\"cvvResultCode\":\"P\",\"cavvResultCode\":\"2\",\"transId\":\"80009867871\",\"refTransID\":\"\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"messages\":[{\"code\":\"1\",\"description\":\"This transaction has been approved.\"}],\"transHashSha2\":\"BC054C19D08E0E9BD38BCBD8A60C18A250E6938DE7D82B9A68AB87BFA0895A0BE47FE52DD95339B88634C829D35D95AD0D655E14E83736E04D02AD8BE78FF9DB\",\"networkTransId\":\"KBE1HA6SQBNA4ZO1R12SKL9\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [],
"tokenExTransactionCode": "ODAwMDk4Njc4NzE=",
"approvalCode": "QX9A1K",
"providerTransactionCode": "80009867871",
"approved": true
},
"referenceNumber": "23113010133720550538",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"1\",\"authCode\":\"BRZPCY\",\"avsResultCode\":\"Y\",\"cvvResultCode\":\"M\",\"cavvResultCode\":\"2\",\"transId\":\"80009867937\",\"refTransID\":\"\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"messages\":[{\"code\":\"1\",\"description\":\"This transaction has been approved.\"}],\"transHashSha2\":\"948B0D13CF875539ADACAF0B55B3773DB6EBC9C5715583B6407EBD09C8DFD69FBC9BF65D6FF60F1C8D0CF6FD69E1BCBAFD0478A7F9D7928DA4440D5731506C35\",\"networkTransId\":\"KNX0WXSNM4WL1J3WLIN91UD\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [],
"tokenExTransactionCode": "ODAwMDk4Njc5Mzc=",
"approvalCode": "BRZPCY",
"providerTransactionCode": "80009867937",
"approved": true
},
"referenceNumber": "23113010170964717137",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"1\",\"authCode\":\"QX9A1K\",\"avsResultCode\":\"P\",\"cvvResultCode\":\"\",\"cavvResultCode\":\"\",\"transId\":\"80009867871\",\"refTransID\":\"80009867871\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"messages\":[{\"code\":\"1\",\"description\":\"This transaction has been approved.\"}],\"transHashSha2\":\"BC054C19D08E0E9BD38BCBD8A60C18A250E6938DE7D82B9A68AB87BFA0895A0BE47FE52DD95339B88634C829D35D95AD0D655E14E83736E04D02AD8BE78FF9DB\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [],
"tokenExTransactionCode": "ODAwMDk4Njc4NzE=",
"approvalCode": "QX9A1K",
"providerTransactionCode": "80009867871",
"approved": true
},
"referenceNumber": "23113010144737071383",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"1\",\"authCode\":\"WS0ZOM\",\"avsResultCode\":\"E\",\"cvvResultCode\":\"P\",\"cavvResultCode\":\"2\",\"transId\":\"80010165312\",\"refTransID\":\"80009868541\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"messages\":[{\"code\":\"1\",\"description\":\"This transaction has been approved.\"}],\"transHashSha2\":\"\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [],
"tokenExTransactionCode": "ODAwMTAxNjUzMTI=",
"approvalCode": "WS0ZOM",
"providerTransactionCode": "80010165312",
"approved": true
},
"referenceNumber": "23120408230038729572",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"1\",\"authCode\":\"QX9A1K\",\"avsResultCode\":\"P\",\"cvvResultCode\":\"\",\"cavvResultCode\":\"\",\"transId\":\"80009867871\",\"refTransID\":\"80009867871\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"messages\":[{\"code\":\"1\",\"description\":\"This transaction has been approved.\"}],\"transHashSha2\":\"415848D41CA2D474B3D7E65F2C6C52CCC8FBFC2FE087A1CF679ACAA7AA94C7653C76B225595D6861E445F4A896C33BB420681AF4FA8798C3A6512E6AB906B2D1\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [],
"tokenExTransactionCode": "ODAwMDk4Njc4NzE=",
"approvalCode": "QX9A1K",
"providerTransactionCode": "80009867871",
"approved": true
},
"referenceNumber": "23113010150882962587",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "{\"transactionResponse\":{\"responseCode\":\"2\",\"authCode\":\"\",\"avsResultCode\":\"Y\",\"cvvResultCode\":\"P\",\"cavvResultCode\":\"2\",\"transId\":\"80010475281\",\"refTransID\":\"\",\"transHash\":\"\",\"testRequest\":\"0\",\"accountNumber\":\"XXXX1111\",\"accountType\":\"Visa\",\"errors\":[{\"errorCode\":\"2\",\"errorText\":\"This transaction has been declined.\"}],\"transHashSha2\":\"\",\"networkTransId\":\"F1M3MDK96KKENOPBDQRY055\"},\"messages\":{\"resultCode\":0,\"message\":[{\"code\":\"I00001\",\"text\":\"Successful.\"}]}}",
"gatewayErrors": [
{
"code": "2",
"message": "This transaction has been declined."
}
],
"tokenExTransactionCode": "",
"approvalCode": "",
"providerTransactionCode": "80010475281",
"approved": false
},
"referenceNumber": "23120816303798909481",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "200"
}
{
"gatewayResponse": {
"rawResponse": "/interfaces/wlcatch?RRNO=201043425078&EMV_APPLICATION=&ORIGIN=bp10emu&STATUS=0&OWNER_USER_ID=100553863406&CARD_COUNTRY=USA&AUTH_CODE=&CVV2_RESULT=_&EMV=&FANCY_STATUS=Declined&REBID=&STATE=Hawaii&INVOICE_ID=201043425078&LOGIN_ACCOUNT_ID=100553863405&F_CARD_PRESENT=0&ISSUE_DATE=2023-12-08%2016%3A19%3A29.43492&BANK_NAME=NETWORK%20ONLY&ORDER_ID=201043425078&CUSTOMER_CODE=201043425078&TRANS_ID=201043425078&AVS_RESULT=1&AMOUNT_TAX=0.00&ADDR1=173%20Antonio%20Pike&TPS_HASH_TYPE=HMAC_SHA512&BP_STAMP=E6CF795F48AA233440B640A4D508376836D1501EEB17CC5EEC76B53DBCA564E27326C0BD1513ED3CBFDBA96736F2B7EE0B479DDC91B80AFA8C384A715A578617&CVV2_STATUS=0&CUST_EMAIL=Mary0%40gmail.com&ZIP=96592-2764&COUNTRY=USA&PAYMENT_ACCOUNT=xxxxxxxxxxxx4448&EMAIL=Mary0%40gmail.com&CITY=Ornburgh&COMPANY_NAME=Franecki%2C%20Mertz%20and%20Conroy&AMOUNT=8.00&CONNECTED_IP=20.37.143.181&F_BYPASS_AUTH=0&FRAUD_SCORE=0&F_WILL_CAPTURE=0&PAYMENT_TYPE=CREDIT&REMOTE_IP=20.37.143.181&BP_STAMP_DEF=RRNO%20ISSUE_DATE%20Result&BACKEND_ID=887454904262&ORIG_IS_SETTLED=0&SOURCE_ID=201043425078&MESSAGE=Declined%20Auth&TRANS_TYPE=AUTH&ID=201043425078&F_UNHELD=0&Result=DECLINED&EMV_APPNAME=&MODE=TEST&AVS=1&FLAGS=T&CVV2=_&CARD_TYPE=MC&MEMO=Maiores%20dolore%20accusantium%20autem%20vel%20recusandae.&LEVEL_2_DATA=customer_number%3D%26cust_po%3D%26&CARD_EXPIRE=0324&ACCOUNT_NAME=DEMO-tokenex&PROCESSOR_ID=100553863525&BINDATA=8~N~P~14E00%2000%2000%2000%2000%2000%2000%2000%2000~~~~~~~~N~~~~&F_REBILL_MASTER=0",
"gatewayErrors": [
{
"code": "DECLINED",
"message": "Declined Auth"
}
],
"tokenExTransactionCode": "MjAxMDQzNDI1MDc4",
"approvalCode": "",
"providerTransactionCode": "201043425078",
"approved": false
},
"referenceNumber": "23120816192752821306",
"success": true,
"error": "",
"message": "",
"thirdPartyStatusCode": "302"
}