Payment Settlement
Overview
A PaymentSettlementRequest message must be submitted to capture funds from the customer's form of payment. The PaymentSettlementStatus message is returned to inform the caller of the final state of the settlement. In some cases, more than one PaymentSettlementStatus message is sent for a given settlement (for example, a credit card charge back after a successful settlement).
An alternate request format, PaymentSettlementRequestList, groups several events together in a single message, and is intended for clients using the Webhooks Implementation for Asynchronous Messages. If you are using the Webhooks implemention, see Payment Settlement Status List Event, below.
After you submit a PaymentSettlementRequest message:
- Never resubmit a settlement again after you receive a ACK message that indicates the request has been received. If you submit the same settlement again, there is a high risk of multiple debit or credit entries being issued to the customer. This should never be done.
- Depending on the tender type, settlements have different time frames for processing. Certain settlement requests are processed immediately (for example, PayPal), while others are processed the next day (for example, credit cards)
- If there is an issue with the processor or a Radial server error, Radial takes care of any retries that are needed and has a process to submit them at a later date when necessary.
For Debit Transactions, Confirm Funds Before Settlement
Any system that calls Radial's Settlement (Debit) API must integrate Radial's Confirm Funds API into the business flow. You must invoke the ConfirmFunds API first, with PerformReauthorization set to true, before you invoke debit settlement. Please use the original authorization amount in the amount field of the ConfirmFunds request, even if the amount does not match the current shipment cost (debit amount).
If the response to ConfirmFunds API returns FundsAvailable as Fail, this means that there is an issue with the authorization, and the shipment must be withheld from fulfillment. When this occurs, ask the customer to provide payment with a different payment method.
URI Description
Action | URI Template | URI Example | Non-URI Request | Response |
---|---|---|---|---|
POST | /v[M.m]/stores/[StoreId]/ payments/settlement/ create/[TenderType].[format] |
/v1.0/stores/ABCXYZ/ payments/settlement/ create/VC.xml |
XML | 200 + XML response |
Request Examples
The request is a PaymentSettlementRequest message.
With optional elements
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementRequest requestId="123" xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<!-- PaymentContext and PaymentContextBase is a choice which require any one to process payments-->
<!-- PaymentContext is used to process the payments with Payment Account Number-->
<PaymentContext>
<OrderId>OrderId01013</OrderId>
<PaymentAccountUniqueId isToken="false">4400000000000008</PaymentAccountUniqueId>
</PaymentContext>
<!-- PaymentContextBase is used to process the payments with out Payment Account Number (For Example, PayPal)-->
<PaymentContextBase>
<OrderId>12345</OrderId>
</PaymentContextBase>
<InvoiceId>con10000148398750_0</InvoiceId>
<Amount currencyCode="USD">55.00</Amount>
<TaxAmount currencyCode="USD">0.00</TaxAmount>
<SettlementType>Debit</SettlementType>
<AuthorizationResponseCode>10000148398702_4569dfed-e8fa-434d-b72b-5ae284c8fdc3</AuthorizationResponseCode>
<AuthorizationDate>2021-04-28T11:56:00.998Z</AuthorizationDate>
<ExpirationDate>2030-10-05:00</ExpirationDate>
<ClientContext>9841238411317</ClientContext>
<BillingAddress>
<PersonName>
<LastName>john</LastName>
<FirstName>doe</FirstName>
</PersonName>
<Address>
<Line1>25 Oak Ln</Line1>
<City>Miami</City>
<MainDivision>FL</MainDivision>
<CountryCode>US</CountryCode>
<PostalCode>74354</PostalCode>
</Address>
</BillingAddress>
<InvoiceData>
<LineItems>
<LineItem>
<ItemId>15123</ItemId>
<Quantity>1</Quantity>
<ItemShortDescription>NA</ItemShortDescription>
</LineItem>
</LineItems>
<CustomAttributes>
<CustomAttribute>
<Key>DomOrchestrated</Key>
<Value>false</Value>
</CustomAttribute>
</CustomAttributes>
</InvoiceData>
<!--The below shipment data is required for paypal shipment tracking which accelerate the fund releases after settlement-->
<ShipmentData>
<ShipmentCount>
<CurrentCount>1</CurrentCount>
<TotalCount>1</TotalCount>
</ShipmentCount>
<ShippedDate>2021-05-10T21:59:13Z</ShippedDate>
<Carrier>
<Name>FEDEX</Name>
</Carrier>
<TrackingId>78699817734</TrackingId>
</ShipmentData>
<SourceOrderSystem>OOMF</SourceOrderSystem>
</PaymentSettlementRequest>
With required elements
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementRequest requestId="123" xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<!-- PaymentContext and PaymentContextBase is a choice which require any one to process payments-->
<!-- PaymentContext is used to process the payments with Payment Account Number-->
<PaymentContext>
<OrderId>OrderId01013</OrderId>
<PaymentAccountUniqueId isToken="false">4400000000000008</PaymentAccountUniqueId>
</PaymentContext>
<!-- PaymentContextBase is used to process the payments with out Payment Account Number (For Example, PayPal)-->
<PaymentContextBase>
<OrderId>12345</OrderId>
</PaymentContextBase>
<InvoiceId>invoice-id</InvoiceId>
<Amount currencyCode="USD">100.00</Amount>
<TaxAmount currencyCode="USD">6.00</TaxAmount>
<SettlementType>Debit</SettlementType>
<ClientContext>987654321</ClientContext>
<FinalDebit>true</FinalDebit>
</PaymentSettlementRequest>
Request Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
PaymentSettlementRequest/ @requestId |
Yes | RequestId is used to uniquely identify a request, including as part of idempotent duplicate request processing. The value must be unique. It is recommended to use a variant 4 UUID for the request id. The same request id should only be reused if a read timeout occurs when attempting to receive a response from the payment service, or the payment service responds with a fault response. In all other cases a new request id must be sent for retried requests, including responses such as Fail, Timeout or PaymentProcessorTimeout. | String | Max 40 characters |
PaymentContext | Choice of PaymentContext (when a PaymentAccountUniqueId is available) or PaymentContextBase (when a PaymentAccountUniqueId is not available) | Sequence of OrderId, PaymentAccountUniqueId | ComplexType | |
PaymentContext/ OrderId |
Yes (when PaymentContext is present) | Order ID | String | Max 20 characters |
PaymentContext/ PaymentAccountUniqueId |
Yes (when PaymentContext is present) | Tokenized payment account number (for example, credit card number) | String | Max 22 characters |
PaymentContext/ PaymentAccountUniqueId @isToken |
Yes (when PaymentContext is present) | Attribute that indicates whether the payment account number is tokenized | String | true |
PaymentContextBase | Choice of PaymentContext (when a PaymentAccountUniqueId is available) or PaymentContextBase (when a PaymentAccountUniqueId is not available) | Sequence of OrderId | ComplexType | |
PaymentContextBase/ OrderId |
Yes (when PaymentContextBase is present) | Order ID | String | Max 20 characters |
InvoiceId | Yes | Invoice ID for the settlement.
Although marked as optional in the the schema, this element needs to be passed at all times in order to facilitate with reporting reconciliation. |
String | Max 20 characters |
Amount | Yes | Amount to be debited (when SettlementType is DEBIT) or credited (when SettlementType is CREDIT) | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
Amount/ @currencyCode |
Yes | Attribute that indicates the type of currency used for the amount | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
TaxAmount | Yes | Amount of the tax | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
TaxAmount/ @currencyCode |
Yes | Attribute that indicates the type of currency used for the tax | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
SettlementType | Yes | Type of settlement | String | Debit or Credit |
AuthorizationResponseCode | No | Authorization code returned by the payment processor upon a successful credit card authorization. Only needed for verbal authorizations. | String | |
AuthorizationDate | No | Date of credit card authorization. Only needed for verbal authorizations. | DateTime | |
ExpirationDate | No | Expiration date on the credit card. Only needed for verbal authorizations. | YearMonth | |
ClientContext | No | ID for the settlement. Echoed back in the PaymentSettlementStatus message for correlation. | String | |
FinalDebit | No | Flag that indicates whether this settlement is the final debit for an order that has multiple settlements. Although optional, this element should be provided for most integrations. | Boolean | true or false |
OriginatingSystemOrderId | No | Order ID from the system where order is originally created | String | Maximum 40 characters |
OmsOrderId | No | OMS Order ID. Used by Finance team for reporting. Although marked as optional in the schema, this element must be passed at all times in order to facilitate with reporting reconciliation. |
String | Maximum 30 characters |
BillingAddress | No | Sequence of Person, Address | ComplexType | |
BillingAddress/ PersonName |
Yes |
Sequence of Honorific, LastName, MiddleName, FirstName | ComplexType | |
BillingAddress/ PersonName/ Honorific |
No | Person's title(for example, Dr., Mr., Ms.) | String | Max 10 characters |
BillingAddress/ PersonName/ LastName |
Yes |
Person's last name | String | Max 64 characters |
BillingAddress/ PersonName/ MiddleName |
No | Person's middle name | String | Max 40 characters |
BillingAddress/ PersonName/ FirstName |
No | Person's first name | String | Max 64 characters |
BillingAddress/ Address |
Yes |
Sequence of Line1, Line2, Line3, Line4, City, MainDivision, CountryCode, PostalCode | ComplexType | |
BillingAddress/ Address/ Line1 |
Yes |
Line 1 of the address | String | Max 70 characters |
BillingAddress/ Address/ Line2 |
No | Line 2 of the address | String | Max 70 characters |
BillingAddress/ Address/ Line3 |
No | Line 3 of the address | String | Max 70 characters |
BillingAddress/ Address/ Line4 |
No | Line 4 of the address | String | Max characters |
BillingAddress/ Address/ City |
Yes |
City | String | Max 40 characters |
BillingAddress/ Address/ MainDivision |
No | State, province, or county | String | Max 35 characters |
BillingAddress/ Address/ CountryCode |
Yes |
ISO 3166 alpha 2 country code | String | Max 40 characters |
BillingAddress/ Address/ PostalCode |
No | Postal code | String | Max 15 characters |
InvoiceData | No | Sequence of VATData, LineItems, CustomAttributes | ComplexType | |
InvoiceData/ @type |
No | Type of invoice data like sales, cancel, return | String | sales, cancel, return, credit_memo or credit_adjust |
InvoiceData/ VATData |
No | Sequence of VATInvoiceNumber, VATInvoiceDate, OriginalVATInvoiceDetails, VATRateInfo, BalanceClearedAmount, InvoicePresentment. Only used for open invoice tender. | ComplexType | |
InvoiceData/ VATData/ VATInvoiceNumber |
Yes |
VAT invoice number associated with the order | String | 20 characters; no white space |
InvoiceData/ VATData/ VATInvoiceDate |
Yes |
Effective date of the receivable list. Date when the VAT invoice was generated. | DateTime | |
InvoiceData/ VATData/ OriginalVATInvoiceDetails |
No | Sequence of OriginalVATInvoice. Only used for open invoice CREDIT transaction. | ComplexType | |
InvoiceData/ VATData/ OriginalVATInvoiceDetails/ OriginalVATInvoice |
Yes, unbounded repetitions |
Sequence of OriginalVATInvoiceNumber, OriginalVATInvoiceDate | ComplexType | |
InvoiceData/ VATData/ OriginalVATInvoiceDetails/ OriginalVATInvoice/ OriginalVATInvoiceNumber |
Yes | Original VAT invoice number for the order being credited. Only used for open invoice CREDIT transaction. | String | 20 characters; no white space |
InvoiceData/ VATData/ OriginalVATInvoiceDetails/ OriginalVATInvoice/ OriginalVATInvoiceDate |
Yes | Original reference date for the order being credited. Only used for open invoice CREDIT transaction. | DateTime | |
InvoiceData/ VATData/ VATRateInfo |
Yes | Sequence of VAT | ComplexType | |
InvoiceData/ VATData/ VATRateInfo/ VAT |
Yes, unbounded repetitions | Sequence of VATRegistrationId, Amount | ComplexType | |
InvoiceData/ VATData/ VATRateInfo/ VAT/ @rate |
Yes | Attribute that indicates the VAT rate | Decimal | |
InvoiceData/ VATData/ VATRateInfo/ VAT/ VATRegistrationId |
No | Tax ID used for value-added tax purposes | String | |
InvoiceData/ VATData/ VATRateInfo/ VAT/ Amount |
Yes | Amount of the VAT | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
InvoiceData/ VATData/ VATRateInfo/ VAT/ Amount/ @currencyCode |
Yes | Attribute that indicates the type of currency used for VAT | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
InvoiceData/ VATData/ BalanceClearedAmount |
No | Sum of payments or credits deducted from the total gross amount, if any. This can be any amount paid or credited through a non open invoice payment method. | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
InvoiceData/ VATData/ BalanceClearedAmount/ @currencyCode |
Yes | Attribute that indicates the type of currency for the credited VAT | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
InvoiceData/ VATData/ InvoicePresentment |
Yes | Method for dispatching the invoice to the recipient | String |
letter
|
InvoiceData/ LineItems |
No | Sequence of LineItem | ComplexType | |
InvoiceData/ LineItems/ LineItem |
Yes, unbounded repetitions | Sequence of ItemId, ClientItemId, Quantity, ItemShortDescription, VATInclusiveUnitPrice, VATRateInfo, CustomAttributes | ComplexType | |
InvoiceData/ LineItems/ LineItem/ @lidCode |
No | Attribute that indicates the line item description code | String | 4 to 7 characters |
InvoiceData/ LineItems/ LineItem/ @lineId |
Yes | Attribute that indicates the unique identifier for the line item.
Although marked as optional in the the schema, this element needs to be passed at all times in order to facilitate with reporting reconciliation. |
String | |
InvoiceData/ LineItems/ LineItem/ ItemId |
Yes | Product SKU ID.
Although marked as optional in the the schema, this element needs to be passed at all times in order to facilitate with reporting reconciliation. |
String | Max 20 characters |
InvoiceData/ LineItems/ LineItem/ ClientItemId |
Yes | Vendor/client SKU ID. Only used in loyalty program.
Although marked as optional in the the schema, this element needs to be passed at all times in order to facilitate with reporting reconciliation. |
String | |
InvoiceData/ LineItems/ LineItem/ Quantity |
Yes | Item quantity.
Although marked as optional in the the schema, this element needs to be passed at all times in order to facilitate with reporting reconciliation. |
Decimal | |
InvoiceData/ LineItems/ LineItem/ ItemShortDescription |
Yes | Product description | String | Max 100 characters |
InvoiceData/ LineItems/ LineItem/ VATInclusiveUnitPrice |
No | VAT inclusive price per unit for VAT stores | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
InvoiceData/ LineItems/ LineItem/ VATInclusiveUnitPrice/ @currencyCode |
Yes | Attribute that indicates the type of currency for the unit price | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
InvoiceData/ LineItems/ LineItem/ VATRateInfo |
Yes | Sequence of VAT | ComplexType | |
InvoiceData/ LineItems/ LineItem/ VATRateInfo/ VAT |
Yes, unbounded repetitions | Sequence of VATRegistrationId, Amount | ComplexType | |
InvoiceData/ LineItems/ LineItem/ VATRateInfo/ VAT/ @rate |
Yes | Attribute that indicates the VAT rate | Decimal | |
InvoiceData/ LineItems/ LineItem/ VATRateInfo/ VAT/ VATRegistrationId |
No | Tax ID used for value-added tax purposes | String | |
InvoiceData/ LineItems/ LineItem/ VATRateInfo/ VAT/ Amount |
Yes | Currency amount | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
InvoiceData/ LineItems/ LineItem/ VATRateInfo/ VAT/ Amount/ @currencyCode |
C | Attribute that indicates the type of currency used | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
InvoiceData/ LineItems/ LineItem/ CustomAttributes |
No | Sequence of CustomAttribute | ComplexType | |
InvoiceData/ LineItems/ LineItem/ CustomAttributes/ CustomAttribute |
Yes, unbounded repetitions | Sequence of Key, Value | ComplexType | |
InvoiceData/ LineItems/ LineItem/ CustomAttributes/ CustomAttribute/ Key |
Yes | Custom attribute key | String | |
InvoiceData/ LineItems/ LineItem/ CustomAttributes/ CustomAttribute/ Value |
Yes | Custom attribute value | NormalizedString | |
InvoiceData/ CustomAttributes |
No | Sequence of CustomAttribute | ComplexType | |
InvoiceData/ CustomAttributes/ CustomAttribute |
Yes, unbounded repetitions | Sequence of Key, Value | ComplexType | |
InvoiceData/ CustomAttributes/ CustomAttribute/ Key |
Yes | Custom attribute key | String | |
InvoiceData/ CustomAttribute/ |
Yes | Custom attribute value | NormalizedString | |
ShipmentData | No |
Data about physical shipments associated with the settlement. One element should be provided for each physical shipment associated with the settlement. |
ComplexType | |
ShipmentData/ ShipmentCount |
No | Count of total shipment and current shipment. | ComplexType | |
ShipmentData/ ShipmentCount/ CurrentCount |
Yes | Current shipment number within the order. | Integer | |
ShipmentData/ ShipmentCount/ TotalCount |
Yes | Total number of shipments within the order. | Integer | |
ShipmentData/ ShippedDate |
Yes | The time at which the order was shipped | DateTime | |
ShipmentData/ Carrier |
No | Carrier specific information | ComplexType | |
ShipmentData/ Carrier/ Name |
Yes | The name of the carrier/courier. | String | |
ShipmentData/ Carrier/ Service |
No | The carrier-specific shipping service name, for example, "1-Day", "Ground", "Priority Mail". | String | |
ShipmentData/ TrackingId |
No | The tracking id provided by the courier. | String | |
ShipmentData/ DeliveryOption |
No | The shipping priority. | String | STANDARD or EXPRESS |
RefundReason | No | Reason for issuing a refund | String | |
ReferenceTransactionId | No | Transaction ID referencing an external system | String | |
SourceOrderSystem | No | Order Management System sending the request | String |
JDA
|
HTTP Response
<?xml version="1.0" encoding="UTF-8"?>
<AckReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<Received/>
</AckReply>
Queue Format
q.Payments.Settlements.Status.<RABBIT_MQ_USERNAME>
Response Examples
The response is a PaymentStatementStatus message.
Successful Debit With a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatus xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>12345</OrderId>
<PaymentAccountUniqueId isToken="true">4111110PASeK1111</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>VC</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
Rejected Refund With a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatus xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>12345</OrderId>
<PaymentAccountUniqueId isToken="true">4111110PASeK1111</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>VC</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Credit</SettlementType>
<SettlementStatus>R</SettlementStatus>
<!--Optional:-->
<DeclineReason>Insufficient Capture balance for refund request amount</DeclineReason>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
Successful Debit Without a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatus xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContextBase>
<OrderId>12345</OrderId>
</PaymentContextBase>
<TenderType>PY</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
Response Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
PaymentContext | Choice of PaymentContext or PaymentContextBase. The same element that was used in the request is returned in the reply. | Sequence of OrderId, PaymentAccountUniqueId | ComplexType | |
PaymentContext/ OrderId |
Yes (when PaymentContext is present) | Order ID | String | Max 20 characters |
PaymentContext/ PaymentAccountUniqueId |
Yes (when PaymentContext is present) | Tokenized payment account number (for example, credit card number) | String | Max 22 characters |
PaymentContext/ PaymentAccountUniqueId/ @isToken |
Yes (when PaymentContext is present) | Attribute that indicates whether the payment account number is tokenized | String | true |
PaymentContextBase | Choice of PaymentContext or PaymentContextBase. The same element that was used in the request is returned in the reply. | Sequence of OrderId | ComplexType | |
PaymentContextBase/ OrderId |
Yes (when PaymentContextBase is present) | Order ID | String | Max 20 characters |
TenderType | Yes | Tender type identifier | String | 2 to 4 characters |
Amount | Yes | Settlement amount | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
Amount/ @currencyCode |
Yes | Attribute that indicates the type of currency used for the amount | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
SettlementType | Yes | Type of settlement | String | Debit
Credit |
SettlementStatus | Yes |
Status of settlement: S- successful |
String | S or R |
DeclineReason | No | Additional details related to a rejected settlement | String | |
ClientContext | No | If a ClientContext value is provided in the request, the same value is provided in this element. | String | |
StoreId | Yes | Store identifier | String | Max 100 characters |
Payment Settlement Status List Event
The XML response (mentioned below) contains a list of PaymentSettlementStatus messages all clubbed under one parent element and is available only for clients using Asynchronous API Operations through Webhooks. This message cannot be obtained from a queue in RabbitMQ and hence the queue format is not applicable for the list event. In case you want to sign up for these events please contact customer service.
The individual PaymentSettlementStatus message is still used on the RabbitMQ server. For details, see the information provided above.
Response Examples
The response is a list of PaymentSettlementStatus messages. Instead of returning single PaymentSettlementStatus message, a list/batch of messsages are getting returned
Successful Debit With a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatusList xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentSettlementStatus>
<PaymentContext>
<OrderId>12345</OrderId>
<PaymentAccountUniqueId isToken="true">4387751111111111</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>VC</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
<PaymentSettlementStatus>
<PaymentContext>
<OrderId>10001</OrderId>
<PaymentAccountUniqueId isToken="true">5500000000000004</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>MC</TenderType>
<Amount currencyCode="USD">200.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>123456789</ClientContext>
<StoreId>ABC</StoreId>
</PaymentSettlementStatus>
</PaymentSettlementStatusList>
Rejected Refund With a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatusList xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentSettlementStatus>
<PaymentContext>
<OrderId>12345</OrderId>
<PaymentAccountUniqueId isToken="true">4000000000001992</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>VC</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Credit</SettlementType>
<SettlementStatus>R</SettlementStatus>
<!--Optional:-->
<DeclineReason>Insufficient Capture balance for refund request amount</DeclineReason>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
<PaymentSettlementStatus>
<PaymentContext>
<OrderId>100023</OrderId>
<PaymentAccountUniqueId isToken="true">5200000000000031</PaymentAccountUniqueId>
</PaymentContext>
<TenderType>MC</TenderType>
<Amount currencyCode="USD">500.00</Amount>
<SettlementType>Credit</SettlementType>
<SettlementStatus>R</SettlementStatus>
<!--Optional:-->
<DeclineReason>Insufficient Capture balance for refund request amount</DeclineReason>
<!--Optional:-->
<ClientContext>123456789</ClientContext>
<StoreId>ABC</StoreId>
</PaymentSettlementStatus>
</PaymentSettlementStatusList>
Successful Debit Without a Payment Account Number
<?xml version="1.0" encoding="UTF-8"?>
<PaymentSettlementStatusList xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentSettlementStatus>
<PaymentContextBase>
<OrderId>12345</OrderId>
</PaymentContextBase>
<TenderType>PY</TenderType>
<Amount currencyCode="USD">100.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>987654321</ClientContext>
<StoreId>ABCXYZ</StoreId>
</PaymentSettlementStatus>
<PaymentSettlementStatus>
<PaymentContextBase>
<OrderId>11111</OrderId>
</PaymentContextBase>
<TenderType>PY</TenderType>
<Amount currencyCode="USD">520.00</Amount>
<SettlementType>Debit</SettlementType>
<SettlementStatus>S</SettlementStatus>
<!--Optional:-->
<ClientContext>123456789</ClientContext>
<StoreId>ABC</StoreId>
</PaymentSettlementStatus>
</PaymentSettlementStatusList>
Response Elements
Element | Required | Description | Type | Restriction |
---|---|---|---|---|
PaymentSettlementStatusList | A wrapper/parent object for all the PaymentSettlementStatus elements | Sequence of PaymentSettlementStatus elements | ComplexType | |
PaymentSettlementStatus | A wrapper/parent object for all the sub-elements such as PaymentContext, TenderType, Amount, SettlementType, SettlementStatus etc. | Sequence of PaymentContext, TenderType, Amount, SettlementType, SettlementStatus | ComplexType | |
PaymentContext | Choice of PaymentContext or PaymentContextBase. The same element that was used in the request is returned in the reply. | Sequence of OrderId, PaymentAccountUniqueId | ComplexType | |
PaymentContext/ OrderId |
Yes (when PaymentContext is present) | Order ID | String | Max 20 characters |
PaymentContext/ PaymentAccountUniqueId |
Yes (when PaymentContext is present) | Tokenized payment account number (for example, credit card number) | String | Max 22 characters |
PaymentContext/ PaymentAccountUniqueId/ @isToken |
Yes (when PaymentContext is present) | Attribute that indicates whether the payment account number is tokenized | String | true |
PaymentContextBase | Choice of PaymentContext or PaymentContextBase. The same element that was used in the request is returned in the reply. | Sequence of OrderId | ComplexType | |
PaymentContextBase/ OrderId |
Yes (when PaymentContextBase is present) | Order ID | String | Max 20 characters |
TenderType | Yes | Tender type identifier | String | 2 to 4 characters |
Amount | Yes | Settlement amount | Decimal |
Positive decimal, up to two decimal places (for example, 4.75) |
Amount/ @currencyCode |
Yes | Attribute that indicates the type of currency used for the amount | String | 3-character ISO 4217 code (for example, USD, CAD, EUR). See
http://en.wikipedia.org/ wiki/ISO_4217. |
SettlementType | Yes | Type of settlement | String | Debit
Credit |
SettlementStatus | Yes |
Status of settlement: S- successful |
String | S or R |
DeclineReason | No | Additional details related to a rejected settlement | String | |
ClientContext | No | If a ClientContext value is provided in the request, the same value is provided in this element. | String | |
StoreId | Yes | Store identifier | String | Max 100 characters |