Object that covers different options for getting a postback response when action has been completed upon a particular API-generated page.

ParameterTypeDescription
enableClientSidePostBackBooleanDefaults to True. Use only if presenting ClientPay page within iframe. If True, will send a windows.post message to parent window with full response object.
clientSideReturnAddressStringIf enableClientSidePostBack is set to TRUE, then ClientPay will check to see if the clientSideReturnAddress matches the URL of the parent window. If match, client side postback occurs. If no match, nothing will be posted to parent window.
serverSideReturnAddressStringClientPay will send a server side response message to the URL provided in this field. The contents of the response are the same as the client side response.
"responseOptions": {
    "enableClientSidePostBack": true,
    "clientSideReturnAddress": "https://www.yourdomain.com",
    "serverSideReturnAddress": "https://www.yourdomain.com/endpointlisteningforpostback"
  }
Please note that when the end user submits the payment on the page, two responses are sent. The first right when the payment is initiated and the second once the payment is approved. Below is a sample of each.

Response/Message 1: Processing

{
    "requestID": "f2467932-f431-4fd6-8b7b-a8df1e499c6a",
    "status": "Processing",
    "paymentID": "",
    "success": true
}

Response/Message 2: Success

{
    "success": true,
    "requestID": "f2467932-f431-4fd6-8b7b-a8df1e499c6a",
    "paymentID": "11546095",
    "sessionID": null,
    "customerRefNumber": null,
    "paymentStatus": "Approved",
    "paymentPageUrlStatus": "Completed",
    "paymentDate": "2020-05-01T09:27:10.7631475-05:00",
    "paymentDateUtc": "2020-05-01T14:27:10.7631475Z",
    "paymentMethodType": 0,
    "statusByType": 0,
    "paymentAmount": 2200,
    "paymentTaxAmount": 0,
    "surchargeAmount": 0,
    "paymentPageUrl": "https://app.clientpay.com/app/api/#/invoicePaymentPage/f2467932-f431-4fd6-8b7b-a8df1e499c6a",
    "paymentItems": [
        {
            "itemId": 0,
            "sku": "12345",
            "productName": "Jane Doe",
            "paymentAmount": 1500,
            "paymentTaxAmount": 0,
            "clientId": "10001",
            "clientName": "Jane Doe",
            "invoiceId": 36869,
            "invoiceNumber": "12345",
            "orderNumber": "12345",
            "description": "Payment API Invoice Nbr: 12345",
            "quantity": 1,
            "amountRefunded": 0,
            "amountVoided": 0,
            "isRefund": false,
            "isVoid": false
        },
        {
            "itemId": 0,
            "sku": "23456",
            "productName": "Jane Doe",
            "paymentAmount": 700,
            "paymentTaxAmount": 0,
            "clientId": "10001",
            "clientName": "Jane Doe",
            "invoiceId": 36870,
            "invoiceNumber": "23456",
            "orderNumber": "23456",
            "description": "Payment API Invoice Nbr: 23456",
            "quantity": 1,
            "amountRefunded": 0,
            "amountVoided": 0,
            "isRefund": false,
            "isVoid": false
        }
    ],
    "payer": null,
    "cardInfo": {
        "cardNumberMasked": "****2226",
        "expirationDateMonth": 12,
        "expirationDateYear": 2021,
        "cardBrand": "MasterCard",
        "zipCode": null
    },
    "checkInfo": null,
    "errorMessage": ""
}