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
email
web

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/
CustomAttributes/

CustomAttribute/
Value

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
STERLING
PAM
MAGENTO
CRMS
EXTERNAL
OOMF
ROMS

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
R - rejected

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
R - rejected

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