{
  "openapi": "3.1.0",
  "info": {
    "title": "UpGate API documentation",
    "description": "UpGate is a world-class payment orchestration platform. \nOur mission is to simplify payments and make it easier for merchants to reach global customers. \nWe use the latest technologies to help you achieve better conversions and global user monetization.\n",
    "version": "1.2",
    "termsOfService": "https://upgate.com/terms",
    "contact": {
      "email": "sales@upgate.com",
      "url": "https://upgate.com"
    }
  },
  "security": [
    {
      "X-Api-Key": []
    }
  ],
  "servers": [
    {
      "url": "https://api.sandbox.upgate.com/v1",
      "description": "Sandbox UpGate API"
    }
  ],
  "tags": [
    {
      "name": "Changelog",
      "description": "<div>\n  <h3 class=\"md\">[1.1.60] - 2026-03-02</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New response code '2911 COF Consent not found'</li></ul>\n\n  <h3 class=\"md\">[1.1.59] - 2026-02-24</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New response code '2914 Processor timeout'</li></ul>\n\n  <h3 class=\"md\">[1.1.58] - 2026-02-17</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New response code '2151 Refund rejected by processor'</li></ul>\n\n  <h3 class=\"md\">[1.1.57] - 2026-02-17</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New payment type RECURRING_REBILL </li></ul>\n\n  <h3 class=\"md\">[1.1.56] - 2026-02-12</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New payment methods PAYATTITUDE, QRPH and VIETQR</li></ul>\n\n  <h3 class=\"md\">[1.1.55] - 2026-02-03</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New field processor_response_transaction_amount to postback transaction details</li></ul>\n  <ul><li>New field processor_response_base_amount to postback transaction details</li></ul>\n\n  <h3 class=\"md\">[1.1.54] - 2026-02-02</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New field cof_consent_skipped to postback transaction details</li></ul>\n\n  <h3 class=\"md\">[1.1.53] - 2026-01-12</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>New field last_transacion_id to subscription payment</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.52] - 2026-01-02</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New response code '2910 Routing rule not found'</li></ul>\n\n  <h3 class=\"md\">[1.1.51] - 2025-12-24</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>New fields transaction_tax_exempt_amount to postback payment</li>\n    <li>New fields transaction_tax_exempt_amount to postback subscription</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.50] - 2025-12-09</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New field rrn to postback transaction details</li></ul>\n  <ul><li>New field payment_method_reference_type to postback transaction details</li></ul>\n  <ul><li>New field payment_method_reference_number to postback transaction details</li></ul>\n\n  <h3 class=\"md\">[1.1.49] - 2025-12-08</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New payment method PAY_BY_BANK_JAPAN</li></ul>\n\n  <h3 class=\"md\">[1.1.48] - 2025-11-19</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul>\n    <li>New response code added '2104 Invalid network token expiry date'</li>\n    <li>New response code added '2147 Missing network token cryptogram'</li>\n    <li>New response code added '2148 Invalid network token cryptogram'</li>\n    <li>New response code added '2149 Invalid network token ECI'</li>\n    <li>New response code added '2150 Invalid network token'</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.47] - 2025-10-09</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul>\n    <li>New refund request <a href=\"/openapi/refund-request-examples/refund_request\"> Refund transaction by id</a></li>\n    <li>Field transaction_amount has been added to data in transaction postbacks</li>\n    <li>Field transaction_currency_code has been added to data in transaction postbacks</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.46] - 2025-09-17</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New response codes added '3901 Processor Communication Error'</li></ul>\n\n  <h3 class=\"md\">[1.1.45] - 2025-09-10</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New request <a href=\"/openapi/transactions-history-requests-examples/transaction_list\"> Fetch transactions by filters</a></li></ul>\n\n  <h3 class=\"md\">[1.1.44] - 2025-08-13</h3>\n  <h4 class=\"md\">Added </h4>\n  <ul><li>New payout method BANK_TRANSFER</li></ul>\n\n  <h3 class=\"md\">[1.1.43] - 2025-08-04</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>New payment method added</li></ul>\n  <ul><li>New response codes added</li></ul>\n\n  <h3 class=\"md\">[1.1.42] - 2025-07-09</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>New payment methods added</li></ul>\n\n  <h3 class=\"md\">[1.1.41] - 2025-07-03</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>Field card_bin_country_name has been added to data in transaction postbacks</li>\n    <li>Field card_bin_country_code has been added to data in transaction postbacks</li>\n    <li>Field card_bin_type has been added to data in transaction postbacks</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.40] - 2025-07-02</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New endpoint <a href=\"/openapi/subsequent-request-examples/cit_sale_request\">cit-sale</a></li></ul>\n\n  <h3 class=\"md\">[1.1.39] - 2025-07-01</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>New payment methods added</li></ul>\n  <ul><li>FAQ updated</li></ul>\n\n  <h3 class=\"md\">[1.1.38] - 2025-06-20</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New response code '2120 Invalid amount'</li></ul>\n\n  <h3 class=\"md\">[1.1.37] - 2025-05-29</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>Add new response code group 'PENDING'</li></ul>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>Response code 1200 moved to group 'PENDING'</li></ul>\n\n  <h3 class=\"md\">[1.1.36] - 2025-05-26</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>New fields transaction_fee_amount, transaction_tax_amount, transaction_tax_type, transaction_tax_label, transaction_tax_percentage to postback payment</li>\n    <li>New fields rebill_transaction_fee_amount, rebill_transaction_fee_currency_code, rebill_transaction_tax_amount, rebill_transaction_tax_currency_code to postback products</li>\n    <li>New fields transaction_fee_amount, transaction_fee_currency_code, transaction_tax_amount, transaction_tax_currency_code, transaction_tax_type, transaction_tax_label, transaction_tax_percentage to postback subscription</li>\n    <li>New fields transaction_fee_amount, transaction_tax_amount, transaction_tax_type, transaction_tax_label, transaction_tax_percentage to response payment</li>\n    <li>New fields rebill_transaction_fee_amount, rebill_transaction_fee_currency_code, rebill_transaction_tax_amount, rebill_transaction_tax_currency_code to response products</li>\n    <li>New fields transaction_fee_amount, transaction_fee_currency_code, transaction_tax_amount, transaction_tax_currency_code, transaction_tax_type, transaction_tax_label, transaction_tax_percentage to response subscription</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.35] - 2025-05-23</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New response code '2016 Crypto address is invalid'</li></ul>\n\n  <h3 class=\"md\">[1.1.34] - 2025-05-19</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li><code>taxOverride</code> object was added to <a href=\"/openapi/sale-request-examples/checkout_request\">Checkout request</a></li></ul>\n\n  <h3 class=\"md\">[1.1.33] - 2025-04-25</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New response code '2908 Payment token is not valid'</li></ul>\n\n  <h3 class=\"md\">[1.1.32] - 2025-04-14</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New payment methods added</li></ul>\n\n  <h3 class=\"md\">[1.1.31] - 2025-04-03</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New fields rebill_transaction_amount, rebill_transaction_currency_code to transaction product postback & response</li></ul>\n\n  <h3 class=\"md\">[1.1.30] - 2025-04-07</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New payment methods added</li></ul>\n\n  <h3 class=\"md\">[1.1.29] - 2025-03-05</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New field customer_selected_country_code to postback payment details</li></ul>\n\n  <h3 class=\"md\">[1.1.28] - 2025-02-24</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New transaction types: RDR and RDR_REVERSAL</li></ul>\n\n  <h3 class=\"md\">[1.1.27] - 2025-02-17</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>New fields customer_phone_number, customer_email, customer_first_name, customer_last_name, payment_token_type to postback payment details</li>\n    <li>New fields processor_response_text, cascade_attempt, has_been_cascaded to postback transaction details</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.26] - 2025-01-28</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New response code '2907 Payment type not supported for payment method'</li></ul>\n\n  <h3 class=\"md\">[1.1.25] - 2025-01-27</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>Updated the page structure</li></ul>\n\n  <h3 class=\"md\">[1.1.24] - 2025-01-15</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li><code>paymentFormOverride</code> object was added to <a href=\"/openapi/sale-request-examples/checkout_request\">Checkout request</a></li>\n    <li>Override theme <a href=\"/openapi/override-theme\">chapter</a></li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.23] - 2024-12-15</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>New response code '2309 Customer blacklisted'</li></ul>\n\n  <h3 class=\"md\">[1.1.22] - 2024-11-26</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>Field version has been added to data in transaction postbacks</li>\n    <li>Field version has been added to data in subscription postbacks</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.21] - 2024-10-16</h3>\n  <h4 class=\"md\">Removed</h4>\n  <ul>\n    <li>Payment detail card_token_id has been removed from data.transactions.payment_details in postbacks</li>\n    <li>Payment detail card_token_id has been removed from data.transactions.payment_details in response to synchronous mit-sale and mit-authorize</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.20] - 2024-10-03</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul>\n    <li>Field <strong>payment_token_id</strong> as a required for <a href=\"/openapi/subsequent-request-examples/mit_sale_request\">MIT Sale Request</a> and <a href=\"/openapi/subsequent-request-examples/mit_authorize_request\">MIT Authorize Request</a></li>\n    <li>Field <strong>methods</strong> as an optional field for <a href=\"/openapi/sale-request-examples/checkout_request\">Checkout Request</a></li>\n    <li>Field <strong>shop_name</strong> max length from 64 to 128 characters in <a href=\"/openapi/sale-request-examples/checkout_request\">Checkout Request</a></li>\n    <li>Field <strong>merchant_product_id</strong> max length from 64 to 128 characters in <a href=\"/openapi/sale-request-examples/checkout_request\">Checkout Request</a></li>\n  </ul>\n  <h4 class=\"md\">Updated</h4>\n  <ul>\n    <li><a href=\"/openapi/introduction/postback-ip-addresses\">Postback IP addresses</a></li>\n    <li><a href=\"/openapi/introduction/constants/response-codes\">Response codes</a></li>\n    <li><a href=\"/openapi/introduction/alternative-payment-methods-(apm)/support-payment-methods\">Supported APM methods</a></li>\n    <li><a href=\"/openapi/introduction/card-flow/supported-payment-methods\">Supported card payment methods</a></li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.19] - 2024-09-17</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul>\n    <li>Changed max length for field <strong>success_url</strong> from 2048 to 512</li>\n    <li>Changed max length for field <strong>failure_url</strong> from 2048 o 512</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.18] - 2024-07-23</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>Added request subscription by transaction ID</li></ul>\n\n  <h3 class=\"md\">[1.1.17] - 2024-04-12</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>Added Subscription state request by subscription id</li></ul>\n\n  <h3 class=\"md\">[1.1.16] - 2024-04-10</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>For callback added fields <strong>transaction_amount</strong>, <strong>transaction_currency_code</strong> and <strong>product_transaction_price</strong></li></ul>\n\n  <h3 class=\"md\">[1.1.15] - 2024-04-04</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>Update response codes</li></ul>\n\n  <h3 class=\"md\">[1.1.14] - 2024-02-20</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>Added Direct payment flow section</li>\n    <li>Added Checkout flow section</li>\n    <li>Added Checkout request examples</li>\n    <li>Added description of Embedded flow for Checkout</li>\n    <li>Added new APM payment methods</li>\n  </ul>\n\n  <h3 class=\"md\">[1.1.13] - 2023-12-12</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul>\n    <li>Added fields <strong>shop_name</strong> and <strong>shop_url</strong></li>\n    <li>For subscription added fields <strong>retry_at</strong>, <strong>retry_count</strong> and <strong>created_at</strong></li>\n    <li>Added new APM payment methods</li>\n  </ul>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>Update response codes</li></ul>\n\n  <h3 class=\"md\">[1.1.12] - 2023-09-05</h3>\n  <h4 class=\"md\">Added</h4>\n  <ul><li>Create token endpoint</li></ul>\n  <h4 class=\"md\">Changed</h4>\n  <ul><li>Update response codes</li></ul>\n\n  <h3 class=\"md\">[1.1.11] - 2023-03-05</h3>\n  <h4 class=\"md\">Changed</h4>\n  <ul>\n    <li>For subscription renamed field <strong>customer_id</strong> to <strong>merchant_customer_id</strong></li>\n    <li>For subscription renamed field <strong>is_enabled</strong> to <strong>is_rebill_enabled</strong></li>\n    <li>Changed max length for field <strong>success_url</strong> from 64 to 2048</li>\n    <li>Changed max length for field <strong>failure_url</strong> from 64 to 2048</li>\n    <li>Changed max length for field <strong>email</strong> from 64 to 320</li>\n    <li>Changed that the amount for Authorize can be 0</li>\n  </ul>\n  <h4 class=\"md\">Removed</h4>\n  <ul><li>Required header X-Merchant-ID from all requests</li></ul>\n</div>"
    },
    {
      "name": "Introduction",
      "description": "## Merchant callback URL\n\nURL for callback's (postback's) should be set with\nthe merchant account (during the registration) & can be\nupdated in any time using admin panel\n\n## Domains\n\n| environment | domain                 |\n|-------------|------------------------|\n| Sandbox     | api.sandbox.upgate.com |\n| Prod        | api.upgate.com         |\n\n## Postback IP addresses\n\n| production     | sandbox        |\n|----------------|----------------|\n| 18.195.228.88  | 35.159.56.107  |\n| 3.68.255.126   | 18.153.214.226 |\n| 3.127.95.240   | 18.194.246.210 |\n| 18.198.146.231 | 52.28.150.254  |\n\n# Constants\n\n## Transaction status\n\n| status  | description                                             |\n|---------|---------------------------------------------------------|\n| SUCCESS | Transaction completed success                           |\n| PENDING | Transaction is awaiting final status from the processor |\n| DECLINE | Transaction declined by some reason                     |\n| ERROR   | Some error were produced during the process             |\n\n## Transaction type\n\n| status              |\n|---------------------|\n| SALE                |\n| AUTHORIZE           |\n| THREE_DS            |\n| TOKEN               |\n| PAYOUT              |\n| REFUND              |\n| VOID                |\n| FRAUD_ALERT         |\n| CHARGEBACK          |\n| CHARGEBACK_REVERSAL |\n| RDR                 |\n| RDR_REVERSAL        |\n\n## Response Codes\n\n| code | message                                                     |\n|------|-------------------------------------------------------------|\n| 1000 | Success                                                     |\n| 1200 | Pending                                                     |\n| 1300 | 3DS verification successful (challenged)                    |\n| 1301 | 3DS verification successful (frictionless)                  |\n| 1302 | 3DS verification attempted                                  |\n| 1320 | 3DS verification denied                                     |\n| 1321 | 3DS could not be performed                                  |\n| 1322 | 3DS rejected by issuer                                      |\n| 1323 | 3DS invalid cardholder account number                       |\n| 1324 | 3DS version not supported                                   |\n| 1325 | 3DS timeout                                                 |\n| 1331 | 3DS authentication failed                                   |\n| 1332 | 3DS device not recognized                                   |\n| 1333 | 3DS not supported by device                                 |\n| 1334 | 3DS frequency limit exceeded                                |\n| 1335 | 3DS expired card                                            |\n| 1336 | 3DS card validation fail                                    |\n| 1337 | 3DS invalid transaction                                     |\n| 1338 | 3DS card BIN not enrolled                                   |\n| 1339 | 3DS general security violation                              |\n| 1340 | 3DS stolen card                                             |\n| 1341 | 3DS suspicious transaction                                  |\n| 1342 | 3DS transaction restricted                                  |\n| 1343 | 3DS card not enrolled                                       |\n| 1344 | 3DS user timeout                                            |\n| 1345 | 3DS low confidence                                          |\n| 1346 | 3DS medium confidence                                       |\n| 1347 | 3DS high confidence                                         |\n| 1348 | 3DS very high confidence                                    |\n| 1349 | 3DS ACS max challenges                                      |\n| 1350 | 3DS request ACS doesn’t support                             |\n| 1352 | 3DS processing error                                        |\n| 1356 | 3DS attempt not performed                                   |\n| 1390 | 3DS integration error                                       |\n| 1400 | 3DS is required                                             |\n| 2000 | Decline                                                     |\n| 2001 | Refer to card issuer                                        |\n| 2002 | Do not honor                                                |\n| 2003 | Bank decline                                                |\n| 2004 | Insufficient funds                                          |\n| 2005 | Card not supported                                          |\n| 2006 | Restricted card                                             |\n| 2007 | Over limit                                                  |\n| 2008 | Merchant limit exceeded                                     |\n| 2009 | Invalid transaction                                         |\n| 2010 | Duplicate transaction                                       |\n| 2011 | transaction has already chargeback                          |\n| 2012 | Crypto transaction decline                                  |\n| 2013 | Crypto insufficient funds                                   |\n| 2014 | Crypto smart contract insufficient funds                    |\n| 2015 | Crypto transaction replaced                                 |\n| 2016 | Crypto address is invalid                                   |\n| 2101 | Invalid CVV or expiry date                                  |\n| 2102 | CVV missing                                                 |\n| 2103 | Invalid expiry date                                         |\n| 2104 | Invalid network token expiry date                           |\n| 2120 | Invalid amount                                              |\n| 2130 | 3DS denied for risk reasons                                 |\n| 2131 | 3DS could not be performed                                  |\n| 2132 | 3DS authentication failed                                   |\n| 2133 | 3DS timeout                                                 |\n| 2134 | 3DS stolen card                                             |\n| 2135 | 3DS expired card                                            |\n| 2136 | 3DS invalid cardholder account number                       |\n| 2137 | Invalid or unsupported 3DS transaction                      |\n| 2138 | 3DS SCA required                                            |\n| 2139 | 3DS integration error                                       |\n| 2140 | Low value rejected                                          |\n| 2141 | Incorrect card data                                         |\n| 2142 | Incorrect data                                              |\n| 2143 | Missing parameters                                          |\n| 2144 | 3DS version not supported                                   |\n| 2145 | Card or BIN not enrolled in 3DS                             |\n| 2146 | 3DS ACS has reached max challenge limit                     |\n| 2147 | Missing network token cryptogram                            |\n| 2148 | Invalid network token cryptogram                            |\n| 2149 | Invalid network token ECI                                   |\n| 2150 | Invalid network token                                       |\n| 2151 | Refund rejected by processor                                |\n| 2200 | Pick up card                                                |\n| 2201 | Pick up card (stolen or fraud)                              |\n| 2202 | Expired card                                                |\n| 2203 | Unsupported card type                                       |\n| 2204 | No such issuer                                              |\n| 2205 | Decline by Card Scheme Advise Code                          |\n| 2299 | Closed account                                              |\n| 2300 | Processor risk                                              |\n| 2301 | Velocity limit exceeded                                     |\n| 2302 | Suspected Fraud                                             |\n| 2309 | Customer blacklisted                                        |\n| 2310 | Card blacklisted                                            |\n| 2311 | IP blacklist                                                |\n| 2312 | Email blacklist                                             |\n| 2313 | BIN blacklist                                               |\n| 2314 | Country blacklist                                           |\n| 2315 | Fraud rule                                                  |\n| 2900 | System malfunction                                          |\n| 2901 | Integration error                                           |\n| 2902 | Processor not supported feature                             |\n| 2903 | Processor malfunction                                       |\n| 2904 | Timeout                                                     |\n| 2905 | Refund is not supported for this method or transaction type |\n| 2906 | Missing payment token                                       |\n| 2907 | Payment type not supported for payment method               |\n| 2908 | Payment token is not valid                                  |\n| 2909 | Processor not supported request                             |\n| 2910 | Routing rule not found                                      |\n| 2911 | COF Consent not found                                       |\n| 2914 | Processor timeout                                           |\n| 3000 | Unknown error                                               |\n| 3901 | Processor Communication Error                               |\n\n# Card flow\n\n## Supported Payment methods\n\n| name       |\n|------------|\n| CARD       |\n| APPLE_PAY  |\n| GOOGLE_PAY |\n\n## Supported card schemes\n\n| name             |\n|------------------|\n| VISA             |\n| Mastercard       |\n| Maestro          |\n| Discover         |\n| Diners           |\n| UnionPay         |\n| RuPay            |\n| American Express |\n| JCB              |\n\n## Process diagram\n\n{% img src=\"/assets/diagram.svg\" alt=\"Process diagram\" /%}\n\n# Alternative payment methods (APM)\n\n## Support payment methods\n\n| name                  |\n|-----------------------|\n| AIRCASH               |\n| AIRTEL                |\n| ALIPAY                |\n| ALIPAY_PLUS           |\n| BANK_APP              |\n| BANK_TRANSFER         |\n| BANCONTACT            |\n| BKASH                 |\n| BINANCE_PAY           |\n| BLIK                  |\n| BOLETO                |\n| CARDEXTERNAL          |\n| CODI                  |\n| CRYPTO                |\n| DANA                  |\n| EFECTY                |\n| EPS                   |\n| GIROPAY               |\n| IDEAL                 |\n| INSTANT_BANK_TRANSFER |\n| INTERAC               |\n| KAKAO_PAY             |\n| KHIPU                 |\n| LINKAJA               |\n| LOCAL_PAYMENT_METHODS |\n| LOTERICA              |\n| MACH                  |\n| MBWAY                 |\n| MPESA                 |\n| MULTIBANCO            |\n| MYBANK                |\n| NAGAD                 |\n| NAVERPAY              |\n| NAVER_PAY             |\n| NUPAY                 |\n| OVO                   |\n| OXXOPAY               |\n| PAGOEFECTIVO          |\n| PAY_BY_BANK           |\n| PAY_BY_BANK_JAPAN     |\n| PAY_BY_CASH           |\n| PAPARA                |\n| PAYATTITUDE           |\n| PAYCO                 |\n| PAYCONIQ              |\n| PAYPAL                |\n| PAXUM                 |\n| PICPAY                |\n| PIX                   |\n| PSE                   |\n| QRIS                  |\n| QRPH                  |\n| SATISPAY              |\n| SEPA                  |\n| SEPA_INSTANT          |\n| SHOPEEPAY             |\n| SOFORT                |\n| SPEI                  |\n| TODITO                |\n| TOSS                  |\n| UPI                   |\n| VIETQR                |\n| WECHAT                |\n| WIRE_TRANSFER         |\n\n## Process diagram\n\n{% img src=\"/assets/apm-diagram.svg\" alt=\"APM process diagram\" /%}\n"
    },
    {
      "name": "Demo payment page",
      "description": "[Checkout Overview](https://checkout.upgate.com/demo)"
    },
    {
      "name": "Embedded flow",
      "description": "## Overview\n\nEmbedded components for checkout refer to a collection of ready-made user interface elements designed to facilitate the construction of your checkout process..\n\n## Usage example\n\n### Set up the server:\n\n- Install the packages (axios, express in example code) and import them in your code.\n\n```\nnpm install axios express\n```\n\n- Add an endpoint on your server that creates a checkout.\n  Setup checkout parameters and set `success_url` and `failure_url` for redirect customer.\n  Create `index.js` file with code bellow:\n\n```javascript index.js\nconst express = require(\"express\");\nconst axios = require(\"axios\");\nconst PORT = 5000;\nconst YOUR_DOMAIN = `http://localhost:${PORT}`;\nconst API_KEY = \"X-api-key\";\nconst app = express();\napp.use(express.static(\"public\"));\n\napp.post(\"/checkout\", async (req, res) => {\n  const result = await axios.post(\n    \"https://api.sandbox.upgate.com/v1/checkout\",\n    {\n      payment_data: {\n        ui_mode: \"EMBEDDED\",\n        type: \"SALE\",\n        methods: [\"CARD\", \"GIROPAY\", \"MBWAY\"],\n        amount: \"20.03\",\n        currency_code: \"EUR\",\n      },\n      customer: {\n        merchant_customer_id: \"test\",\n      },\n      callback: {\n        success_url: `${YOUR_DOMAIN}/index.html?success=true`,\n        failure_url: `${YOUR_DOMAIN}/index.html`,\n      },\n      products: [\n        {\n          type: \"SALE\",\n          price: 55,\n          name: \"Test product name for SALE\",\n          description: \"Test product description for SALE\",\n        },\n      ],\n    },\n    {\n      headers: {\n        \"X-Api-Key\": API_KEY,\n        \"Content-Type\": \"application/json\",\n      },\n    }\n  );\n  res.json({ url: result.data.session.redirect_url });\n});\napp.listen(PORT, () => console.log(`Running on port ${YOUR_DOMAIN}`));\n```\n\n<br/>\n\n### Build a checkout page on the client\n\n- #### Load Upgate.js\n  Leverage Upgate.js to maintain PCI compliance by ensuring that payment information is transmitted directly to Upgate without accessing your server.\n  To stay compliant, consistently load Upgate.js from js.upgate.com.\n  Avoid incorporating the script into a bundle or hosting it independently.\n  Create `./public` folder and create `index.html` with code below:\n\n```html index.html\n<html lang=\"en\">\n  <head>\n    <script type=\"module\" src=\"https://js.upgate.com/upgate.js\"></script>\n    <script type=\"module\" src=\"/main.js\"></script>\n    <style>\n      body {\n        min-height: 100vh;\n        justify-content: center;\n        width: 350px;\n        margin: 0 auto;\n        display: flex;\n        flex-direction: column;\n        gap: 32px;\n      }\n    </style>\n  </head>\n  <body>\n    <div id=\"payment\"></div>\n    <button id=\"buy\" onclick=\"submit()\">Buy</button>\n  </body>\n</html>\n```\n\n<br/>\n\n- #### Mount Checkout element\n  Upon loading your checkout page, promptly initiate a request to the endpoint on your server to generate a new Checkout.\n  The URL provided by your endpoint is utilized for rendering the embedded checkout element.\n  Create a CheckoutElement and mount it to the element `<div id=\"payment\">` in your payment form.\n  This incorporates an iframe containing a dynamic form that showcases configured payment method types available from the Checkout, enabling your customer to choose a payment method.\n  The form autonomously gathers the relevant payment details for the chosen payment method type.\n  Create `main.js` file with code below in `./public` folder:\n\n```javascript main.js\nlet upgate;\nconst elementId = \"payment\";\nasync function mount() {\n  const { url } = await fetch(\"/checkout\", { method: \"POST\" }).then((res) =>\n    res.json()\n  );\n  upgate.mountPaymentElement(elementId, url);\n  upgate.onResult(elementId, console.log); // use this method for handle result\n}\nfunction submit() {\n  upgate.submit(elementId);\n}\nwindow.onload = async () => {\n  upgate = new Upgate();\n  mount();\n};\n```\n\nInvoke `submit('%elementId%')`, providing the CheckoutElement and a `success_url` to specify the destination where Upgate should redirect the user upon completing the payment.\nFor payments necessitating authentication, Upgate presents a modal for 3D Secure authentication or directs the customer to an authentication page, contingent on the payment method utilized.\nFollowing the completion of the authentication process, the customer is redirected to the specified `success_url`.\n\n- #### Handle response after submit\n  Pass callback parameter in `upgate.onResult` function for handle `TResult` type object.\n\n```typescript\nexport type TResult = {\n  success: boolean;\n  url?: string;\n  error_message?: string;\n  error_code?: number;\n  retry?: boolean;\n};\n```\n\nAll types of Upgate.js you can find in [index.d.ts](https://js.upgate.com/index.d.ts).\n\n- If `success: true` - payment processed successful.\n- If `success: false; retry: false` - payment was not processed, and form must be unmounted with `unmountPaymentElement('payment')`.\n- If `retry: true; success: false` you can submit same form again (form not valid for example).\n- If payment was failed user will be redirected to `failure_url` with query parameters `?error_code=&error_message=`\n\n<br/>\n\n### Config payment form\n\nIn mountPaymentElement function you can pass third config parameter.\n\n```typescript\ndeclare type TConfig = Partial<{\n  theme?: \"LIGHT\" | \"DARK\" | \"BROWSER\";\n  onTimeout?: () => void;\n}>;\n```\n\nProperty `theme` overrides theme type defined in back office, and you can call embedded form with dynamically changed theme.\nCallback `onTimeout` will call when form time limit exceed. After timeout you need to remount component.\nTheme type `BROWSER` renders theme depending on system theme.\n\n```javascript\nupgate.mountPaymentElement(\"%elementId%\", \"%checkoutUrl%\", { theme: \"LIGHT\" });\n```\n\n## Checkout form timeout\n\nAfter 15 minutes, a timeout will occur in the checkout process. The handling differs based on whether the form is embedded or non-embedded:\n\n- For non-embedded form, when the checkout session times out, the user will be redirected to the failure URL.\n- For embedded form for handle form timeout you can use timeout callback in mount config:\n\n```javascript\nupgate.mountPaymentElement(\"%elementId%\", \"%checkoutUrl%\", {\n  theme: \"LIGHT\",\n  onTimeout: handleTimeOutFn,\n});\n```\n\nOr call `onTimeout` method after mount with timeout handler function as a parameter:\n\n```javascript\nupgate.onTimeout(\"%elementId%\", handleTimeOutFn);\n```\n\nWhen timeout handler was called you need to remount payment element.\n\n## Decline Code Mapping\n\nWhen using the embedded form, the display of errors for customers is managed by the merchant. The table below provides examples of the text we, as the UpGate provider, recommend using for each code to enhance customers experience.\n\n<br/>\n\n### Table of Decline Codes and Messages\n\n| code                                                       | message                                                                                      |\n| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| 2000                                                       | Your transaction was declined. Please try again or use another card.                         |\n| 2001, 2002, 2003                                           | Your transaction was declined by your bank. Please try again or use another card.            |\n| 2004                                                       | Your card has insufficient funds. Please try again or use another card.                      |\n| 2005, 2006, 2203                                           | Your card is not supported. Please try again or use another card.                            |\n| 2007                                                       | Your card has exceeded its limit. Please check your card and try again or use another card.  |\n| 2008, 2009, 2010, 2900, 2901                               | An error occurred while processing your card. Try again in a little bit.                     |\n| 2101, 2102                                                 | Your card's security code is incorrect. Please try again or use another card.                |\n| 2130, 2131, 2132, 2138, 2139, 2140, 1320, 1321, 1322, 1390 | Your 3-D Secure authentication failed. Please try again or use another card.                 |\n| 2202                                                       | Your card has expired. Please try again or use another card.                                 |\n| 2204, 2299                                                 | Your card number is invalid. Please check the card number and try again or use another card. |\n| other codes                                                | Your card has been declined. Please try again or use another card.                           |\n"
    },
    {
      "name": "Google Pay",
      "x-id": "Google Pay",
      "x-displayName": "Google Pay™",
      "description": "## Overview the Google Pay™\n\nGoogle Pay™ is a convenient and secure payment method that allows your customers to quickly and easily make purchases on your website.\n\nTo integrate Google Pay™  into Checkout form, we follow the guidelines specified in [Google Pay Android brand guidelines](https://developers.google.com/pay/api/android/guides/brand-guidelines) or [Google Pay Web brand guidelines](https://developers.google.com/pay/api/web/guides/brand-guidelines).\n\n<br/>\n\n## Setup the Google Pay™\n\nTo setup Google Pay™ into your website, follow these steps:\n\n1. Include the Google Pay™ method in the request as the payment method\n\n```json\n{\n  \"payment_data\": {\n    \"merchant_payment_id\": \"P_001\",\n    \"methods\": [\"CARD\", \"GOOGLE_PAY\"],\n    \"type\": \"SALE\",\n    \"amount\": 9.99,\n    \"currency_code\": \"EUR\"\n  },\n  \"customer\": {\n    \"merchant_customer_id\": \"U_001\"\n  },\n  \"callback\": {\n    \"success_url\": \"https://example.com/success\",\n    \"failure_url\": \"https://example.com/failure\"\n  },\n  \"products\": [\n    {\n      \"type\": \"SALE\",\n      \"name\": \"Test product name\",\n      \"description\": \"Test product description\",\n      \"price\": 9.99\n    }\n  ]\n}\n```\n\n2. Configure Transaction Routing for Google Pay™ method, specify card schemes, currency and processor\n\n3. Add information to your site that you support the Google Pay™ payment method and that you accept the terms defined in the [Google Pay API Terms of Service](https://payments.developers.google.com/terms/sellertos).\n\n## Additional Guidelines and Requirements\n\n### Understand Google Pay Integration:\n\n- Familiarize yourself with the [Google Pay overview for websites documentation](https://developers.google.com/pay/api/web/overview?authuser=2).\n\n### Integration Checklist for Web:\n\n- Follow the [Google Pay Integration Checklist](https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist?authuser=2) to ensure all integration steps are covered.\n- Check the [Google Pay Developer Integration Checklist](https://developers.google.com/pay/api/processors/guides/test-and-validation/developer-documentation-checklist?hl=en) for additional details.\n\n### Brand Guidelines:\n\n- Any references or referrals to Google Pay must comply with the [brand guidelines for websites](https://developers.google.com/pay/api/web/guides/brand-guidelines?authuser=2).\n\n### Configure Gateway Settings:\n\n- Use the `\"upgate\"` value for the `gateway` property and enter your unique `gatewayMerchantId`. To obtain your `gatewayMerchantId`, contact our team at info@upgate.com. If you would like to use your own Google merchant id, you need to register for a merchant id at Google, refer to [setup Google Account guide](https://developers.google.com/pay/api/web/guides/setup) and send it to you team at info@upgate.com.\n\n### Billing Address Requirements:\n\n- The customer billing address does not need to be sent if you use the UpGate Checkout page.\n\n### Accepted Payment Card Types:\n\n- Google Pay outlines accepted payment card types in the [Google Pay Tutorial](https://developers.google.com/pay/api/web/guides/tutorial).\n\n### Supported Card Networks:\n\n- Depending on the processor, the international card networks Visa, MasterCard, Diners and American Express are supported.\n\n### 3DS Authentication:\n\n- Google Pay integration via the UpGate Checkout page supports processing with and without 3DS authentication. To use 3DS, enable 3DS for `\"PAN_ONLY\"` and contact our team at info@upgate.com.\n\n### Authorization Methods by Country of Settlement:\n\n- Default authorization methods are PAN_ONLY and 3DS (3-D Secure). For specific country requirements, contact our team at info@upgate.com."
    },
    {
      "name": "Override theme",
      "description": "## Customizing Payment Form Appearance\n\nThe payment form offers visual customization options, enabling you to align its design with your website’s style. While the overall layout of each form remains consistent, you can adjust elements like colors, fonts, borders, padding, and more.\n\n1. Begin by selecting a theme.\n2. Adjust the theme using customizable variables.\n3. If necessary, refine specific components and states through theme rules.\n\nIn a checkout request, you can override the payment form settings configured in the back office by defining the [`payment_form_override`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override) object.\n\n- [`color`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/color): This property allows you to define payment button color.\n- [`theme_type`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/theme_type): This property allows you to define theme.\n- [`theme_variables`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/theme_variables): This property enables you to override specific CSS variables to define custom styles for the payment form.\n- [`theme_rules`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/theme_rules): This property allows you to define additional custom CSS rules to further tailor the design.\n\n## Themes\n\nBegin customizing the payment form by selecting one of the available themes below:\n\n- LIGHT\n- DARK\n- BROWSER\n\nNote: `BROWSER` theme it's a automatically switch theme between `LIGHT` and `DARK` depends of system OS color scheme.\n\n## Variables\n\nThe [`theme_variables`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/theme_variables) property is used to override default CSS variables of the payment form. This allows you to quickly and easily customize specific aspects of the design. The variables option functions similarly to CSS variables. You can assign CSS values to each variable and reference them using the `var(--myVariable)` syntax. Additionally, you can use your browser’s DOM explorer to inspect the applied styles in the resulting DOM.\n\n### Commonly used variables\n\n| Variable        | Description                                            |\n| --------------- | ------------------------------------------------------ |\n| primaryColor    | Defines the primary color used across the application. |\n| backgroundColor | Background color of the component.                     |\n| formBackground  | Background color of the form.                          |\n| fontSizeBase    | Base font size.                                        |\n| fontFamily      | Font family used across the application.               |\n| loaderColor     | Color for loader.                                      |\n\n### Rest Variables\n\n| Variable                            | Description                                                |\n| ----------------------------------- | ---------------------------------------------------------- |\n| maxWidth                            | Maximum width of the container or component.               |\n| primaryColorHover                   | Primary color when hovered.                                |\n| primaryColorActive                  | Primary color when active.                                 |\n| payBtnColor                         | Color of the payment button.                               |\n| payBtnColorDisabled                 | Color of the payment button when disabled.                 |\n| payBtnFontSize                      | Font size for the payment button.                          |\n| payBtnLineHeight                    | Line height for the payment button.                        |\n| payBtnPadding                       | Padding for the payment button.                            |\n| textColor                           | Default color for text.                                    |\n| formBorderColor                     | Border color for forms.                                    |\n| formPadding                         | Padding inside forms.                                      |\n| formBorderRadius                    | Border radius for forms.                                   |\n| m_formPadding                       | Mobile-specific padding for forms.                         |\n| inputBackground                     | Background color for input fields.                         |\n| inputBorderColor                    | Border color for input fields.                             |\n| inputBorderColorHover               | Border color for input fields when hovered.                |\n| inputBorderColorFocus               | Border color for input fields when focused.                |\n| inputBorderColorError               | Border color for input fields in error state.              |\n| inputBorderWidth                    | Border width for input fields.                             |\n| inputBorderWidthHover               | Border width for input fields when hovered.                |\n| inputBorderWidthFocus               | Border width for input fields when focused.                |\n| inputBorderWidthError               | Border width for input fields in error state.              |\n| borderRadius                        | Border radius applied across components.                   |\n| inputPadding                        | Padding for input fields.                                  |\n| inputFontSize                       | Font size for input fields.                                |\n| inputLineHeight                     | Line height for input fields.                              |\n| inputFontWeight                     | Font weight for input fields.                              |\n| placeHolderColor                    | Color for placeholder text in input fields.                |\n| cardBackground                      | Background color for cards.                                |\n| cardBorderColor                     | Border color for cards.                                    |\n| cardBorderRadius                    | Border radius for cards.                                   |\n| cardPadding                         | Padding for cards.                                         |\n| cardSelectColorSelected             | Color of selected card during selection.                   |\n| inputIconColor                      | Color of icons inside input fields.                        |\n| descriptionColor                    | Color for descriptive text.                                |\n| dividerColor                        | Color of dividers or separators.                           |\n| fontSizeXl                          | Font size for extra-large text.                            |\n| fontSizeLg                          | Font size for large text.                                  |\n| fontSizeSm                          | Font size for small text.                                  |\n| fontSizeXs                          | Font size for extra-small text.                            |\n| fontSize2Xs                         | Font size for ultra-small text.                            |\n| lineHeight                          | Line height for text.                                      |\n| fontCss                             | Custom CSS applied to fonts.                               |\n| lineHeightXl                        | Line height for extra-large text.                          |\n| lineHeightLg                        | Line height for large text.                                |\n| fontWeight                          | General font weight for text.                              |\n| buttonPadding                       | Padding for buttons.                                       |\n| buttonFontWeight                    | Font weight for button text.                               |\n| buttonBackground                    | Background color for buttons.                              |\n| buttonFontSize                      | Font size for buttons.                                     |\n| buttonLineHeight                    | Line height for button text.                               |\n| buttonColor                         | Text color for buttons.                                    |\n| buttonBackgroundHover               | Background color for buttons when hovered.                 |\n| buttonColorHover                    | Text color for buttons when hovered.                       |\n| buttonBackgroundActive              | Background color for buttons when active.                  |\n| buttonColorActive                   | Text color for buttons when active.                        |\n| linkColor                           | Color for hyperlinks.                                      |\n| fontWeightLight                     | Font weight for lighter text styles.                       |\n| fontWeightMedium                    | Font weight for medium text styles.                        |\n| fontWeightBold                      | Font weight for bold text styles.                          |\n| labelFontSize                       | Font size for labels.                                      |\n| labelLineHeight                     | Line height for labels.                                    |\n| labelFontWeight                     | Font weight for labels.                                    |\n| labelColor                          | Color for labels.                                          |\n| errorColor                          | Color for error messages or indicators.                    |\n| selectBackgroundHover               | Background color for select elements when hovered.         |\n| selectBackgroundActive              | Background color for select elements when active.          |\n| cardSelectDeleteColor               | Color for delete option in card selection.                 |\n| transitionDuration                  | Duration for transition effects.                           |\n| transitionStyle                     | Style for transition effects.                              |\n| buttonOutlineColor                  | Outline color for buttons.                                 |\n| buttonOutlineBorderColor            | Border color for button outlines.                          |\n| buttonOutlineBorderWidth            | Border width for button outlines.                          |\n| buttonOutlineBackgroundHover        | Background color for outlined buttons when hovered.        |\n| buttonOutlineBackgroundActive       | Background color for outlined buttons when active.         |\n| tabBorderRadius                     | Border radius for tabs.                                    |\n| tabPadding                          | Padding for tabs.                                          |\n| tabHeight                           | Height for tabs.                                           |\n| tabColor                            | Text color for tabs.                                       |\n| tabBackground                       | Background color for tabs.                                 |\n| tabBorderColor                      | Border color for tabs.                                     |\n| tabBorderColorActive                | Border color for tabs when active.                         |\n| tabBackgroundActive                 | Background color for tabs when active.                     |\n| tabColorSelected                    | Text color for selected tabs.                              |\n| tabBackgroundSelected               | Background color for selected tabs.                        |\n| tabBorderColorSelected              | Border color for selected tabs.                            |\n| tabBorderColorHover                 | Border color for tabs when hovered.                        |\n| tabBackgroundHover                  | Background color for tabs when hovered.                    |\n| tabBorderWidth                      | Border width for tabs.                                     |\n| tabBorderWidthHover                 | Border width for tabs when hovered.                        |\n| tabBorderWidthActive                | Border width for tabs when active.                         |\n| tabBorderWidthSelected              | Border width for selected tabs.                            |\n| tabFontWeight                       | Font weight for tabs.                                      |\n| tabFontWeightSelected               | Font weight for selected tabs.                             |\n| languageSelectColor                 | Color for language selection dropdown.                     |\n| subscriptionColor                   | Color used for subscription-related text or buttons.       |\n| subscriptionFontSize                | Font size for subscription-related text.                   |\n| subscriptionLineHeight              | Line height for subscription-related text.                 |\n| subscriptionFontWeight              | Font weight for subscription-related text.                 |\n| buttonColorDisabled                 | Text color for disabled buttons.                           |\n| buttonBackgroundDisabled            | Background color for disabled buttons.                     |\n| footerColor                         | Color of text in the footer.                               |\n| footerIconColor                     | Color of icons in the footer.                              |\n| footerFontWeight                    | Font weight for text in the footer.                        |\n| footerFontSize                      | Font size for text in the footer.                          |\n| footerLineHeight                    | Line height for text in the footer.                        |\n| footerPadding                       | Padding for the footer.                                    |\n| m_footerPadding                     | Mobile-specific padding for the footer.                    |\n| badgeFontSize                       | Font size for badges.                                      |\n| badgeBackground                     | Background color for badges.                               |\n| badgeColor                          | Text color for badges.                                     |\n| methodIconWidth                     | Width for payment method icons.                            |\n| methodIconHeight                    | Height for payment method icons.                           |\n| iconSize                            | General size for icons.                                    |\n| searchInputBackground               | Background color for search inputs.                        |\n| searchInputBackgroundHover          | Background color for search inputs when hovered.           |\n| messageInfoColor                    | Text color for informational messages.                     |\n| messageInfoBorderColor              | Border color for informational messages.                   |\n| messageInfoBackground               | Background color for informational messages.               |\n| messageErrorColor                   | Text color for error messages.                             |\n| messageErrorBorderColor             | Border color for error messages.                           |\n| messageErrorBackground              | Background color for error messages.                       |\n| currencySelectBackground            | Background color for the currency select.                  |\n| currencySelectBorderColor           | Border color for the currency select.                      |\n| currencySelectIndicatorBackground   | Background color for the indicator in the currency select. |\n| currencySelectIndicatorBorderRadius | Border radius for the indicator in the currency select.    |\n\n## Rules\n\nThe [`theme_rules`](/openapi/sale-request-examples/checkout_request#sale-request-examples/checkout_request/t=request&path=payment_form_override/theme_rules) option is a mapping of CSS-like selectors to CSS properties, enabling precise customization of individual components. Once you’ve defined your theme and variables, you can use these rules to seamlessly align the payment form with your website’s design.\n\nSelectors in a rule can target any public class names within the payment form, as well as supported states, pseudo-classes, and pseudo-elements associated with each class. For example, the following are valid selectors: `.form-control > input`\n"
    },
    {
      "name": "Subscription request examples",
      "x-displayName": "Examples",
      "x-id": "Subscription request examples",
      "description": " "
    },
    {
      "name": "Sale request examples",
      "x-displayName": "Example",
      "x-id": "Sale request example",
      "description": " "
    },
    {
      "name": "Subsequent requests examples",
      "x-displayName": "Example",
      "x-id": "Subsequent requests examples",
      "description": " "
    },
    {
      "name": "Transactions history requests examples",
      "x-displayName": "Example",
      "x-id": "Transactions history requests examples",
      "description": " "
    },
    {
      "name": "Refund request examples",
      "x-displayName": "Example",
      "x-id": "Refund requests examples",
      "description": " "
    },
    {
      "name": "Payout requests examples",
      "x-displayName": "Example",
      "x-id": "Payout requests examples",
      "description": " "
    },
    {
      "name": "Use cases",
      "x-displayName": "Use cases",
      "x-id": "Use cases",
      "description": "### 1. How to combine recurring transactions with a one-time extra payment\n\nFor example, you would like to have a subscription that costs 10 Euros monthly, but you would like to have a one time extra payment.\nThis can be solved by including 2 products into a [sale request](/openapi/sale-request-examples/checkout_request), one SALE product and one RECURRING product.\n\n```json\n{\n  \"payment_data\": {\n    \"merchant_payment_id\": \"P_001\",\n    \"methods\": [\"CARD\"],\n    \"type\": \"SALE\",\n    \"amount\": 25.0,\n    \"currency_code\": \"EUR\"\n  },\n  \"customer\": {\n    \"merchant_customer_id\": \"U_001\"\n  },\n  \"callback\": {\n    \"success_url\": \"https://example.com/success\",\n    \"failure_url\": \"https://example.com/failure\"\n  },\n  \"products\": [\n    {\n      \"type\": \"SALE\",\n      \"name\": \"One-time fee\",\n      \"description\": \"One-time fee\",\n      \"price\": 15.0\n    },\n    {\n      \"type\": \"SUBSCRIPTION\",\n      \"name\": \"Monthly fee\",\n      \"description\": \"Monthly fee\",\n      \"price\": 10.0,\n      \"charge\": {\n        \"value\": 30,\n        \"interval\": \"DAY\"\n      }\n    }\n  ]\n}\n```\n\n### 2. How to skip checkout form for APM methods\n\nUpGate allows you to skip the checkout form for APM methods. If all the requested information is provided in the checkout sale request, the checkout form for gathering the customer data will be skipped.\n\n- Enable the direct flow. Go to Payment Operations -> Payment Form Settings -> Checkout Form\n\n{% img src=\"/assets/faq/direct-flow.png\" alt=\"Direct flow\" /%}\n\n- Include additional_info object to your request as below in the [sale request](/openapi/sale-request-examples/checkout_request):\n\n```json\n{\n  \"payment_data\": {\n    \"merchant_payment_id\": \"P_001\",\n    \"methods\": [\"KAKAO_PAY\"],\n    \"type\": \"SALE\",\n    \"amount\": 9.99,\n    \"currency_code\": \"EUR\"\n  },\n  \"customer\": {\n    \"merchant_customer_id\": \"U_001\",\n    \"email\": \"eka@upgate.com\"\n  },\n  \"callback\": {\n    \"success_url\": \"https://example.com/success\",\n    \"failure_url\": \"https://example.com/failure\"\n  },\n  \"additional_info\": {\n    \"email\": \"eka@gmail.com\",\n    \"phone\": \"+34 611643310\",\n    \"customer_full_name\": \"EKA\"\n  },\n  \"products\": [\n    {\n      \"type\": \"SALE\",\n      \"name\": \"Test product name\",\n      \"description\": \"Test product description\",\n      \"price\": 9.99\n    }\n  ]\n}\n```\n\nPlease include the customer email address in the customer object as well, as this would be displayed in UpGate backoffice.\n\n{% img src=\"/assets/faq/info-result.png\" alt=\"Info result\" /%}\n\n### 3. Where to find a list of supported country codes?\n\nThe list of supported country codes is sourced from the official [ISO website](https://www.iso.org/obp/ui/#search/code).\n\n### 4. Where are the exchange rates sourced from?\n\nExchange rates are sourced from [here](https://currencyapi.com/).\n\n### 5. How to verify postback signatures?\n\nTo ensure the authenticity and integrity of postback requests, UpGate supports signature verification using the `X-Signature` and `X-Signature-Timestamp` headers. The signature is generated using HMAC-SHA256 based on the request body and the timestamp.\n\nYou must compute the HMAC of the string:\n\n```\n<TIMESTAMP>.<BODY>\n```\n\nusing your **signing secret**, and compare it with the `X-Signature` header. The timestamp helps prevent replay attacks.\n\nHeaders used:\n\n- `X-Signature`: Base64-encoded HMAC-SHA256 of the request payload\n- `X-Signature-Timestamp`: Unix timestamp (in seconds) used in the HMAC input\n- `X-Signing-Secret-Id`: Identifier of the secret used\n\n---\n\n{% tabs %}\n{% tab label=\"Java\" %}\n```java\nimport javax.crypto.Mac;\nimport javax.crypto.spec.SecretKeySpec;\nimport java.security.MessageDigest;\nimport java.util.Base64;\n\npublic class PostbackVerifier {\n  public static boolean verify(String body, String timestamp, String signature, String secret) throws Exception {\n    Mac mac = Mac.getInstance(\"HmacSHA256\");\n    mac.init(new SecretKeySpec(secret.getBytes(), \"HmacSHA256\"));\n    byte[] expected = mac.doFinal((timestamp + \".\" + body).getBytes());\n    byte[] actual = Base64.getDecoder().decode(signature);\n    return MessageDigest.isEqual(expected, actual);\n  }\n}\n```\n{% /tab %}\n\n{% tab label=\"Node.js\" %}\n```javascript\nconst crypto = require('crypto');\n\nfunction verify(body, timestamp, signature, secret) {\n  const hmac = crypto.createHmac('sha256', secret);\n  hmac.update(`${timestamp}.${body}`);\n  const expected = hmac.digest();\n  const actual = Buffer.from(signature, 'base64');\n  return crypto.timingSafeEqual(expected, actual);\n}\n```\n{% /tab %}\n\n{% tab label=\"Python\" %}\n```python\nimport hmac\nimport hashlib\nimport base64\n\ndef verify(body, timestamp, signature, secret):\n    message = f\"{timestamp}.{body}\".encode()\n    key = secret.encode()\n    expected = hmac.new(key, message, hashlib.sha256).digest()\n    actual = base64.b64decode(signature)\n    return hmac.compare_digest(expected, actual)\n```\n{% /tab %}\n\n{% tab label=\"PHP\" %}\n```php\nfunction verify($body, $timestamp, $signature, $secret) {\n    $data = $timestamp . \".\" . $body;\n    $expected = hash_hmac('sha256', $data, $secret, true);\n    $actual = base64_decode($signature);\n    return hash_equals($expected, $actual);\n}\n```\n{% /tab %}\n\n{% tab label=\"Go\" %}\n```go\nimport (\n  \"crypto/hmac\"\n  \"crypto/sha256\"\n  \"encoding/base64\"\n)\n\nfunc verify(body, timestamp, signature, secret string) bool {\n  mac := hmac.New(sha256.New, []byte(secret))\n  mac.Write([]byte(timestamp + \".\" + body))\n  expected := mac.Sum(nil)\n  actual, err := base64.StdEncoding.DecodeString(signature)\n  if err != nil {\n    return false\n  }\n  return hmac.Equal(expected, actual)\n}\n```\n{% /tab %}\n\n{% tab label=\"Kotlin\" %}\n```kotlin\nimport java.security.MessageDigest\nimport java.util.Base64\nimport javax.crypto.Mac\nimport javax.crypto.spec.SecretKeySpec\n\nclass PostbackVerifier {\n  fun verify(body: String, timestamp: String, signature: String, secret: String): Boolean {\n    val mac = Mac.getInstance(\"HmacSHA256\").apply {\n      init(SecretKeySpec(secret.toByteArray(), \"HmacSHA256\"))\n    }\n    val expected = mac.doFinal(\"$timestamp.$body\".toByteArray())\n    return MessageDigest.isEqual(expected, Base64.getDecoder().decode(signature))\n  }\n}\n```\n{% /tab %}\n{% /tabs %}"
    }
  ],
  "x-tagGroups": [
    {
      "name": "",
      "tags": [
        "Changelog",
        "Introduction",
        "Demo payment page"
      ]
    },
    {
      "name": "Sale request",
      "tags": [
        "Sale request examples"
      ]
    },
    {
      "name": "Subscription requests",
      "tags": [
        "Subscription request examples"
      ]
    },
    {
      "name": "Subsequent requests",
      "tags": [
        "Subsequent request examples"
      ]
    },
    {
      "name": "Transactions history requests",
      "tags": [
        "Transactions history requests examples"
      ]
    },
    {
      "name": "Refund requests",
      "tags": [
        "Refund request examples"
      ]
    },
    {
      "name": "Payout requests",
      "tags": [
        "Payout requests examples"
      ]
    },
    {
      "name": "Use cases",
      "tags": [
        "Use cases"
      ]
    },
    {
      "name": "Other",
      "tags": [
        "Google Pay",
        "Override theme",
        "Other request examples",
        "Embedded flow"
      ]
    }
  ],
  "paths": {
    "/checkout": {
      "post": {
        "tags": [
          "Sale request examples"
        ],
        "operationId": "checkout_request",
        "summary": "Sale request",
        "description": "This endpoint allows the creation of a single, one-time payment. Upon successful completion, the system will return a payment token in the callback response.\nThis token can later be used to initiate subsequent Merchant-Initiated Transactions (MIT) or Customer-Initiated Transactions (CIT) associated with the original payment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/checkoutRequest"
              },
              "examples": {
                "checkoutRequest": {
                  "$ref": "#/components/examples/checkoutRequest"
                },
                "overrideTaxCheckoutRequest": {
                  "$ref": "#/components/examples/overrideTaxCheckoutRequest"
                },
                "overrideThemeCheckoutRequest": {
                  "$ref": "#/components/examples/overrideThemeCheckoutRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/checkoutResponse"
                },
                "examples": {
                  "checkoutResponse": {
                    "$ref": "#/components/examples/checkoutResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Checkout notification",
                "operationId": "checkoutPostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successSalePostback": {
                          "$ref": "#/components/examples/successSalePostback"
                        },
                        "successSalePostbackWithTaxesAndFees": {
                          "$ref": "#/components/examples/successSalePostbackWithTaxesAndFees"
                        },
                        "successSale3dPostback": {
                          "$ref": "#/components/examples/successSale3dPostback"
                        },
                        "errorSalePostback": {
                          "$ref": "#/components/examples/errorSalePostback"
                        },
                        "success3dSecureSalePostback": {
                          "$ref": "#/components/examples/success3dSecureSalePostback"
                        },
                        "decline3dSecureSalePostback": {
                          "$ref": "#/components/examples/decline3dSecureSalePostback"
                        },
                        "chargebackPostback": {
                          "$ref": "#/components/examples/chargebackPostback"
                        },
                        "chargebackReversalPostback": {
                          "$ref": "#/components/examples/chargebackReversalPostback"
                        },
                        "fraudAlertPostback": {
                          "$ref": "#/components/examples/fraudAlertPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/checkout ": {
      "post": {
        "operationId": "subscription_request",
        "tags": [
          "Subscription request examples"
        ],
        "summary": "Subscription request",
        "description": "This endpoint allows you to create a subscription within the Upgate system. Once the subscription is successfully created, the user will be charged automatically according to the schedule specified in the request.\nYou can also combine recurring (rebill) payments with a one-time payment in the same flow. Refer to the Use Cases section for detailed examples and implementation guidance.\nAfter a successful request, you will receive two callback notifications, one for the initial transaction (TRANSACTION type) and one for the subscription update (SUBSCRIPTION type)",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/subscriptionRequest"
              },
              "examples": {
                "subscriptionRequest": {
                  "$ref": "#/components/examples/subscriptionCheckoutRequest"
                },
                "subscriptionRequestWithTaxOverride": {
                  "$ref": "#/components/examples/subscriptionCheckoutWithTaxOverrideRequest"
                },
                "trialSubscriptionRequest": {
                  "$ref": "#/components/examples/trialSubscriptionCheckoutRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionResponse"
                },
                "examples": {
                  "subscriptionResponse": {
                    "$ref": "#/components/examples/subscriptionCheckoutResponse"
                  },
                  "trialSubscriptionResponse": {
                    "$ref": "#/components/examples/trialSubscriptionCheckoutResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Checkout notification",
                "operationId": "checkoutSubscriptionPostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successSalePostback": {
                          "$ref": "#/components/examples/successSalePostback"
                        },
                        "subscriptionPostback": {
                          "$ref": "#/components/examples/subscriptionPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/authorize": {
      "post": {
        "tags": [
          "Other request examples"
        ],
        "operationId": "authorize_request",
        "summary": "Authorize request (deprecated)",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentRequest"
              },
              "examples": {
                "authorizeRequest": {
                  "$ref": "#/components/examples/authorizeRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentResponse"
                },
                "examples": {
                  "200": {
                    "$ref": "#/components/examples/authorizeResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "authorizePostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successAuthorizePostback": {
                          "$ref": "#/components/examples/successAuthorizePostback"
                        },
                        "successAuthorize3dPostback": {
                          "$ref": "#/components/examples/successAuthorize3dPostback"
                        },
                        "errorAuthorizePostback": {
                          "$ref": "#/components/examples/errorAuthorizePostback"
                        },
                        "success3dSecureAuthorizePostback": {
                          "$ref": "#/components/examples/success3dSecureAuthorizePostback"
                        },
                        "decline3dSecureAuthorizePostback": {
                          "$ref": "#/components/examples/decline3dSecureAuthorizePostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mit-sale": {
      "post": {
        "tags": [
          "Subsequent request examples"
        ],
        "summary": "MIT Sale request",
        "description": "This endpoint allows you to create a subsequent transaction using an existing payment token. It is typically used when you want to manage recurring or rebill payments on your side, or when you want to enable one-click payments for your customers without requiring them to re-enter their payment details.\nTo initiate a subsequent transaction, provide the payment token ID received from a previous Sale request.",
        "operationId": "mit_sale_request",
        "parameters": [
          {
            "$ref": "#/components/parameters/mode"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/mitPaymentRequest"
              },
              "examples": {
                "mitSaleRequest": {
                  "$ref": "#/components/examples/mitSaleRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/paymentResponse"
                    },
                    {
                      "$ref": "#/components/schemas/transactionPostback"
                    }
                  ]
                },
                "examples": {
                  "asyncMitSaleResponse": {
                    "$ref": "#/components/examples/asyncMitSaleResponse"
                  },
                  "asyncMitSaleWithFeeAndTaxesResponse": {
                    "$ref": "#/components/examples/asyncMitSaleWithFeeAndTaxesResponse"
                  },
                  "syncMitSaleResponse": {
                    "$ref": "#/components/examples/syncMitSaleResponse"
                  },
                  "syncMitSaleResponseWithFeeAndTaxes": {
                    "$ref": "#/components/examples/syncMitSaleResponseWithFeeAndTaxes"
                  },
                  "syncMitSaleResponseError": {
                    "$ref": "#/components/examples/syncMitSaleResponseError"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "mitSalePostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "description": "Only when mode=async this postback will be send\n",
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successMitSalePostbackWithFeeAndTaxes": {
                          "$ref": "#/components/examples/successMitSalePostbackWithFeeAndTaxes"
                        },
                        "successMitSalePostback": {
                          "$ref": "#/components/examples/successMitSalePostback"
                        },
                        "errorMitSalePostback": {
                          "$ref": "#/components/examples/errorMitSalePostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mit-authorize": {
      "post": {
        "tags": [
          "Subsequent request examples"
        ],
        "operationId": "mit_authorize_request",
        "summary": "MIT Authorize request",
        "parameters": [
          {
            "$ref": "#/components/parameters/mode"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/mitPaymentRequest"
              },
              "examples": {
                "mitAuthorizeRequest": {
                  "$ref": "#/components/examples/mitAuthorizeRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/paymentResponse"
                    },
                    {
                      "$ref": "#/components/schemas/transactionPostback"
                    }
                  ]
                },
                "examples": {
                  "asyncMitAuthorizeResponse": {
                    "$ref": "#/components/examples/asyncMitAuthorizeResponse"
                  },
                  "syncMitAuthorizeResponse": {
                    "$ref": "#/components/examples/syncMitAuthorizeResponse"
                  },
                  "syncMitAuthorizeResponseError": {
                    "$ref": "#/components/examples/syncMitAuthorizeResponseError"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "mitAuthorizePostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "description": "Only when mode=async this postbacks will be send.\n",
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successMitAuthorizePostback": {
                          "$ref": "#/components/examples/successMitAuthorizePostback"
                        },
                        "errorMitAuthorizePostback": {
                          "$ref": "#/components/examples/errorMitAuthorizePostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/recurring": {
      "post": {
        "tags": [
          "Other request examples"
        ],
        "operationId": "recurring",
        "summary": "Recurring transaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentRequest"
              },
              "examples": {
                "recurringRequest": {
                  "$ref": "#/components/examples/recurringRequest"
                },
                "trialRecurringRequest": {
                  "$ref": "#/components/examples/trialRecurringRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentResponse"
                },
                "examples": {
                  "recurringResponse": {
                    "$ref": "#/components/examples/recurringResponse"
                  },
                  "trialRecurringResponse": {
                    "$ref": "#/components/examples/trialRecurringResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "recurringPostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successRecurringTransactionPostback": {
                          "$ref": "#/components/examples/successRecurringTransactionPostback"
                        },
                        "successRecurringSubscriptionPostback": {
                          "$ref": "#/components/examples/successRecurringSubscriptionPostback"
                        },
                        "successTrialRecurringTransactionPostback": {
                          "$ref": "#/components/examples/successTrialRecurringTransactionPostback"
                        },
                        "successTrialRecurringSubscriptionPostback": {
                          "$ref": "#/components/examples/successTrialRecurringSubscriptionPostback"
                        },
                        "errorRecurringTransactionPostback": {
                          "$ref": "#/components/examples/errorRecurringTransactionPostback"
                        },
                        "errorTrialRecurringTransactionPostback": {
                          "$ref": "#/components/examples/errorTrialRecurringTransactionPostback"
                        },
                        "successRebillTransactionPostback": {
                          "$ref": "#/components/examples/successRebillTransactionPostback"
                        },
                        "successRebillSubscriptionPostback": {
                          "$ref": "#/components/examples/successRebillSubscriptionPostback"
                        },
                        "errorRebillTransactionPostback": {
                          "$ref": "#/components/examples/errorRebillTransactionPostback"
                        },
                        "errorRebillSubscriptionPostback": {
                          "$ref": "#/components/examples/errorRebillSubscriptionPostback"
                        },
                        "errorRecurringRebillSubscriptionPostback": {
                          "$ref": "#/components/examples/errorRecurringRebillSubscriptionPostback"
                        },
                        "errorRecurringRebillTransactionPostback": {
                          "$ref": "#/components/examples/errorRecurringRebillTransactionPostback"
                        },
                        "successRecurringRebillSubscriptionPostback": {
                          "$ref": "#/components/examples/successRecurringRebillSubscriptionPostback"
                        },
                        "successRecurringRebillTransactionPostback": {
                          "$ref": "#/components/examples/successRecurringRebillTransactionPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            },
            "/merchant-subscriptions": {
              "post": {
                "summary": "Notifications about new subscriptions",
                "operationId": "subscriptionPostback",
                "description": "When this type of notification has been enabled in merchant postback config\n",
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/subscriptionPostback"
                      },
                      "examples": {
                        "subscriptionPostback": {
                          "$ref": "#/components/examples/enableSubscriptionPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/subscription": {
      "patch": {
        "tags": [
          "Subscription request examples"
        ],
        "operationId": "updateSubscriptionByMerchantProductId",
        "summary": "Update subscription by merchant product id",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/merchantProductId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/changeSubscriptionStatus"
              },
              "examples": {
                "enableSubscription": {
                  "$ref": "#/components/examples/enableSubscription"
                },
                "disableSubscription": {
                  "$ref": "#/components/examples/disableSubscription"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionPostback"
                },
                "examples": {
                  "enableSubscriptionResponse": {
                    "$ref": "#/components/examples/enableSubscriptionResponse"
                  },
                  "disableSubscriptionResponse": {
                    "$ref": "#/components/examples/disableSubscriptionResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Subscription request examples"
        ],
        "operationId": "getSubscriptionByFilters",
        "summary": "Get subscription by transaction ID",
        "parameters": [
          {
            "$ref": "#/components/parameters/transactionId"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/size"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionListResponse"
                },
                "examples": {
                  "subscriptionListResponse": {
                    "$ref": "#/components/examples/subscriptionListResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/subscription/{subscriptionId}": {
      "get": {
        "tags": [
          "Subscription request examples"
        ],
        "operationId": "getSubscriptionBySubscriptionId",
        "summary": "Get subscription by subscription id",
        "parameters": [
          {
            "$ref": "#/components/parameters/subscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionPostback"
                },
                "examples": {
                  "enableSubscriptionResponse": {
                    "$ref": "#/components/examples/enableSubscriptionResponse"
                  },
                  "disableSubscriptionResponse": {
                    "$ref": "#/components/examples/disableSubscriptionResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error2"
                },
                "examples": {
                  "404": {
                    "$ref": "#/components/examples/404"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error2"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500_2"
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Subscription request examples"
        ],
        "operationId": "updateSubscriptionBySubscriptionId",
        "summary": "Update subscription by subscription id",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/subscriptionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/changeSubscriptionStatus"
              },
              "examples": {
                "enableSubscription": {
                  "$ref": "#/components/examples/enableSubscription"
                },
                "disableSubscription": {
                  "$ref": "#/components/examples/disableSubscription"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionPostback"
                },
                "examples": {
                  "enableSubscriptionResponse": {
                    "$ref": "#/components/examples/enableSubscriptionResponse"
                  },
                  "disableSubscriptionResponse": {
                    "$ref": "#/components/examples/disableSubscriptionResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-subscriptions": {
              "post": {
                "summary": "Notifications about new subscriptions",
                "operationId": "changeSubscriptionStatusPostback",
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/subscriptionPostback"
                      },
                      "examples": {
                        "enableSubscriptionPostback": {
                          "$ref": "#/components/examples/enableSubscriptionPostback"
                        },
                        "disableSubscriptionPostback": {
                          "$ref": "#/components/examples/disableSubscriptionPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/token": {
      "post": {
        "tags": [
          "Payout requests examples"
        ],
        "operationId": "token_request",
        "summary": "Token request",
        "description": "This endpoint retrieves a payment token for a customer’s card. Before using this endpoint, ensure that the corresponding setting is enabled in the UpGate Backoffice. The payment token returned by this endpoint can be used in subsequent and card payout requests.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tokenRequest"
              },
              "examples": {
                "saleRequest": {
                  "$ref": "#/components/examples/tokenRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokenResponse"
                },
                "examples": {
                  "saleResponse": {
                    "$ref": "#/components/examples/tokenResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "tokenPostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successSalePostback": {
                          "$ref": "#/components/examples/successTokenPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payout": {
      "post": {
        "tags": [
          "Payout requests examples"
        ],
        "operationId": "payout_request",
        "summary": "Payout request",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/request"
              },
              "examples": {
                "cardPayout": {
                  "$ref": "#/components/examples/cardPayoutRequest"
                },
                "cryptoPayout": {
                  "$ref": "#/components/examples/cryptoPayoutRequest"
                },
                "sepaPayout": {
                  "$ref": "#/components/examples/sepaPayoutRequest"
                },
                "paxumPayout": {
                  "$ref": "#/components/examples/paxumPayoutRequest"
                },
                "banktransferNoProcessorCodePayout": {
                  "$ref": "#/components/examples/banktransferNoProcessorCodePayoutRequest"
                },
                "banktransferWithProcessorCodePayout": {
                  "$ref": "#/components/examples/banktransferWithProcessorCodePayoutRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/response"
                },
                "examples": {
                  "payoutResponse": {
                    "$ref": "#/components/examples/response"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "payoutPostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successPayoutPostback": {
                          "$ref": "#/components/examples/successPostback"
                        },
                        "successPayoutPostbackBankTransafer": {
                          "$ref": "#/components/examples/successPostbackBankTransfer"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sale": {
      "post": {
        "tags": [
          "Other request examples"
        ],
        "operationId": "sale_request",
        "summary": "Sale request (deprecated)",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/paymentRequest"
              },
              "examples": {
                "saleRequest": {
                  "$ref": "#/components/examples/saleRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/paymentResponse"
                },
                "examples": {
                  "saleResponse": {
                    "$ref": "#/components/examples/saleResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "salePostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successSalePostback": {
                          "$ref": "#/components/examples/successSalePostback"
                        },
                        "successSale3dPostback": {
                          "$ref": "#/components/examples/successSale3dPostback"
                        },
                        "errorSalePostback": {
                          "$ref": "#/components/examples/errorSalePostback"
                        },
                        "success3dSecureSalePostback": {
                          "$ref": "#/components/examples/success3dSecureSalePostback"
                        },
                        "decline3dSecureSalePostback": {
                          "$ref": "#/components/examples/decline3dSecureSalePostback"
                        },
                        "chargebackPostback": {
                          "$ref": "#/components/examples/chargebackPostback"
                        },
                        "chargebackReversalPostback": {
                          "$ref": "#/components/examples/chargebackReversalPostback"
                        },
                        "fraudAlertPostback": {
                          "$ref": "#/components/examples/fraudAlertPostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cit-sale": {
      "post": {
        "tags": [
          "Subsequent request examples"
        ],
        "summary": "CIT Sale request",
        "description": "This endpoint allows you to create a subsequent transaction that triggers a 3-D Secure (3DS) authentication flow for your users. It can be used when you want customers to actively confirm and provide consent for the charge, ensuring additional security and compliance with authentication requirements.\nSimilar to the standard subsequent transaction, this endpoint enables you to manage rebills on your end or offer one-click payments without requiring users to re-enter their card details.\nUse the payment token ID received from the original Sale request to initiate this transaction.",
        "operationId": "cit_sale_request",
        "parameters": [
          {
            "$ref": "#/components/parameters/mode"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/citPaymentRequest"
              },
              "examples": {
                "сitSaleRequest": {
                  "$ref": "#/components/examples/citSaleRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/paymentResponse"
                    },
                    {
                      "$ref": "#/components/schemas/transactionPostback"
                    }
                  ]
                },
                "examples": {
                  "asyncCitSaleResponse": {
                    "$ref": "#/components/examples/asyncCitSaleResponse"
                  },
                  "asyncCitSaleWith3dsResponse": {
                    "$ref": "#/components/examples/asyncCitSaleWith3dsResponse"
                  },
                  "syncCitSaleResponse": {
                    "$ref": "#/components/examples/syncCitSaleResponse"
                  },
                  "syncCitSaleResponseError": {
                    "$ref": "#/components/examples/syncCitSaleResponseError"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        },
        "callbacks": {
          "postback": {
            "/merchant-postbacks": {
              "post": {
                "summary": "Transaction notification",
                "operationId": "citSalePostback",
                "parameters": [
                  {
                    "name": "X-Signature",
                    "in": "header",
                    "required": false,
                    "description": "HMAC-SHA256 signature of the request payload, encoded in Base64.\nUsed to verify the integrity and authenticity of the request.\n",
                    "schema": {
                      "type": "string"
                    },
                    "examples": {
                      "validSignature": {
                        "summary": "Valid HMAC signature",
                        "value": "G7gfM97AuR0Nna/PQ9n4bnT91n6ca1zEu6KpEPSuaww="
                      },
                      "invalidSignature": {
                        "summary": "Invalid signature",
                        "value": "bad_signature"
                      }
                    }
                  },
                  {
                    "name": "X-Signature-Timestamp",
                    "in": "header",
                    "required": false,
                    "description": "Unix timestamp (in seconds) used in the signature payload.\nHelps prevent replay attacks.\n",
                    "schema": {
                      "type": "string"
                    }
                  },
                  {
                    "name": "X-Signing-Secret-Id",
                    "in": "header",
                    "required": false,
                    "description": "Identifier of the secret used to generate the signature.\nUseful for key rotation and management.\n",
                    "schema": {
                      "type": "string"
                    }
                  }
                ],
                "description": "Only when mode=async this postback will be send\n",
                "requestBody": {
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "$ref": "#/components/schemas/transactionPostback"
                      },
                      "examples": {
                        "successCitSalePostback": {
                          "$ref": "#/components/examples/successCitSalePostback"
                        },
                        "errorCitSalePostback": {
                          "$ref": "#/components/examples/errorCitSalePostback"
                        }
                      }
                    }
                  }
                },
                "responses": {
                  "200": {
                    "description": "OK"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transaction": {
      "get": {
        "tags": [
          "Transactions history requests examples"
        ],
        "operationId": "transaction_list",
        "summary": "Fetch transactions by filters",
        "description": "When you request a list of transactions, the response is limited to the maximum number of records you specified in the query. If there are more transactions available beyond that limit, you don’t need to start over. Instead, you can **continue fetching results from where you left off** by including the `prev_id` parameter in your next request.",
        "parameters": [
          {
            "$ref": "#/components/parameters/createAtFrom"
          },
          {
            "$ref": "#/components/parameters/createdAtTo"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/prevId"
          },
          {
            "$ref": "#/components/parameters/responseCode"
          },
          {
            "$ref": "#/components/parameters/transactionType"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionListResponse"
                },
                "examples": {
                  "transactionListResponse": {
                    "$ref": "#/components/examples/transactionListResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/refund": {
      "post": {
        "tags": [
          "Refund request examples"
        ],
        "operationId": "refund_request",
        "summary": "Refund request",
        "description": "Request to refund transaction",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/refundRequest"
              },
              "examples": {
                "refundRequest": {
                  "$ref": "#/components/examples/refundRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refundResponse"
                },
                "examples": {
                  "saleResponse": {
                    "$ref": "#/components/examples/refundResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Request validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "400": {
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authorization error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "401": {
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too many requests error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "429": {
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorWrapper"
                },
                "examples": {
                  "500": {
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "X-Api-Key": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key"
      }
    },
    "parameters": {
      "idempotencyKey": {
        "schema": {
          "type": "string"
        },
        "name": "X-Idempotency-Key",
        "in": "header",
        "required": false,
        "description": "The system supports the query deduplication mechanism. \nAny system-wide merchant's request after the first one with \nthe same `X-Idempotency-Key` will return an error.\nFor example, if you have retrying mechanism for payouts and you want \nto avoid double sending, you can put header with value payout_{your_payout_id}\n"
      },
      "mode": {
        "name": "mode",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "default": "ASYNC",
          "enum": [
            "SYNC",
            "ASYNC"
          ]
        }
      },
      "transactionId": {
        "name": "transaction_id",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2U5T2MIX22EK3"
        }
      },
      "page": {
        "name": "page",
        "in": "query",
        "required": false,
        "schema": {
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 1,
          "example": 1
        }
      },
      "size": {
        "name": "size",
        "in": "query",
        "required": false,
        "schema": {
          "maximum": 100,
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 100,
          "example": 100
        }
      },
      "merchantProductId": {
        "name": "merchant_product_id",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string",
          "example": "2JZGULPNK27K2"
        }
      },
      "subscriptionId": {
        "name": "subscriptionId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "2E2CL5R3KC7K3"
        }
      },
      "createAtFrom": {
        "name": "created_at_from",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2024-02-15T13:38:47.173Z",
          "description": "Filter transactions created after this date (inclusive). Format: ISO 8601."
        }
      },
      "createdAtTo": {
        "name": "created_at_to",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2024-02-15T13:38:47.173Z",
          "description": "Filter transactions created before this date (inclusive). Format: ISO 8601."
        }
      },
      "limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "example": "100",
          "description": "Maximum number of transactions to return (default is 100, maximum is 1000, minimum is 1)."
        }
      },
      "prevId": {
        "name": "prev_id",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "2JWZGUKDK2DK2",
          "description": "Fetch transactions with IDs less than this value for pagination."
        }
      },
      "responseCode": {
        "name": "response_code",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "example": "1000, 2000",
          "description": "Filter transactions by response code for more specific results."
        }
      },
      "transactionType": {
        "name": "transaction_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "SALE,THREE_DS,REFUND",
          "description": "Filter transactions by type. Multiple types can be specified, separated by commas. Supported types include TOKEN, THREE_DS, SALE, AUTHORIZE, PAYOUT, CHARGEBACK, CHARGEBACK_REVERSAL, RDR, RDR_REVERSAL, REFUND, VOID and FRAUD_ALERT."
        }
      }
    },
    "schemas": {
      "paymentData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "SALE"
            ]
          },
          "methods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported Payment methods can be found [here](/openapi/introduction/card-flow/supported-payment-methods) for cards and [here](/openapi/introduction/alternative-payment-methods-(apm)/support-payment-methods) for alternative payment methods.\nPlease note that the payment methods can be empty, in this case payment methods would be taken from the back office configuration.\nIn case you are using Google Pay or Apple Pay, Card method needs to be included as well, e.g. \"APPLE_PAY\", \"CARD\" or \"GOOGLE_PAY\", \"CARD\"\n"
          },
          "amount": {
            "type": "number"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217)",
            "pattern": "^[A-Z]{3}$"
          },
          "forced_3d": {
            "type": "boolean"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "shop_url": {
            "type": "string",
            "pattern": "^https://",
            "minLength": 1,
            "maxLength": 128
          },
          "merchant_payment_id": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "amount",
          "currency_code"
        ]
      },
      "checkoutProduct": {
        "properties": {
          "merchant_product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "type": {
            "type": "string",
            "enum": [
              "SALE"
            ]
          },
          "price": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "price",
          "name"
        ]
      },
      "paymentFormOverride": {
        "type": "object",
        "properties": {
          "color": {
            "description": "[Override the color](/openapi/override-theme/customizing-payment-form-appearance) for the payment form.",
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          },
          "theme_type": {
            "description": "[Override the theme](/openapi/override-theme/themes) for the payment form.",
            "type": "string",
            "enum": [
              "LIGHT",
              "DARK",
              "BROWSER"
            ]
          },
          "theme_variables": {
            "type": "object",
            "description": "[Override CSS variables](/openapi/override-theme/variables) for the payment form."
          },
          "theme_rules": {
            "type": "object",
            "description": "[Override CSS rules](/openapi/override-theme/rules) for the payment form."
          }
        }
      },
      "taxOverride": {
        "type": "object",
        "properties": {
          "percentage": {
            "description": "Override Tax percentage",
            "type": "string",
            "minimum": 0,
            "maximum": 100
          },
          "type": {
            "description": "Override Tax type",
            "type": "string",
            "enum": [
              "INCLUDED",
              "ON_TOP"
            ]
          },
          "label": {
            "description": "Override Tax label",
            "type": "string",
            "enum": [
              "TAX",
              "VAT",
              "GST",
              "SALES_TAX"
            ]
          }
        }
      },
      "checkoutRequest": {
        "type": "object",
        "properties": {
          "payment_data": {
            "anyOf": [
              {
                "type": "object",
                "title": "Payment data",
                "$ref": "#/components/schemas/paymentData"
              },
              {
                "type": "object",
                "title": "Payment data embedded",
                "$ref": "#/components/schemas/paymentData",
                "properties": {
                  "ui_mode": {
                    "description": "use for [embedded flow](/openapi/embedded-flow)",
                    "type": "string",
                    "enum": [
                      "EMBEDDED"
                    ]
                  }
                }
              }
            ]
          },
          "customer": {
            "type": "object",
            "properties": {
              "merchant_customer_id": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "language": {
                "type": "string",
                "pattern": "^[a-z]{2}-[a-z]{2}$"
              },
              "country_code": {
                "type": "string",
                "description": "Country Code (ISO 3166-2)",
                "pattern": "^[A-Z]{2}$"
              }
            },
            "required": [
              "merchant_customer_id"
            ]
          },
          "callback": {
            "type": "object",
            "description": "Specifies the URLs to which the customer will be redirected after completing a payment transaction. The *success_url* is used for redirection upon successful payment, and the *failure_url* is used in case of payment failure.",
            "properties": {
              "success_url": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "failure_url": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              }
            },
            "required": [
              "success_url",
              "failure_url"
            ]
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "Sale product",
              "$ref": "#/components/schemas/checkoutProduct"
            }
          },
          "additional_info": {
            "type": "object",
            "properties": {
              "payment_token_id": {
                "type": "string"
              },
              "crypto_network": {
                "type": "string"
              },
              "crypto_address": {
                "type": "string"
              },
              "crypto_withdrawal_address": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "customer_full_name": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              }
            }
          },
          "payment_form_override": {
            "description": "[Customizing Payment Form Appearance.](/openapi/override-theme/customizing-payment-form-appearance)  All these parameters will override existing configuration in Upgate back office if any",
            "$ref": "#/components/schemas/paymentFormOverride"
          },
          "tax_override": {
            "description": "All these parameters will override existing Tax Rules configuration in Upgate back office",
            "$ref": "#/components/schemas/taxOverride"
          }
        },
        "required": [
          "payment_data",
          "customer",
          "callback",
          "products"
        ]
      },
      "session": {
        "properties": {
          "created_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "UTC date time format"
          },
          "expires_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "UTC date time format"
          },
          "redirect_url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "required": [
          "created_at",
          "expires_at",
          "redirect_url"
        ]
      },
      "checkoutResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/checkoutRequest"
          }
        ],
        "required": [
          "id",
          "created_at",
          "merchant_id",
          "session"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "merchant_id": {
            "type": "string"
          },
          "session": {
            "$ref": "#/components/schemas/session"
          }
        }
      },
      "error": {
        "title": "error",
        "properties": {
          "error_code": {
            "type": "string",
            "enum": [
              "INVALID_REQUEST_PARAMETER",
              "INVALID_REQUEST",
              "INTERNAL_ERROR",
              "TOO_MANY_REQUESTS",
              "NOT_FOUND"
            ]
          },
          "error_message": {
            "type": "string"
          }
        },
        "required": [
          "error_code",
          "error_message"
        ]
      },
      "errorWrapper": {
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/error"
            }
          }
        }
      },
      "transactionDetails": {
        "properties": {
          "three_ds_authentication_value": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_processor": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_server_transaction_id": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_eci": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_status": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_challenge_type": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_version": {
            "type": "string",
            "description": "Only for 3ds postback"
          },
          "three_ds_reason_code": {
            "type": "string"
          },
          "three_ds_reason_text": {
            "type": "string"
          },
          "three_ds_rule_id": {
            "type": "string"
          },
          "processor_merchant_account_id": {
            "type": "string"
          },
          "processor_transaction_id": {
            "type": "string"
          },
          "processor": {
            "type": "string"
          },
          "processor_response_code": {
            "type": "string"
          },
          "processor_response_text": {
            "type": "string",
            "description": "Response text from processor"
          },
          "processor_response_amount": {
            "type": "string"
          },
          "processor_response_currency_code": {
            "type": "string"
          },
          "processor_response_transaction_amount": {
            "type": "string"
          },
          "processor_response_base_amount": {
            "type": "string"
          },
          "processor_reference_id": {
            "type": "string"
          },
          "processor_used_low_value": {
            "type": "boolean"
          },
          "processor_used_cit": {
            "type": "boolean"
          },
          "processor_used_mit": {
            "type": "boolean"
          },
          "processor_requested": {
            "type": "boolean"
          },
          "fraud_alert_processor": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "initiated_by": {
            "type": "string"
          },
          "routing_rule_id": {
            "type": "string"
          },
          "sticky_processor_used": {
            "type": "boolean"
          },
          "transaction_hash": {
            "type": "string"
          },
          "payment_form_has_been_displayed": {
            "type": "boolean"
          },
          "cascade_attempt": {
            "type": "string",
            "description": "Sequential number of the cascading attempt to payment processors"
          },
          "has_been_cascaded": {
            "type": "boolean",
            "description": "Indicates whether cascading was performed"
          },
          "arn": {
            "type": "string"
          },
          "reference_transaction_id": {
            "type": "string"
          }
        },
        "required": [
          "processor",
          "processor_response_code"
        ]
      },
      "paymentContext": {
        "properties": {
          "browser_user_agent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048
          },
          "browser_screen_height": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_color_depth": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_language": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_timezone_offset": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_screen_width": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "challenge_window_size": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_has_js_enabled": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_has_java_enabled": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "browser_accept_header": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "ip": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        }
      },
      "paymentDetails": {
        "properties": {
          "payment_token_id": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "payment_token_type": {
            "type": "string"
          },
          "card_scheme": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_bin": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_bin_country_name": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_bin_country_code": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_bin_type": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_bin_bank": {
            "type": "string"
          },
          "card_bin_category": {
            "type": "string"
          },
          "card_scheme_type": {
            "type": "string"
          },
          "card_last_four_digits": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "customer_full_name": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "customer_phone_number": {
            "type": "string"
          },
          "customer_email": {
            "type": "string"
          },
          "customer_first_name": {
            "type": "string"
          },
          "customer_last_name": {
            "type": "string"
          },
          "card_expiry_month": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_expiry_year": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "card_data_id": {
            "type": "string",
            "description": "Only for **CARD** flow"
          },
          "customer_selected_country_code": {
            "type": "string"
          },
          "crypto_network": {
            "type": "string"
          },
          "crypto_address": {
            "type": "string"
          },
          "crypto_withdrawal_address": {
            "type": "string"
          },
          "debtor_iban": {
            "type": "string"
          },
          "debtor_bic": {
            "type": "string"
          },
          "cit_enabled": {
            "type": "string"
          },
          "creditor_name": {
            "type": "string"
          },
          "creditor_bank_account": {
            "type": "string"
          },
          "creditor_bank_name": {
            "type": "string"
          },
          "creditor_bank_bic": {
            "type": "string"
          },
          "payment_email": {
            "type": "string"
          },
          "beneficiary_email": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "creditor_country": {
            "type": "string"
          },
          "creditor_email": {
            "type": "string"
          },
          "creditor_phone": {
            "type": "string"
          },
          "creditor_bank_code": {
            "type": "string"
          },
          "creditor_bank_number": {
            "type": "string"
          },
          "first_buy_for_merchant_customer": {
            "type": "boolean"
          },
          "first_buy_for_payment_token": {
            "type": "boolean"
          },
          "first_buy_for_merchant_customer_and_payment_token": {
            "type": "boolean"
          },
          "cof_consent_skipped": {
            "type": "boolean",
            "description": "true means no COF consent; the card can’t be used for future MIT transactions or shown on the form"
          }
        }
      },
      "product": {
        "discriminator": {
          "propertyName": "product_type"
        },
        "properties": {
          "product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Product ID in Upgate env"
          },
          "merchant_product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "**Optional** field, might be used as a reference from the merchant side\n"
          },
          "product_price": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "product_transaction_price": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "product_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "product_description": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1
          }
        },
        "required": [
          "product_type",
          "product_name",
          "product_price"
        ]
      },
      "productSale": {
        "allOf": [
          {
            "$ref": "#/components/schemas/product"
          },
          {
            "type": "object",
            "properties": {
              "product_type": {
                "type": "string",
                "enum": [
                  "SALE"
                ]
              }
            }
          }
        ]
      },
      "productSubscription": {
        "allOf": [
          {
            "$ref": "#/components/schemas/product"
          },
          {
            "type": "object",
            "properties": {
              "product_type": {
                "type": "string",
                "enum": [
                  "SUBSCRIPTION"
                ]
              },
              "charge_interval_value": {
                "type": "integer",
                "format": "int32",
                "minimum": 1
              },
              "charge_interval": {
                "type": "string",
                "enum": [
                  "DAY"
                ]
              },
              "is_trial": {
                "type": "boolean",
                "description": "If subscription with trial period"
              },
              "trial_interval_value": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "description": "Only for trial subscription"
              },
              "trial_interval": {
                "type": "string",
                "enum": [
                  "DAY"
                ],
                "description": "Only for trial subscription"
              },
              "rebill_transaction_amount": {
                "type": "string"
              },
              "rebill_transaction_currency_code": {
                "type": "string"
              },
              "rebill_transaction_fee_amount": {
                "type": "string"
              },
              "rebill_transaction_fee_currency_code": {
                "type": "string"
              },
              "rebill_transaction_tax_amount": {
                "type": "string"
              },
              "rebill_transaction_tax_currency_code": {
                "type": "string"
              },
              "last_transacion_id": {
                "type": "string"
              }
            }
          }
        ],
        "required": [
          "product_name",
          "product_price",
          "product_description",
          "product_type",
          "charge_interval",
          "charge_interval_value",
          "rebill_transaction_amount",
          "rebill_transaction_currency_code",
          "is_trial"
        ]
      },
      "payment": {
        "required": [
          "payment_id",
          "payment_type",
          "payment_method",
          "created_at",
          "merchant_id",
          "merchant_customer_id",
          "email",
          "amount",
          "currency_code",
          "country_code",
          "products"
        ],
        "properties": {
          "payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "initial_subscription_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "payment_type": {
            "type": "string",
            "enum": [
              "SALE",
              "AUTHORIZE",
              "MIT_SALE",
              "MIT_AUTHORIZE",
              "RECURRING",
              "RECURRING_REBILL"
            ]
          },
          "payment_method": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "example": "2020-20-20T20:00:00.633Z",
            "description": "UTC date time format"
          },
          "merchant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "country_code": {
            "type": "string",
            "description": "Country Code (ISO 3166-2)",
            "pattern": "^[A-Z]{2}$"
          },
          "currency_code": {
            "description": "Currency code (ISO 4217)",
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "base_amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "base_currency_code": {
            "description": "Currency code (ISO 4217)",
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "transaction_amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "transaction_currency_code": {
            "description": "Currency code (ISO 4217)",
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "transaction_fee_amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "transaction_fee_currency_code": {
            "description": "Currency code (ISO 4217)",
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "transaction_tax_amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
          },
          "transaction_tax_currency_code": {
            "description": "Currency code (ISO 4217)",
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "transaction_tax_percentage": {
            "type": "string",
            "minimum": 0,
            "maximum": 100
          },
          "transaction_tax_exempt_amount": {
            "type": "string"
          },
          "transaction_tax_type": {
            "type": "string",
            "enum": [
              "INCLUDED",
              "ON_TOP"
            ]
          },
          "transaction_tax_label": {
            "type": "string",
            "enum": [
              "TAX",
              "VAT",
              "GST",
              "SALES_TAX"
            ]
          },
          "forced_3d": {
            "type": "boolean",
            "description": "If needs to initiate 3d secure from merchant side"
          },
          "success_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING | RECURRING_REBILL\n"
          },
          "failure_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING | RECURRING_REBILL\n"
          },
          "payment_token_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Token from original payment. Used for MIT_SALE | MIT_AUTHORIZE\n"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop name\n"
          },
          "shop_url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop URL with protocol HTTP or HTTPS\n"
          },
          "session": {
            "$ref": "#/components/schemas/session"
          },
          "products": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/productSale"
                },
                {
                  "$ref": "#/components/schemas/productSubscription"
                }
              ]
            },
            "description": "Expected at least 1 product"
          }
        }
      },
      "postback": {
        "properties": {
          "transaction_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_type": {
            "type": "string",
            "enum": [
              "TOKEN",
              "THREE_DS",
              "SALE",
              "AUTHORIZE",
              "PAYOUT",
              "CHARGEBACK",
              "CHARGEBACK_REVERSAL",
              "RDR",
              "RDR_REVERSAL",
              "REFUND",
              "VOID",
              "FRAUD_ALERT"
            ]
          },
          "transaction_status": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "DECLINE",
              "ERROR"
            ]
          },
          "created_at": {
            "type": "string",
            "description": "UTC date time format"
          },
          "response_code": {
            "type": "number",
            "description": "Code from [response codes](#section/Constants/Response-Codes)\n"
          },
          "response_text": {
            "type": "string",
            "description": "Message from [response codes](#section/Constants/Response-Codes)\n"
          },
          "transaction_details": {
            "type": "object",
            "$ref": "#/components/schemas/transactionDetails"
          },
          "payment_context": {
            "type": "object",
            "$ref": "#/components/schemas/paymentContext"
          },
          "payment_details": {
            "type": "object",
            "$ref": "#/components/schemas/paymentDetails"
          },
          "payment": {
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/payment"
              }
            ],
            "properties": {
              "transaction_amount": {
                "type": "string",
                "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
              },
              "transaction_currency_code": {
                "description": "Currency code (ISO 4217)",
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            }
          }
        },
        "required": [
          "transaction_id",
          "transaction_type",
          "transaction_status",
          "created_at",
          "response_code",
          "response_text",
          "transaction_details",
          "payment_details",
          "payment"
        ]
      },
      "transactionPostback": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "TRANSACTION"
            ]
          },
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/postback"
          }
        }
      },
      "subscriptionPaymentData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "AUTHORIZE",
              "RECURRING"
            ]
          },
          "methods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supported Payment methods can be found [here](/openapi/introduction/card-flow/supported-payment-methods) for cards and [here](/openapi/introduction/alternative-payment-methods-(apm)/support-payment-methods) for alternative payment methods.\nPlease note that the payment methods can be empty, in this case payment methods would be taken from the back office configuration.\nIn case you are using Google Pay or Apple Pay, Card method needs to be included as well, e.g. \"APPLE_PAY\", \"CARD\" or \"GOOGLE_PAY\", \"CARD\"\n"
          },
          "amount": {
            "type": "number"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217)",
            "pattern": "^[A-Z]{3}$"
          },
          "forced_3d": {
            "type": "boolean"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "shop_url": {
            "type": "string",
            "pattern": "^https://",
            "minLength": 1,
            "maxLength": 128
          },
          "merchant_payment_id": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "amount",
          "currency_code"
        ]
      },
      "subscriptionProduct": {
        "properties": {
          "merchant_product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "type": {
            "type": "string",
            "enum": [
              "SUBSCRIPTION"
            ]
          },
          "price": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "charge": {
            "type": "object",
            "properties": {
              "value": {
                "type": "integer",
                "format": "int32",
                "minimum": 1
              },
              "interval": {
                "type": "string",
                "enum": [
                  "DAY"
                ]
              }
            }
          },
          "trial": {
            "type": "object",
            "properties": {
              "value": {
                "type": "integer",
                "format": "int32",
                "minimum": 1
              },
              "interval": {
                "type": "string",
                "enum": [
                  "DAY"
                ]
              }
            }
          }
        },
        "required": [
          "charge",
          "type",
          "price",
          "name"
        ]
      },
      "subscriptionRequest": {
        "type": "object",
        "properties": {
          "payment_data": {
            "type": "object",
            "title": "Subscription data",
            "$ref": "#/components/schemas/subscriptionPaymentData"
          },
          "customer": {
            "type": "object",
            "properties": {
              "merchant_customer_id": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "language": {
                "type": "string",
                "pattern": "^[a-z]{2}-[a-z]{2}$"
              },
              "country_code": {
                "type": "string",
                "description": "Country Code (ISO 3166-2)",
                "pattern": "^[A-Z]{2}$"
              }
            },
            "required": [
              "merchant_customer_id"
            ]
          },
          "callback": {
            "type": "object",
            "description": "Specifies the URLs to which the customer will be redirected after completing a payment transaction. The *success_url* is used for redirection upon successful payment, and the *failure_url* is used in case of payment failure.",
            "properties": {
              "success_url": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "failure_url": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              }
            },
            "required": [
              "success_url",
              "failure_url"
            ]
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "Subscription product",
              "$ref": "#/components/schemas/subscriptionProduct"
            }
          },
          "additional_info": {
            "type": "object",
            "properties": {
              "payment_token_id": {
                "type": "string"
              },
              "crypto_network": {
                "type": "string"
              },
              "crypto_address": {
                "type": "string"
              },
              "crypto_withdrawal_address": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "customer_full_name": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              }
            }
          },
          "payment_form_override": {
            "description": "[Customizing Payment Form Appearance.](/openapi/override-theme/customizing-payment-form-appearance)  All these parameters will override existing configuration in Upgate back office if any",
            "$ref": "#/components/schemas/paymentFormOverride"
          },
          "tax_override": {
            "description": "All these parameters will override existing Tax Rules configuration in Upgate back office",
            "$ref": "#/components/schemas/taxOverride"
          }
        },
        "required": [
          "payment_data",
          "customer",
          "callback",
          "products"
        ]
      },
      "subscriptionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/subscriptionRequest"
          }
        ],
        "required": [
          "id",
          "created_at",
          "merchant_id",
          "session"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "merchant_id": {
            "type": "string"
          },
          "session": {
            "$ref": "#/components/schemas/session"
          }
        }
      },
      "paymentRequest": {
        "required": [
          "payment_method",
          "merchant_customer_id",
          "email",
          "amount",
          "currency_code",
          "country_code",
          "products"
        ],
        "properties": {
          "payment_method": {
            "type": "string"
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "**Optional** field, might be used as a reference from the merchant side\n"
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$",
            "description": "can't be zero for SALE | MIT_SALE"
          },
          "language": {
            "type": "string",
            "pattern": "^[a-z]{2}-[a-z]{2}$",
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "country_code": {
            "type": "string",
            "description": "Country Code (ISO 3166-2)",
            "pattern": "^[A-Z]{2}$"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217)",
            "pattern": "^[A-Z]{3}$"
          },
          "forced_3d": {
            "type": "boolean",
            "default": false,
            "description": "If needs to initiate 3d secure from merchant side.\n"
          },
          "success_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 512,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "failure_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 512,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop name\n"
          },
          "shop_url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop URL with protocol HTTP or HTTPS\n"
          },
          "products": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/productSale"
                },
                {
                  "$ref": "#/components/schemas/productSubscription"
                }
              ]
            },
            "maxItems": 10,
            "minItems": 0,
            "description": "Expected at least 1 product\n"
          },
          "payment_form_override": {
            "description": "[Customizing Payment Form Appearance.](/openapi/override-theme/customizing-payment-form-appearance)  All these parameters will override existing configuration in Upgate back office if any",
            "$ref": "#/components/schemas/paymentFormOverride"
          }
        }
      },
      "paymentResponse": {
        "required": [
          "type",
          "data"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "PAYMENT"
            ]
          },
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/payment"
          }
        }
      },
      "mitPaymentRequest": {
        "required": [
          "payment_token_id",
          "payment_method",
          "merchant_customer_id",
          "email",
          "amount",
          "currency_code",
          "country_code",
          "products"
        ],
        "properties": {
          "payment_token_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Token from original payment"
          },
          "payment_method": {
            "type": "string"
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "**Optional** field, might be used as a reference from the merchant side\n"
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$",
            "description": "can't be zero for SALE | MIT_SALE"
          },
          "language": {
            "type": "string",
            "pattern": "^[a-z]{2}-[a-z]{2}$",
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "country_code": {
            "type": "string",
            "description": "Country Code (ISO 3166-2)",
            "pattern": "^[A-Z]{2}$"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217)",
            "pattern": "^[A-Z]{3}$"
          },
          "success_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 512,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "failure_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 512,
            "description": "**required** only for SALE | AUTHORIZE | RECURRING\n"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop name\n"
          },
          "shop_url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop URL with protocol HTTP or HTTPS\n"
          },
          "products": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/productSale"
                },
                {
                  "$ref": "#/components/schemas/productSubscription"
                }
              ]
            },
            "maxItems": 10,
            "minItems": 0,
            "description": "Expected at least 1 product\n"
          },
          "payment_form_override": {
            "description": "[Customizing Payment Form Appearance.](/openapi/override-theme/customizing-payment-form-appearance)  All these parameters will override existing configuration in Upgate back office if any",
            "$ref": "#/components/schemas/paymentFormOverride"
          }
        }
      },
      "subscription": {
        "properties": {
          "subscription_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "created_at": {
            "type": "string",
            "description": "UTC date time format"
          },
          "subscription_status": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "expires_at": {
            "type": "string",
            "description": "UTC date time format"
          },
          "merchant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "payment_method": {
            "type": "string",
            "enum": [
              "CARD"
            ]
          },
          "currency_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "amount": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_currency_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_amount": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_fee_currency_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_fee_amount": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_currency_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_amount": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_percentage": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "transaction_tax_exempt_amount": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "is_trial": {
            "type": "boolean"
          },
          "charge_interval": {
            "type": "string",
            "enum": [
              "DAY"
            ]
          },
          "charge_interval_value": {
            "type": "number"
          },
          "is_rebill_enabled": {
            "type": "boolean"
          },
          "trial_interval": {
            "type": "string",
            "enum": [
              "DAY"
            ]
          },
          "trial_interval_value": {
            "type": "number"
          },
          "payment_id": {
            "type": "string",
            "example": "2JWZGTNKS67K2"
          },
          "product_id": {
            "type": "string",
            "example": "2JWZGTNKSG7K2"
          },
          "retry_at": {
            "type": "string",
            "description": "UTC date time format"
          },
          "retry_count": {
            "type": "number"
          },
          "retry_total_count": {
            "type": "number",
            "description": "Total count of attempts to rebill"
          },
          "shop_name": {
            "type": "string",
            "description": "Shop name from original payment"
          },
          "shop_url": {
            "type": "string",
            "description": "Shop URL from original payment"
          },
          "version": {
            "type": "number"
          }
        }
      },
      "subscriptionPostback": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "SUBSCRIPTION"
            ]
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "properties": {
              "version": {
                "type": "integer"
              },
              "initial_transaction_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "metaPageInfo": {
        "required": [
          "pageNumber",
          "pageSize"
        ],
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "subscriptionListResponse": {
        "required": [
          "type",
          "data",
          "meta"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "SUBSCRIPTION"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/subscription"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/metaPageInfo"
          }
        }
      },
      "changeSubscriptionStatus": {
        "properties": {
          "is_rebill_enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "is_rebill_enabled"
        ]
      },
      "error2": {
        "title": "error",
        "properties": {
          "timestamp": {
            "type": "string"
          },
          "status": {
            "type": "number"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "timestamp",
          "status",
          "error",
          "message",
          "path"
        ]
      },
      "tokenRequest": {
        "required": [
          "payment_method",
          "merchant_customer_id",
          "email",
          "language",
          "country_code",
          "success_url",
          "failure_url"
        ],
        "properties": {
          "payment_method": {
            "type": "string",
            "enum": [
              "CARD"
            ]
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "**Optional** field, might be used as a reference from the merchant side\n"
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "language": {
            "type": "string",
            "pattern": "^[a-z]{2}-[a-z]{2}$"
          },
          "country_code": {
            "type": "string",
            "description": "Country Code (ISO 3166-2)",
            "pattern": "^[A-Z]{2}$"
          },
          "success_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048
          },
          "failure_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048
          },
          "prefilled_card_holder": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Card holder name to show on payment form\n"
          }
        }
      },
      "token": {
        "required": [
          "payment_id",
          "payment_type",
          "payment_method",
          "created_at",
          "merchant_id",
          "merchant_customer_id",
          "email",
          "country_code",
          "session",
          "success_url",
          "failure_url"
        ],
        "properties": {
          "payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "payment_type": {
            "type": "string",
            "enum": [
              "TOKEN"
            ]
          },
          "payment_method": {
            "type": "string",
            "enum": [
              "CARD"
            ]
          },
          "created_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "example": "2020-20-20T20:00:00.633Z",
            "description": "UTC date time format"
          },
          "merchant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "country_code": {
            "type": "string",
            "description": "Country Code (ISO 3166-2)",
            "pattern": "^[A-Z]{2}$"
          },
          "success_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048
          },
          "failure_url": {
            "type": "string",
            "format": "url",
            "minLength": 1,
            "maxLength": 2048
          },
          "prefilled_card_holder": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Card holder name to show on payment form\n"
          },
          "shop_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop name\n"
          },
          "shop_url": {
            "type": "string",
            "pattern": "^https://",
            "minLength": 1,
            "maxLength": 128,
            "description": "Shop URL with protocol HTTP or HTTPS\n"
          },
          "session": {
            "$ref": "#/components/schemas/session"
          }
        }
      },
      "tokenResponse": {
        "required": [
          "type",
          "data"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "PAYMENT"
            ]
          },
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/token"
          }
        }
      },
      "payoutPaymentMethod": {
        "type": "string",
        "enum": [
          "CARD",
          "CRYPTO",
          "SEPA",
          "PAXUM",
          "BANK_TRANSFER"
        ]
      },
      "cardPaymentDetails": {
        "title": "Card payment details",
        "type": "object",
        "properties": {
          "payment_token_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "required": [
          "payment_token_id"
        ]
      },
      "cryptoPaymentDetails": {
        "title": "Crypto payment details",
        "type": "object",
        "properties": {
          "crypto_network": {
            "type": "string",
            "enum": [
              "TRON",
              "ETHEREUM"
            ]
          },
          "crypto_address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "crypto_withdrawal_address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "crypto_network",
          "crypto_address",
          "crypto_withdrawal_address"
        ]
      },
      "sepaPaymentDetails": {
        "title": "Sepa payment details",
        "type": "object",
        "properties": {
          "creditor_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "creditor_bank_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "creditor_bank_bic": {
            "type": "string",
            "minLength": 1,
            "maxLength": 11
          },
          "creditor_bank_account": {
            "type": "string",
            "minLength": 1,
            "maxLength": 34
          }
        },
        "required": [
          "creditor_name",
          "creditor_bank_name",
          "creditor_bank_bic",
          "creditor_bank_account"
        ]
      },
      "paxumPaymentDetails": {
        "title": "Paxum payment details",
        "type": "object",
        "properties": {
          "payment_email": {
            "description": "Paxum account email",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "beneficiary_email": {
            "description": "Recipient email",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "reference": {
            "description": "Transaction reference for merchant reference",
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "beneficiary_email"
        ]
      },
      "banktrasnferPaymentDetails": {
        "title": "Bank transfer payment details",
        "type": "object",
        "properties": {
          "creditor_country": {
            "description": "(Iso Alpha-2 Code) KR",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "creditor_email": {
            "description": "Recipient email",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "creditor_phone": {
            "description": "Recipient phone number (the phone number is Korea, no international area code is needed)",
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "creditor_bank_account": {
            "description": "The full bank account number of the recipient",
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "creditor_name": {
            "description": "The full recipient name",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "creditor_bank_code": {
            "description": "Get the exact bank code from your UpGate success manager",
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "creditor_bank_number": {
            "description": "Get the exact processor number from your UpGate success manager. This is only mandatory if you want to specify a particular processor for the operation.",
            "type": "string",
            "minLength": 1,
            "maxLength": 28
          }
        },
        "required": [
          "creditor_country",
          "creditor_email",
          "creditor_phone",
          "creditor_bank_account",
          "creditor_name",
          "creditor_bank_code"
        ]
      },
      "request": {
        "required": [
          "payment_method",
          "merchant_payment_id",
          "merchant_customer_id",
          "amount",
          "currency_code",
          "payment_details"
        ],
        "properties": {
          "payment_method": {
            "$ref": "#/components/schemas/payoutPaymentMethod"
          },
          "merchant_payment_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Field, might be uniq for every request (deduplication check)\n"
          },
          "merchant_customer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{0,20})?$"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217), KRW for BANK_TRANSFER method"
          },
          "payment_details": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/cardPaymentDetails"
              },
              {
                "$ref": "#/components/schemas/cryptoPaymentDetails"
              },
              {
                "$ref": "#/components/schemas/sepaPaymentDetails"
              },
              {
                "$ref": "#/components/schemas/paxumPaymentDetails"
              },
              {
                "$ref": "#/components/schemas/banktrasnferPaymentDetails"
              }
            ]
          },
          "description": {
            "description": "Description (Required field for BANK_TRANSFER payout type)",
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          }
        }
      },
      "response": {
        "required": [
          "type",
          "data"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "PAYMENT"
            ]
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/request"
              }
            ],
            "type": "object",
            "required": [
              "payment_id",
              "payment_type",
              "created_at",
              "merchant_id",
              "base_amount",
              "base_currency_code"
            ],
            "properties": {
              "payment_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "payment_type": {
                "type": "string",
                "enum": [
                  "PAYOUT"
                ]
              },
              "created_at": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "example": "2020-20-20T20:00:00.633Z",
                "description": "UTC date time format"
              },
              "merchant_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "base_amount": {
                "type": "string",
                "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$"
              },
              "base_currency_code": {
                "description": "Currency code (ISO 4217)",
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            }
          }
        }
      },
      "citPaymentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/paymentRequest"
          }
        ],
        "required": [
          "payment_token_id"
        ],
        "properties": {
          "payment_token_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Token from original payment"
          }
        }
      },
      "metaTransactionList": {
        "type": "object",
        "properties": {
          "next_prev_id": {
            "type": "string"
          }
        }
      },
      "transactionListResponse": {
        "required": [
          "type",
          "data",
          "meta"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "TRANSACTION"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/postback"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/metaTransactionList"
          }
        }
      },
      "refundRequest": {
        "required": [
          "transaction_id"
        ],
        "properties": {
          "transaction_id": {
            "minLength": 1,
            "maxLength": 32,
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "initiated_by": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d{1,18}(?:\\.\\d{1,2})?$",
            "description": "Amount to refund, if not provided, full remaining amount will be refunded\n"
          },
          "currency_code": {
            "type": "string",
            "description": "Currency code (ISO 4217), should be present if amount is provided\n",
            "pattern": "^[A-Z]{3}$"
          }
        }
      },
      "refund": {
        "required": [
          "transaction_id"
        ],
        "properties": {
          "transaction_id": {
            "minLength": 1,
            "maxLength": 32,
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160,
            "description": "**Optional** field\n"
          },
          "initiated_by": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160,
            "description": "**Optional** field\n"
          }
        }
      },
      "refundResponse": {
        "required": [
          "type",
          "data"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "REFUND"
            ]
          },
          "data": {
            "type": "object",
            "$ref": "#/components/schemas/refund"
          }
        }
      }
    },
    "examples": {
      "400": {
        "value": {
          "errors": [
            {
              "error_code": "INVALID_REQUEST_PARAMETER",
              "error_message": "Field `amount` is out of format"
            }
          ]
        }
      },
      "401": {
        "value": {
          "errors": [
            {
              "error_code": "INVALID_REQUEST",
              "error_message": "Not authorized"
            }
          ]
        }
      },
      "404": {
        "value": {
          "timestamp": "2024-04-12T09:30:36.424+00:00",
          "status": 404,
          "error": "Not Found",
          "message": "Subscription for merchant not found",
          "path": "/api/merchant-operations/v4/subscription/2IOZPJIDK2DK3"
        }
      },
      "429": {
        "value": {
          "errors": [
            {
              "error_code": "TOO_MANY_REQUESTS",
              "error_message": "Too many requests for merchant_customer_id:U_001"
            }
          ]
        }
      },
      "500": {
        "value": {
          "errors": [
            {
              "error_code": "INTERNAL_ERROR",
              "error_message": "Something goes wrong"
            }
          ]
        }
      },
      "checkoutRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "SALE",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SALE",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99
            }
          ]
        }
      },
      "overrideTaxCheckoutRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "SALE",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SALE",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99
            }
          ],
          "tax_override": {
            "type": "INCLUDED",
            "label": "TAX",
            "percentage": "50.00"
          }
        }
      },
      "overrideThemeCheckoutRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "SALE",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SALE",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99
            }
          ],
          "payment_form_override": {
            "color": "#ff0000",
            "theme_type": "LIGHT",
            "theme_variables": {
              "backgroundColor": "#f0f0f0",
              "fontFamily": "Roboto, Helvetica, Arial, sans-serif",
              "borderRadius": "8px"
            },
            "theme_rules": {
              ".card": {
                "boxShadow": "rgba(0, 0, 0, 0.12) 0px 4px 10px -2px"
              }
            }
          }
        }
      },
      "checkoutResponse": {
        "value": {
          "id": "2E2CL5R3KC7K3",
          "created_at": "2022-04-15T10:54:03.633Z",
          "merchant_id": "upgatetests",
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "SALE",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SALE",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99
            }
          ],
          "session": {
            "created_at": "2024-02-15T13:38:47.173Z",
            "expires_at": "2024-02-15T13:53:47.173Z",
            "redirect_url": "https://hub.sandbox.upgate.com/redirect/?sessionId=S_001"
          }
        }
      },
      "successSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "transaction_amount": "9.99",
            "transaction_currency_code": "USD",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404",
              "processor_response_amount": "7.87",
              "processor_response_currency_code": "GBP",
              "processor_response_transaction_amount": "7.87",
              "processor_response_base_amount": "9.46"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB",
              "cof_consent_skipped": true
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "forced_3d": false,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "successSalePostbackWithTaxesAndFees": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "transaction_amount": "200.00",
            "transaction_currency_code": "USD",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "GBP",
              "transaction_amount": "200.00",
              "transaction_currency_code": "USD",
              "transaction_fee_amount": "50.00",
              "transaction_fee_currency_code": "USD",
              "transaction_tax_amount": "50.00",
              "transaction_tax_type": "INCLUDED",
              "transaction_tax_label": "TAX",
              "transaction_tax_percentage": "50",
              "transaction_tax_exempt_amount": "5",
              "transaction_tax_currency_code": "USD",
              "base_amount": "190.00",
              "base_currency_code": "EUR",
              "forced_3d": false,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "successSale3dPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "transaction_amount": "7.87",
            "transaction_currency_code": "GBP",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404",
              "three_ds_authentication_value": "MTIzNDU2Nzg5MDA5ODc2NTQzMjE=",
              "three_ds_processor": "NETCETERA",
              "three_ds_server_transaction_id": "b72397aa-8811-430d-9a8a-a44f3a7c2552",
              "three_ds_eci": "05",
              "three_ds_status": "Y",
              "three_ds_challenge_type": "FRICTIONALESS",
              "three_ds_version": "2.1",
              "processor_response_amount": "7.87",
              "processor_response_currency_code": "GBP",
              "processor_response_transaction_amount": "7.87",
              "processor_response_base_amount": "9.46"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB",
              "cof_consent_skipped": true
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "errorSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "base_amount": "4.74",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "language": "en-cy",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "success3dSecureSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2EOZ25TOS2323",
            "transaction_type": "THREE_DS",
            "transaction_status": "SUCCESS",
            "created_at": "2022-06-14T16:14:26.515Z",
            "response_code": 1301,
            "response_text": "3DS verification successful (frictionless)",
            "version": 1,
            "transaction_details": {
              "three_ds_authentication_value": "MTIzNDU2Nzg5MDA5ODc2NTQzMjE=",
              "three_ds_processor": "NETCETERA",
              "three_ds_server_transaction_id": "b72397aa-8811-430d-9a8a-a44f3a7c2552",
              "three_ds_eci": "05",
              "three_ds_status": "Y",
              "three_ds_challenge_type": "FRICTIONALESS",
              "three_ds_version": "2.1"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "base_amount": "4.74",
              "base_currency_code": "EUR",
              "language": "en-cy",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "decline3dSecureSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2JVNHEUA22323",
            "transaction_type": "THREE_DS",
            "transaction_status": "DECLINE",
            "created_at": "2023-02-28T12:57:08.12Z",
            "response_code": 1320,
            "response_text": "3DS verification denied",
            "version": 1,
            "payment_context": {
              "browser_user_agent": "Apache-HttpClient/4.5.13 (Java/17.0.6)",
              "browser_screen_height": "1792",
              "browser_color_depth": "30",
              "browser_language": "en-US",
              "browser_timezone_offset": "-180",
              "browser_screen_width": "1120",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "false",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "VISA",
              "card_bin": "423412",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0002",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "2",
              "card_expiry_year": "2025",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JVNHBIN267K2",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2023-02-28T12:56:54.348Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "amount": "70.00",
              "currency_code": "EUR",
              "transaction_amount": "59.93",
              "transaction_currency_code": "GBP",
              "base_amount": "70.00",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "language": "en-US",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "forced_3d": true,
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "chargebackPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K4",
            "transaction_type": "CHARGEBACK",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "10.4",
              "arn": "331700997347",
              "reference_transaction_id": "2E2CL7BTK23K3"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "base_amount": "9.99",
              "base_currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "chargebackReversalPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K4",
            "transaction_type": "CHARGEBACK_REVERSAL",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "10.4",
              "arn": "331700997347",
              "reference_transaction_id": "2E2CL7BTK23K3"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "fraudAlertPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K4",
            "transaction_type": "FRAUD_ALERT",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "fraud_alert_processor": "ETHOCA",
              "processor_response_code": "Fraud",
              "arn": "331700997347",
              "reference_transaction_id": "2E2CL7BTK23K3"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "base_amount": "9.99",
              "base_currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "subscriptionCheckoutRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "RECURRING",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SUBSCRIPTION",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99,
              "charge": {
                "value": 30,
                "interval": "DAY"
              }
            }
          ]
        }
      },
      "subscriptionCheckoutWithTaxOverrideRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "RECURRING",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SUBSCRIPTION",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99,
              "charge": {
                "value": 30,
                "interval": "DAY"
              }
            }
          ],
          "tax_override": {
            "type": "INCLUDED",
            "label": "TAX",
            "percentage": "50.00"
          }
        }
      },
      "trialSubscriptionCheckoutRequest": {
        "value": {
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "RECURRING",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SUBSCRIPTION",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99,
              "charge": {
                "value": 30,
                "interval": "DAY"
              },
              "trial": {
                "value": 30,
                "interval": "DAY"
              }
            }
          ]
        }
      },
      "subscriptionCheckoutResponse": {
        "value": {
          "id": "2E2CL5R3KC7K3",
          "created_at": "2022-04-15T10:54:03.633Z",
          "merchant_id": "upgatetests",
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "RECURRING",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SUBSCRIPTION",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99,
              "charge": {
                "value": 30,
                "interval": "DAY"
              }
            }
          ],
          "session": {
            "created_at": "2024-02-15T13:38:47.173Z",
            "expires_at": "2024-02-15T13:53:47.173Z",
            "redirect_url": "https://hub.sandbox.upgate.com/redirect/?sessionId=S_001"
          }
        }
      },
      "trialSubscriptionCheckoutResponse": {
        "value": {
          "id": "2E2CL5R3KC7K3",
          "created_at": "2022-04-15T10:54:03.633Z",
          "merchant_id": "upgatetests",
          "payment_data": {
            "merchant_payment_id": "P_001",
            "methods": [
              "CARD",
              "MBWAY"
            ],
            "type": "RECURRING",
            "amount": 9.99,
            "currency_code": "EUR"
          },
          "customer": {
            "merchant_customer_id": "U_001"
          },
          "callback": {
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure"
          },
          "products": [
            {
              "type": "SUBSCRIPTION",
              "name": "Test product name",
              "description": "Test product description",
              "price": 9.99,
              "charge": {
                "value": 30,
                "interval": "DAY"
              },
              "trial": {
                "value": 30,
                "interval": "DAY"
              }
            }
          ],
          "session": {
            "created_at": "2024-02-15T13:38:47.173Z",
            "expires_at": "2024-02-15T13:53:47.173Z",
            "redirect_url": "https://hub.sandbox.upgate.com/redirect/?sessionId=S_001"
          }
        }
      },
      "subscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "34V5XBQPS2DK3",
            "created_at": "2025-09-29T06:46:22.295Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2025-10-29T06:46:22.295Z",
            "merchant_id": "eka",
            "payment_id": "34V5XBCCS6EK3",
            "product_id": "34V5XBCHS2EK3",
            "merchant_payment_id": "a6efka6duf_*_ahhq2n8xll",
            "merchant_customer_id": "e29f984d657d4393fe8843d827f01e89",
            "payment_method": "CARD",
            "currency_code": "GBP",
            "amount": "19.99",
            "transaction_currency_code": "GBP",
            "transaction_amount": "21.99",
            "transaction_fee_amount": "2.00",
            "transaction_fee_currency_code": "GBP",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2025-10-29T06:46:22.295Z",
            "shop_name": "74283709*2*2*1893*703*77600933*0*37d558f1067064c36f2a1db0654905df*37",
            "initial_transaction_id": "34V5XBHG22EK3",
            "version": 1
          }
        }
      },
      "authorizeRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "email": "john_doe@upgate.com",
          "language": "en-us",
          "country_code": "US",
          "forced_3d": true,
          "success_url": "https://example.com/success",
          "failure_url": "https://example.com/failure",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SALE",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description"
            }
          ]
        }
      },
      "authorizeResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "AUTHORIZE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "language": "en-us",
            "country_code": "US",
            "currency_code": "USD",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "forced_3d": true,
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "session": {
              "created_at": "2022-04-15T10:54:03.633Z",
              "expires_at": "2022-04-15T11:09:03.633Z",
              "redirect_url": "https://upgate.com/redirect/?sessionId=2DIAIPQWC67K2"
            },
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ]
          }
        }
      },
      "successAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "email": "john_doe@gmail.com",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.94",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "base_amount": "4.74",
              "base_currency_code": "EUR",
              "country_code": "CY",
              "language": "en-cy",
              "forced_3d": false,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.94",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "successAuthorize3dPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "three_ds_authentication_value": "MTIzNDU2Nzg5MDA5ODc2NTQzMjE=",
              "three_ds_processor": "NETCETERA",
              "three_ds_server_transaction_id": "b72397aa-8811-430d-9a8a-a44f3a7c2552",
              "three_ds_eci": "05",
              "three_ds_status": "Y",
              "three_ds_challenge_type": "FRICTIONALESS",
              "three_ds_version": "2.1"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "email": "john_doe@gmail.com",
              "base_amount": "4.76",
              "base_currency_code": "EUR",
              "country_code": "US",
              "language": "en-us",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "errorAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "base_amount": "4.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "language": "en-cy",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "success3dSecureAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2EOZ25TOS2323",
            "transaction_type": "THREE_DS",
            "transaction_status": "SUCCESS",
            "created_at": "2022-06-14T16:14:26.515Z",
            "response_code": 1301,
            "response_text": "3DS verification successful (frictionless)",
            "transaction_details": {
              "three_ds_authentication_value": "MTIzNDU2Nzg5MDA5ODc2NTQzMjE=",
              "three_ds_processor": "NETCETERA",
              "three_ds_server_transaction_id": "b72397aa-8811-430d-9a8a-a44f3a7c2552",
              "three_ds_eci": "05",
              "three_ds_status": "Y",
              "three_ds_challenge_type": "FRICTIONALESS",
              "three_ds_version": "2.1"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "base_amount": "4.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "language": "en-cy",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "version": 1,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "decline3dSecureAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2JVNHEUA22323",
            "transaction_type": "THREE_DS",
            "transaction_status": "DECLINE",
            "created_at": "2023-02-28T12:57:08.12Z",
            "response_code": 1320,
            "response_text": "3DS verification denied",
            "version": 1,
            "payment_context": {
              "browser_user_agent": "Apache-HttpClient/4.5.13 (Java/17.0.6)",
              "browser_screen_height": "1792",
              "browser_color_depth": "30",
              "browser_language": "en-US",
              "browser_timezone_offset": "-180",
              "browser_screen_width": "1120",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "false",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "VISA",
              "card_bin": "423412",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0002",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "2",
              "card_expiry_year": "2025",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JVNHBIN267K2",
              "payment_type": "AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2023-02-28T12:56:54.348Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "amount": "70.00",
              "currency_code": "EUR",
              "transaction_amount": "59.93",
              "transaction_currency_code": "GBP",
              "base_amount": "70.00",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "language": "en-US",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "forced_3d": true,
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "mitSaleRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "email": "john_doe@upgate.com",
          "country_code": "US",
          "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SALE",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description"
            }
          ]
        }
      },
      "asyncMitSaleResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ]
          }
        }
      },
      "asyncMitSaleWithFeeAndTaxesResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "currency_code": "GBP",
            "transaction_amount": "200.00",
            "transaction_currency_code": "USD",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "base_amount": "190.00",
            "base_currency_code": "EUR",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ]
          }
        }
      },
      "syncMitSaleResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "SUCCESS",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 1000,
                "response_text": "Success",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor_transaction_id": "104335314",
                  "processor": "PAYABL",
                  "processor_response_code": "0",
                  "processor_response_text": "Response text example",
                  "cascade_attempt": "0",
                  "has_been_cascaded": false,
                  "arn": "331700997347"
                },
                "payment_details": {
                  "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_bin_country_name": "UNITED KINGDOM",
                  "card_bin_country_code": "GB",
                  "card_bin_type": "DEBIT",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                },
                "version": 1
              }
            ]
          }
        }
      },
      "syncMitSaleResponseWithFeeAndTaxes": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "currency_code": "GBP",
            "transaction_amount": "200.00",
            "transaction_currency_code": "USD",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "base_amount": "190.00",
            "base_currency_code": "EUR",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "SUCCESS",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 1000,
                "response_text": "Success",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor_transaction_id": "104335314",
                  "processor": "PAYABL",
                  "processor_response_code": "0",
                  "processor_response_text": "Response text example",
                  "cascade_attempt": "0",
                  "has_been_cascaded": false,
                  "arn": "331700997347"
                },
                "payment_details": {
                  "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_bin_country_name": "UNITED KINGDOM",
                  "card_bin_country_code": "GB",
                  "card_bin_type": "DEBIT",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                }
              }
            ]
          }
        }
      },
      "syncMitSaleResponseError": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "ERROR",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 2901,
                "response_text": "Integration error",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor": "PAYABL"
                },
                "payment_details": {
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_bin_country_name": "UNITED KINGDOM",
                  "card_bin_country_code": "GB",
                  "card_bin_type": "DEBIT",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                }
              }
            ]
          }
        }
      },
      "successMitSalePostbackWithFeeAndTaxes": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "EUR",
              "transaction_amount": "200.00",
              "transaction_fee_amount": "50.00",
              "transaction_fee_currency_code": "USD",
              "transaction_tax_amount": "50.00",
              "transaction_tax_type": "INCLUDED",
              "transaction_tax_label": "TAX",
              "transaction_tax_percentage": "50",
              "transaction_tax_exempt_amount": "5",
              "transaction_tax_currency_code": "USD",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "successMitSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404",
              "processor_response_amount": "200.00",
              "processor_response_currency_code": "USD",
              "processor_response_transaction_amount": "200.00",
              "processor_response_base_amount": "190.46"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "GBP",
              "transaction_amount": "200.00",
              "transaction_currency_code": "USD",
              "base_amount": "190.46",
              "base_currency_code": "EUR",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "errorMitSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_SALE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "base_amount": "4.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "mitAuthorizeRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "email": "john_doe@upgate.com",
          "currency_code": "USD",
          "country_code": "US",
          "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SALE",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description"
            }
          ]
        }
      },
      "asyncMitAuthorizeResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_AUTHORIZE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ]
          }
        }
      },
      "syncMitAuthorizeResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_AUTHORIZE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "SUCCESS",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 1000,
                "response_text": "Success",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor_transaction_id": "104335314",
                  "processor": "PAYABL",
                  "processor_response_code": "0",
                  "processor_response_text": "Response text example",
                  "cascade_attempt": "0",
                  "has_been_cascaded": false,
                  "arn": "331700997347"
                },
                "payment_details": {
                  "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_bin_country_name": "UNITED KINGDOM",
                  "card_bin_country_code": "GB",
                  "card_bin_type": "DEBIT",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                },
                "version": 1
              }
            ]
          }
        }
      },
      "syncMitAuthorizeResponseError": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "MIT_AUTHORIZE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "ERROR",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 2901,
                "response_text": "Integration error",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor": "PAYABL"
                },
                "payment_details": {
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_bin_country_name": "UNITED KINGDOM",
                  "card_bin_country_code": "GB",
                  "card_bin_type": "DEBIT",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                },
                "version": 1
              }
            ]
          }
        }
      },
      "successMitAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.00",
              "transaction_fee_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "errorMitAuthorizePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_AUTHORIZE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "base_amount": "4.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "recurringRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "email": "john_doe@upgate.com",
          "language": "en-us",
          "country_code": "US",
          "forced_3d": false,
          "success_url": "https://example.com/success",
          "failure_url": "https://example.com/failure",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SUBSCRIPTION",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description",
              "last_transacion_id": "2JZGULPNK27K3",
              "charge_interval": "DAY",
              "charge_interval_value": 30,
              "is_trial": false
            }
          ]
        }
      },
      "trialRecurringRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "email": "john_doe@upgate.com",
          "language": "en-us",
          "country_code": "US",
          "forced_3d": false,
          "success_url": "https://example.com/success",
          "failure_url": "https://example.com/failure",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SUBSCRIPTION",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description",
              "last_transacion_id": "2JZGULPNK27K3",
              "charge_interval": "DAY",
              "charge_interval_value": 30,
              "is_trial": true,
              "trial_interval_value": 4,
              "trial_interval": "DAY"
            }
          ]
        }
      },
      "recurringResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2JWYCAOYS67K2",
            "payment_type": "RECURRING",
            "payment_method": "CARD",
            "created_at": "2023-03-02T14:51:50.779Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "amount": "9.99",
            "currency_code": "USD",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "email": "john_doe@upgate.com",
            "language": "en-us",
            "country_code": "US",
            "forced_3d": true,
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "session": {
              "created_at": "2023-03-02T14:51:50.779Z",
              "expires_at": "2023-03-02T15:06:50.779Z",
              "redirect_url": "https://hub.dev.upgate.dev/redirect/?sessionId=2JWYCAOYS27K2"
            },
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SUBSCRIPTION",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description",
                "charge_interval": "DAY",
                "charge_interval_value": 30,
                "rebill_transaction_amount": "9.99",
                "rebill_transaction_currency_code": "USD",
                "rebill_transaction_fee_amount": "1.00",
                "rebill_transaction_fee_currency_code": "USD",
                "rebill_transaction_tax_amount": "2.00",
                "rebill_transaction_tax_currency_code": "USD",
                "last_transacion_id": "2JZGULPNK27K3",
                "is_trial": false
              }
            ]
          }
        }
      },
      "trialRecurringResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2JWYCAOYS67K2",
            "payment_type": "RECURRING",
            "payment_method": "CARD",
            "created_at": "2023-03-02T14:51:50.779Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "amount": "9.99",
            "currency_code": "USD",
            "email": "john_doe@upgate.com",
            "language": "en-us",
            "country_code": "US",
            "forced_3d": true,
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "session": {
              "created_at": "2023-03-02T14:51:50.779Z",
              "expires_at": "2023-03-02T15:06:50.779Z",
              "redirect_url": "https://hub.dev.upgate.dev/redirect/?sessionId=2JWYCAOYS27K2"
            },
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_type": "SUBSCRIPTION",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description",
                "charge_interval": "DAY",
                "charge_interval_value": 30,
                "is_trial": true,
                "trial_interval_value": 4,
                "trial_interval": "DAY",
                "rebill_transaction_amount": "9.99",
                "rebill_transaction_currency_code": "USD",
                "rebill_transaction_fee_amount": "1.00",
                "rebill_transaction_fee_currency_code": "USD",
                "last_transacion_id": "2JZGULPNK27K3"
              }
            ]
          }
        }
      },
      "successRecurringTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24",
              "customer_selected_country_code": "GB"
            },
            "payment": {
              "initial_subscription_id": "2E2CL5M3KC7K3",
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "amount": "9.99",
              "country_code": "US",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.99",
              "transaction_fee_currency_code": "GBP",
              "currency_code": "USD",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "rebill_transaction_amount": "9.99",
                  "rebill_transaction_currency_code": "USD",
                  "rebill_transaction_fee_amount": "1.99",
                  "rebill_transaction_fee_currency_code": "USD",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "successRecurringSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-05-14T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "7.87",
            "transaction_currency_code": "GBP",
            "transaction_fee_amount": "1.99",
            "transaction_fee_currency_code": "GBP",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-05-14T10:54:03.633Z",
            "retry_count": 0,
            "shop_name": "Shop name",
            "shop_url": "https://shop.com",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "successTrialRecurringTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "base_amount": "9.99",
              "base_currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "is_trial": true,
                  "trial_interval_value": 4,
                  "trial_interval": "DAY",
                  "rebill_transaction_amount": "9.99",
                  "rebill_transaction_currency_code": "USD",
                  "rebill_transaction_fee_amount": "1.00",
                  "rebill_transaction_fee_currency_code": "USD",
                  "last_transacion_id": "2JZGULPNK27K3"
                }
              ]
            }
          }
        }
      },
      "successTrialRecurringSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-04-19T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "7.87",
            "transaction_currency_code": "GBP",
            "is_trial": true,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-04-19T10:54:03.633Z",
            "retry_count": 0,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "errorRecurringTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JWYCAOYS67K2",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2023-03-02T14:51:50.779Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "errorTrialRecurringTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "AUTHORIZE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JWYCAOYS67K2",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2023-03-02T14:51:50.779Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "email": "john_doe@upgate.com",
              "language": "en-us",
              "country_code": "US",
              "forced_3d": true,
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "is_trial": true,
                  "trial_interval_value": 4,
                  "trial_interval": "DAY",
                  "rebill_transaction_amount": "9.99",
                  "rebill_transaction_currency_code": "USD",
                  "last_transacion_id": "2JZGULPNK27K3"
                }
              ]
            }
          }
        }
      },
      "successRebillTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_i": "2JXMSVSLS25K2",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2023-03-03T14:46:20.487Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "account_id",
              "processor_transaction_id": "101140564",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404",
              "processor_response_amount": "7.87",
              "processor_response_currency_code": "GBP",
              "processor_response_transaction_amount": "7.87",
              "processor_response_base_amount": "9.46"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "510000",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0008",
              "customer_full_name": "QA Autotests",
              "card_expiry_month": "3",
              "card_expiry_year": "2025",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JXMSVP3K2DK2",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2023-03-03T14:46:20.038Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "777",
              "amount": "10.01",
              "currency_code": "USD",
              "base_amount": "10.01",
              "base_currency_code": "USD",
              "transaction_amount": "200.00",
              "transaction_fee_amount": "50.00",
              "transaction_fee_currency_code": "GBP",
              "transaction_tax_amount": "50.00",
              "transaction_tax_type": "INCLUDED",
              "transaction_tax_label": "TAX",
              "transaction_tax_percentage": "50",
              "transaction_tax_exempt_amount": "5",
              "transaction_tax_currency_code": "GBP",
              "email": "john_dow@upgate.com",
              "country_code": "CY",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": "2LXOSVP3K2DK2",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "rebill_transaction_amount": "9.99",
                  "rebill_transaction_currency_code": "USD",
                  "rebill_transaction_fee_amount": "1.99",
                  "rebill_transaction_fee_currency_code": "USD",
                  "rebill_transaction_tax_amount": "1.00",
                  "rebill_transaction_tax_currency_code": "USD",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "successRebillSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-06-14T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-06-14T10:54:03.633Z",
            "retry_count": 0,
            "shop_name": "Shop name",
            "shop_url": "https://shop.com",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "errorRebillTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2JXMV6XVC25K2",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2023-03-03T14:51:20.173Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "account_id",
              "processor": "EMERCHANTPAY"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "E E",
              "card_expiry_month": "9",
              "card_expiry_year": "2023",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JXMV6WPC2DK2",
              "payment_type": "RECURRING",
              "payment_method": "CARD",
              "created_at": "2023-03-03T14:51:20.021Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "777",
              "amount": "333.12",
              "currency_code": "EUR",
              "transaction_amount": "285.20",
              "transaction_currency_code": "GBP",
              "base_amount": "333.12",
              "base_currency_code": "EUR",
              "email": "john_dow@upgate.com",
              "country_code": "CY",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shopName": "test shop",
              "shopUrl": "https://test.shop",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "errorRebillSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-06-14T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "7.87",
            "transaction_currency_code": "GBP",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-06-17T10:54:03.633Z",
            "retry_count": 1,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "errorRecurringRebillSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-06-14T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "7.87",
            "transaction_currency_code": "GBP",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-06-17T10:54:03.633Z",
            "retry_count": 1,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "errorRecurringRebillTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2JXMV6XVC25K2",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2023-03-03T14:51:20.173Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "account_id",
              "processor": "EMERCHANTPAY"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "E E",
              "card_expiry_month": "9",
              "card_expiry_year": "2023",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JXMV6WPC2DK2",
              "payment_type": "RECURRING_REBILL",
              "payment_method": "CARD",
              "created_at": "2023-03-03T14:51:20.021Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "777",
              "amount": "333.12",
              "currency_code": "EUR",
              "transaction_amount": "285.20",
              "transaction_currency_code": "GBP",
              "base_amount": "333.12",
              "base_currency_code": "EUR",
              "email": "john_dow@upgate.com",
              "country_code": "CY",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shopName": "test shop",
              "shopUrl": "https://test.shop",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "successRecurringRebillSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2P2G5SSKK2DK2",
            "created_at": "2022-04-15T10:54:03.633Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2022-06-14T10:54:03.633Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_customer_id": "U_001",
            "payment_method": "CARD",
            "amount": "9.99",
            "currency_code": "USD",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 30,
            "is_rebill_enabled": true,
            "retry_at": "2022-06-14T10:54:03.633Z",
            "retry_count": 0,
            "shop_name": "Shop name",
            "shop_url": "https://shop.com",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "successRecurringRebillTransactionPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_i": "2JXMSVSLS25K2",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2023-03-03T14:46:20.487Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "account_id",
              "processor_transaction_id": "101140564",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "510000",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0008",
              "customer_full_name": "QA Autotests",
              "card_expiry_month": "3",
              "card_expiry_year": "2025",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2JXMSVP3K2DK2",
              "payment_type": "RECURRING_REBILL",
              "payment_method": "CARD",
              "created_at": "2023-03-03T14:46:20.038Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "777",
              "amount": "10.01",
              "currency_code": "USD",
              "base_amount": "10.01",
              "base_currency_code": "USD",
              "transaction_amount": "200.00",
              "transaction_fee_amount": "50.00",
              "transaction_fee_currency_code": "GBP",
              "transaction_tax_amount": "50.00",
              "transaction_tax_type": "INCLUDED",
              "transaction_tax_label": "TAX",
              "transaction_tax_percentage": "50",
              "transaction_tax_exempt_amount": "5",
              "transaction_tax_currency_code": "GBP",
              "email": "john_dow@upgate.com",
              "country_code": "CY",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": "2LXOSVP3K2DK2",
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SUBSCRIPTION",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description",
                  "charge_interval": "DAY",
                  "charge_interval_value": 30,
                  "rebill_transaction_amount": "9.99",
                  "rebill_transaction_currency_code": "USD",
                  "rebill_transaction_fee_amount": "1.99",
                  "rebill_transaction_fee_currency_code": "USD",
                  "rebill_transaction_tax_amount": "1.00",
                  "rebill_transaction_tax_currency_code": "USD",
                  "last_transacion_id": "2JZGULPNK27K3",
                  "is_trial": false
                }
              ]
            }
          }
        }
      },
      "enableSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2JWZGUKDK2DK2",
            "created_at": "2023-02-15T16:11:50.694Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2023-03-13T16:11:50.694Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "777",
            "payment_method": "CARD",
            "currency_code": "USD",
            "amount": "10.01",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 11,
            "is_rebill_enabled": true,
            "retry_at": "2023-03-13T16:11:50.694Z",
            "retry_count": 0,
            "retry_total_count": 2,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "subscriptionListResponse": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": [
            {
              "subscription_id": "2JWZGUKDK2DK2",
              "created_at": "2023-02-15T16:11:50.694Z",
              "subscription_status": "ACTIVE",
              "expires_at": "2023-03-13T16:11:50.694Z",
              "merchant_id": "UpGate",
              "payment_id": "2E2CL5R3KC7K3",
              "product_id": "2JZGULPNK27K2",
              "merchant_product_id": "R_001",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "777",
              "payment_method": "CARD",
              "currency_code": "USD",
              "amount": "10.01",
              "is_trial": false,
              "charge_interval": "DAY",
              "charge_interval_value": 11,
              "is_rebill_enabled": true,
              "retry_at": "2023-03-13T16:11:50.694Z",
              "retry_count": 0,
              "retry_total_count": 2,
              "version": 1
            },
            {
              "subscription_id": "2JWZGUKDK2DK9",
              "created_at": "2024-03-10T11:09:44.832Z",
              "subscription_status": "ACTIVE",
              "expires_at": "2024-09-10T11:09:44.832Z",
              "merchant_id": "UpGate",
              "payment_id": "2E2CL5R9KC7K0",
              "product_id": "2JZGULPRK27K1",
              "merchant_product_id": "R_002",
              "merchant_payment_id": "P_002",
              "merchant_customer_id": "777",
              "payment_method": "CARD",
              "currency_code": "USD",
              "amount": "111.50",
              "is_trial": false,
              "charge_interval": "DAY",
              "charge_interval_value": 11,
              "is_rebill_enabled": true,
              "retry_at": "2024-06-10T11:09:44.832Z",
              "retry_count": 0,
              "retry_total_count": 2,
              "version": 1
            }
          ],
          "meta": {
            "pageNumber": 1,
            "pageSize": 100
          }
        }
      },
      "enableSubscription": {
        "value": {
          "is_rebill_enabled": true
        }
      },
      "disableSubscription": {
        "value": {
          "is_rebill_enabled": false
        }
      },
      "enableSubscriptionResponse": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2JWZGUKDK2DK2",
            "created_at": "2023-02-15T16:11:50.694Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2023-03-13T16:11:50.694Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "777",
            "payment_method": "CARD",
            "currency_code": "USD",
            "amount": "10.01",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 11,
            "is_rebill_enabled": true,
            "retry_at": "2023-03-13T16:11:50.694Z",
            "retry_count": 0,
            "retry_total_count": 2,
            "version": 1
          }
        }
      },
      "disableSubscriptionResponse": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2JWZGUKDK2DK2",
            "created_at": "2023-02-15T16:11:50.694Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2023-03-13T16:11:50.694Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "777",
            "payment_method": "CARD",
            "currency_code": "EUR",
            "amount": "10.01",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 11,
            "is_rebill_enabled": false,
            "retry_at": "2023-03-13T16:11:50.694Z",
            "retry_count": 0,
            "retry_total_count": 2,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "version": 1
          }
        }
      },
      "500_2": {
        "value": {
          "timestamp": "2024-04-12T09:30:36.424+00:00",
          "status": 500,
          "error": "Internal Server Error",
          "message": "Something went wrong",
          "path": "/api/merchant-operations/v4/subscription/2IOZPJIDK2DK3"
        }
      },
      "disableSubscriptionPostback": {
        "value": {
          "type": "SUBSCRIPTION",
          "data": {
            "subscription_id": "2JWZGUKDK2DK2",
            "created_at": "2023-02-15T16:11:50.694Z",
            "subscription_status": "ACTIVE",
            "expires_at": "2023-03-13T16:11:50.694Z",
            "merchant_id": "UpGate",
            "payment_id": "2E2CL5R3KC7K3",
            "product_id": "2JZGULPNK27K2",
            "merchant_product_id": "R_001",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "777",
            "payment_method": "CARD",
            "currency_code": "USD",
            "amount": "10.01",
            "transaction_amount": "7.87",
            "is_trial": false,
            "charge_interval": "DAY",
            "charge_interval_value": 11,
            "is_rebill_enabled": false,
            "retry_at": "2023-03-13T16:11:50.694Z",
            "retry_count": 0,
            "retry_total_count": 2,
            "shop_name": "test shop",
            "shop_url": "https://test.shop",
            "initial_transaction_id": "2E2CL7BTK23K3",
            "version": 1
          }
        }
      },
      "tokenRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "email": "john_doe@upgate.com",
          "language": "en-us",
          "country_code": "US",
          "prefilled_card_holder": "John Doe",
          "success_url": "https://example.com/success",
          "failure_url": "https://example.com/failure"
        }
      },
      "tokenResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "TOKEN",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "language": "en-us",
            "country_code": "US",
            "prefilled_card_holder": "John Doe",
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "session": {
              "created_at": "2022-04-15T10:54:03.633Z",
              "expires_at": "2022-04-15T11:09:03.633Z",
              "redirect_url": "https://upgate.com/redirect/?sessionId=2DIAIPQWC67K2"
            }
          }
        }
      },
      "successTokenPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "TOKEN",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_bin_country_name": "UNITED KINGDOM",
              "card_bin_country_code": "GB",
              "card_bin_type": "DEBIT",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "TOKEN",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "language": "en-cy",
              "success_url": "https://example.com/success",
              "failure_url": "https://example.com/failure",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "initial_subscription_id": null
            }
          }
        }
      },
      "cardPayoutRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "payment_details": {
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE="
          }
        }
      },
      "cryptoPayoutRequest": {
        "value": {
          "payment_method": "CRYPTO",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "0.1",
          "currency_code": "USDT",
          "payment_details": {
            "crypto_network": "TRON",
            "crypto_address": "TBia4uHnb3oSSZm5isP284cA7Np1v15Vhi",
            "crypto_withdrawal_address": "TBia4uHnb3oSSZm5isP284cA7Np1v15Vhi"
          }
        }
      },
      "sepaPayoutRequest": {
        "value": {
          "payment_method": "SEPA",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "100",
          "currency_code": "GBP",
          "payment_details": {
            "creditor_name": "JOHN SMITH",
            "creditor_bank_name": "BANK NAME",
            "creditor_bank_bic": "12345678901",
            "creditor_bank_account": "1234567890112345678901"
          }
        }
      },
      "paxumPayoutRequest": {
        "value": {
          "payment_method": "PAXUM",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "100",
          "currency_code": "USD",
          "description": "Profile Name: John Smith; D.O.B: 1980/01/01; Invoice 123456",
          "payment_details": {
            "payment_email": "admin@example.com",
            "beneficiary_email": "test@test.com",
            "reference": "some reference"
          }
        }
      },
      "banktransferNoProcessorCodePayoutRequest": {
        "value": {
          "payment_method": "BANK_TRANSFER",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "100",
          "currency_code": "KRW",
          "description": "Payment for products",
          "payment_details": {
            "creditor_country": "KR",
            "creditor_name": "JOHN SMITH",
            "creditor_email": "success@bank",
            "creditor_phone": "9555777666",
            "creditor_bank_code": "KPO",
            "creditor_bank_account": "1234567890112345678901"
          }
        }
      },
      "banktransferWithProcessorCodePayoutRequest": {
        "value": {
          "payment_method": "BANK_TRANSFER",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "100",
          "currency_code": "KRW",
          "description": "Payment for products",
          "payment_details": {
            "creditor_country": "KR",
            "creditor_name": "JOHN SMITH",
            "creditor_email": "success@bank",
            "creditor_phone": "9555777666",
            "creditor_bank_code": "KPO",
            "creditor_bank_number": "50007",
            "creditor_bank_account": "1234567890112345678901"
          }
        }
      },
      "response": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "PAYOUT",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "amount": "9.99",
            "currency_code": "USD",
            "base_currency_code": "EUR",
            "base_amount": "9.46",
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE="
            }
          }
        }
      },
      "successPostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "PAYOUT",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "TRUSTPAY",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347"
            },
            "payment_context": {
              "browser_user_agent": "PostmanRuntime/7.29.0",
              "browser_screen_height": "8",
              "browser_color_depth": "7",
              "browser_language": "6",
              "browser_timezone_offset": "10",
              "browser_screen_width": "9",
              "challenge_window_size": "04",
              "browser_has_js_enabled": "true",
              "browser_has_java_enabled": "true",
              "browser_accept_header": "*/*",
              "ip": "192.168.0.1"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE="
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "PAYOUT",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "9.99",
              "transaction_currency_code": "USD",
              "base_amount": "9.46",
              "base_currency_code": "EUR"
            }
          }
        }
      },
      "successPostbackBankTransfer": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "33WWJSYQK2H23",
            "transaction_type": "PAYOUT",
            "transaction_status": "SUCCESS",
            "created_at": "2025-08-13T07:38:45.978Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "123",
              "processor_transaction_id": "1340649944",
              "processor": "EXXOGATE",
              "processor_response_code": "7",
              "processor_requested": true,
              "cascade_attempt": "0"
            },
            "payment_details": {
              "creditor_name": "JOHN SMITH",
              "creditor_bank_account": "1234567890112345678901",
              "creditor_country": "KR",
              "creditor_email": "success@bank",
              "creditor_phone": "9555777666",
              "creditor_bank_code": "KPO",
              "creditor_bank_number": "50007"
            },
            "payment": {
              "payment_id": "33WWJSTIS6EK3",
              "created_at": "2025-08-13T07:38:45.307Z",
              "merchant_id": "eka",
              "checkout_id": null,
              "payment_type": "PAYOUT",
              "payment_method": "BANK_TRANSFER",
              "merchant_customer_id": "cust_3f8bf314-3fc8-4f53-a97d-0209ce728c2e",
              "merchant_payment_id": "2025-08-13T07:38:45.015Z",
              "email": null,
              "country_code": null,
              "shop_name": null,
              "shop_url": null,
              "amount": "100",
              "currency_code": "KRW",
              "transaction_amount": "100",
              "transaction_currency_code": "KRW",
              "transaction_fee_amount": null,
              "transaction_fee_currency_code": null,
              "base_amount": "108.62",
              "base_currency_code": "USD",
              "transaction_tax_amount": null,
              "transaction_tax_currency_code": null,
              "transaction_tax_type": null,
              "transaction_tax_label": null,
              "transaction_tax_percentage": null,
              "transaction_tax_exempt_amount": null,
              "language": null,
              "forced_3d": null,
              "success_url": null,
              "failure_url": null,
              "payment_token_id": null,
              "products": [],
              "description": "desc",
              "initial_subscription_id": null
            }
          }
        }
      },
      "saleRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "amount": "9.99",
          "currency_code": "USD",
          "email": "john_doe@upgate.com",
          "language": "en-us",
          "country_code": "US",
          "forced_3d": true,
          "success_url": "https://example.com/success",
          "failure_url": "https://example.com/failure",
          "shop_name": "my shop",
          "shop_url": "https://shop.com",
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SALE",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description"
            }
          ]
        }
      },
      "saleResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "language": "en-us",
            "country_code": "US",
            "currency_code": "USD",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "transaction_amount": "200.00",
            "transaction_fee_amount": "50.00",
            "transaction_fee_currency_code": "USD",
            "transaction_tax_amount": "50.00",
            "transaction_tax_type": "INCLUDED",
            "transaction_tax_label": "TAX",
            "transaction_tax_percentage": "50",
            "transaction_tax_exempt_amount": "5",
            "transaction_tax_currency_code": "USD",
            "forced_3d": true,
            "success_url": "https://example.com/success",
            "failure_url": "https://example.com/failure",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "session": {
              "created_at": "2022-04-15T10:54:03.633Z",
              "expires_at": "2022-04-15T11:09:03.633Z",
              "redirect_url": "https://upgate.com/redirect/?sessionId=2DIAIPQWC67K2"
            },
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ]
          }
        }
      },
      "citSaleRequest": {
        "value": {
          "payment_method": "CARD",
          "merchant_payment_id": "P_001",
          "merchant_customer_id": "U_001",
          "email": "john_doe@upgate.com",
          "amount": "9.99",
          "currency_code": "EUR",
          "country_code": "CY",
          "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
          "forced_3d": true,
          "callback": {
            "success_url": "https://example.com/SUCCESS",
            "failure_url": "https://example.com/ERROR"
          },
          "products": [
            {
              "merchant_product_id": "R_001",
              "product_type": "SALE",
              "product_price": "9.99",
              "product_name": "Test product name",
              "product_description": "Test product description"
            }
          ]
        }
      },
      "asyncCitSaleResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "32ROXKZQS6EK3",
            "payment_type": "SALE",
            "payment_method": "CARD",
            "created_at": "2025-06-16T11:21:57.979Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": null,
            "success_url": "https://example.com/SUCCESS",
            "failure_url": "https://example.com/ERROR",
            "session": {
              "created_at": "2025-06-16T11:21:57.935Z",
              "expires_at": "2025-06-16T12:21:57.935Z",
              "redirect_url": "https://upgate.com/redirect/?sessionId=2DIAIPQWC67K2"
            }
          }
        }
      },
      "asyncCitSaleWith3dsResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "SUCCESS",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 1000,
                "response_text": "Success",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor_transaction_id": "104335314",
                  "processor": "PAYABL",
                  "processor_response_code": "0",
                  "processor_response_text": "Response text example",
                  "cascade_attempt": "0",
                  "has_been_cascaded": false,
                  "arn": "331700997347"
                },
                "payment_details": {
                  "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                }
              }
            ]
          }
        }
      },
      "syncCitSaleResponse": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "32ROXKZQS6EK3",
            "payment_type": "SALE",
            "payment_method": "CARD",
            "created_at": "2025-06-16T11:21:57.979Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "base_amount": "9.46",
            "base_currency_code": "EUR",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": null,
            "success_url": "https://example.com/SUCCESS",
            "failure_url": "https://example.com/ERROR",
            "session": {
              "created_at": "2025-06-16T11:21:57.935Z",
              "expires_at": "2025-06-16T12:21:57.935Z",
              "redirect_url": "https://upgate.com/redirect/?sessionId=2DIAIPQWC67K2"
            }
          }
        }
      },
      "syncCitSaleResponseError": {
        "value": {
          "type": "PAYMENT",
          "data": {
            "payment_id": "2E2CL5R3KC7K3",
            "payment_type": "SALE",
            "payment_method": "CARD",
            "created_at": "2022-04-15T10:54:03.633Z",
            "merchant_id": "UpGate",
            "merchant_payment_id": "P_001",
            "merchant_customer_id": "U_001",
            "email": "john_doe@upgate.com",
            "amount": "9.99",
            "country_code": "US",
            "currency_code": "USD",
            "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
            "shop_name": "my shop",
            "shop_url": "https://shop.com",
            "products": [
              {
                "merchant_product_id": "R_001",
                "product_id": "2JZGULPNK27K2",
                "product_type": "SALE",
                "product_price": "9.99",
                "product_name": "Test product name",
                "product_description": "Test product description"
              }
            ],
            "transactions": [
              {
                "transaction_id": "2E2CL7BTK23K3",
                "transaction_type": "SALE",
                "transaction_status": "ERROR",
                "created_at": "2022-05-13T12:24:37.094Z",
                "response_code": 2901,
                "response_text": "Integration error",
                "transaction_details": {
                  "processor_merchant_account_id": "28148",
                  "processor": "PAYABL"
                },
                "payment_details": {
                  "card_scheme": "MASTERCARD",
                  "card_bin": "523205",
                  "card_last_four_digits": "0003",
                  "customer_full_name": "John Doe",
                  "customer_phone_number": "1234567890",
                  "customer_email": "johndoe@gmail.com",
                  "customer_first_name": "John",
                  "customer_last_name": "Doe",
                  "payment_token_type": "CARD",
                  "card_expiry_month": "12",
                  "card_expiry_year": "2024"
                }
              }
            ]
          }
        }
      },
      "successCitSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "SUCCESS",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 1000,
            "response_text": "Success",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor_transaction_id": "104335314",
              "processor": "PAYABL",
              "processor_response_code": "0",
              "processor_response_text": "Response text example",
              "cascade_attempt": "0",
              "has_been_cascaded": false,
              "arn": "331700997347",
              "rrn": "212357021766",
              "payment_method_reference_type": "UTR",
              "payment_method_reference_number": "7210158404",
              "processor_response_amount": "7.87",
              "processor_response_currency_code": "GBP",
              "processor_response_transaction_amount": "7.87",
              "processor_response_base_amount": "9.46"
            },
            "payment_details": {
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_SALE",
              "payment_method": "CARD",
              "created_at": "2022-04-15T10:54:03.633Z",
              "merchant_id": "UpGate",
              "merchant_payment_id": "P_001",
              "merchant_customer_id": "U_001",
              "email": "john_doe@upgate.com",
              "country_code": "US",
              "amount": "9.99",
              "currency_code": "USD",
              "transaction_amount": "7.87",
              "transaction_currency_code": "GBP",
              "transaction_fee_amount": "1.99",
              "transaction_fee_currency_code": "GBP",
              "base_amount": "9.46",
              "base_currency_code": "EUR",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "R_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "9.99",
                  "product_transaction_price": "7.87",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "errorCitSalePostback": {
        "value": {
          "type": "TRANSACTION",
          "data": {
            "transaction_id": "2E2CL7BTK23K3",
            "transaction_type": "SALE",
            "transaction_status": "ERROR",
            "created_at": "2022-05-13T12:24:37.094Z",
            "response_code": 2901,
            "response_text": "Integration error",
            "version": 1,
            "transaction_details": {
              "processor_merchant_account_id": "28148",
              "processor": "PAYABL"
            },
            "payment_details": {
              "card_scheme": "MASTERCARD",
              "card_bin": "523205",
              "card_last_four_digits": "0003",
              "customer_full_name": "John Doe",
              "customer_phone_number": "1234567890",
              "customer_email": "johndoe@gmail.com",
              "customer_first_name": "John",
              "customer_last_name": "Doe",
              "payment_token_type": "CARD",
              "card_expiry_month": "12",
              "card_expiry_year": "2024",
              "card_data_id": "2VNRH5IP22E24"
            },
            "payment": {
              "payment_id": "2E2CL5R3KC7K3",
              "payment_type": "MIT_SALE",
              "payment_method": "CARD",
              "created_at": "2022-05-13T12:24:30.854Z",
              "merchant_id": "UpGate",
              "merchant_customer_id": "U_001",
              "merchant_payment_id": "P_001",
              "amount": "5.00",
              "currency_code": "USD",
              "transaction_amount": "3.98",
              "transaction_currency_code": "GBP",
              "base_amount": "4.46",
              "base_currency_code": "EUR",
              "email": "john_doe@upgate.com",
              "country_code": "CY",
              "payment_token_id": "+wjPh608B8r2B2b3bG8IxARp6c1LqojODr/d19/ZPUE=",
              "shop_name": "my shop",
              "shop_url": "https://shop.com",
              "initial_subscription_id": null,
              "products": [
                {
                  "merchant_product_id": "P_001",
                  "product_id": "2JZGULPNK27K2",
                  "product_type": "SALE",
                  "product_price": "5.00",
                  "product_transaction_price": "3.98",
                  "product_name": "Test product name",
                  "product_description": "Test product description"
                }
              ]
            }
          }
        }
      },
      "transactionListResponse": {
        "value": {
          "type": "TRANSACTION",
          "data": [
            {
              "transaction_id": "347ZIIJG22H23",
              "transaction_type": "SALE",
              "transaction_status": "DECLINE",
              "created_at": "2025-08-27T10:38:14.448Z",
              "response_code": 2312,
              "response_text": "Email blacklist",
              "transaction_amount": "146.64",
              "transaction_currency_code": "USD",
              "version": 1,
              "transaction_details": {
                "cascade_attempt": "0"
              },
              "payment_context": {
                "browser_user_agent": "PostmanRuntime/7.43.0",
                "browser_screen_height": "1080",
                "browser_color_depth": "24",
                "browser_language": "en-US",
                "browser_timezone_offset": "-180",
                "browser_screen_width": "1920",
                "challenge_window_size": "04",
                "browser_has_js_enabled": "true",
                "browser_has_java_enabled": "false",
                "browser_accept_header": "*/*",
                "ip": "27.61.133.202"
              },
              "payment_details": {
                "card_scheme": "MASTERCARD",
                "card_bin": "510000",
                "card_bin_country_name": "",
                "card_bin_country_code": "",
                "card_bin_type": "",
                "card_bin_bank": "RBS BANK (ROMANIA)",
                "card_bin_category": "",
                "card_scheme_type": "MASTERCARD",
                "card_last_four_digits": "0008",
                "customer_full_name": "John Doe",
                "card_expiry_month": "12",
                "card_expiry_year": "2034",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "payment_token_type": "CARD",
                "card_data_id": "2ZLY5A6GK2E23"
              },
              "payment": {
                "payment_id": "347ZIIHVC6EK3",
                "payment_type": "MIT_SALE",
                "payment_method": "CARD",
                "created_at": "2025-08-27T10:38:14.253Z",
                "merchant_id": "upgatetests",
                "merchant_customer_id": "1000",
                "merchant_payment_id": "0ff1de6b-d99b-4eb3-9df0-5149ffc0d17a",
                "email": "dadiv@wisebits.com",
                "amount": "90.00",
                "currency_code": "USD",
                "base_amount": "159.28",
                "base_currency_code": "USD",
                "transaction_amount": "146.64",
                "transaction_currency_code": "USD",
                "transaction_fee_amount": "43.31",
                "transaction_fee_currency_code": "USD",
                "transaction_tax_amount": "13.33",
                "transaction_tax_currency_code": "USD",
                "transaction_tax_type": "ON_TOP",
                "transaction_tax_label": "VAT",
                "transaction_tax_percentage": "10",
                "transaction_tax_exempt_amount": "0",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "country_code": "CY",
                "shop_name": "test shop",
                "shop_url": "https://test.com",
                "language": null,
                "forced_3d": null,
                "success_url": null,
                "failure_url": null,
                "products": [
                  {
                    "product_id": "347ZIIHZK2EK3",
                    "product_type": "SALE",
                    "merchant_product_id": "1",
                    "product_price": "100.00",
                    "product_transaction_price": "100.00",
                    "product_name": "test-product-name",
                    "product_description": "test-product-description"
                  }
                ],
                "checkout_id": null,
                "initial_subscription_id": null
              }
            },
            {
              "transaction_id": "347ZIFBKC2H23",
              "transaction_type": "SALE",
              "transaction_status": "DECLINE",
              "created_at": "2025-08-27T10:38:01.153Z",
              "response_code": 2312,
              "response_text": "Email blacklist",
              "transaction_amount": "146.64",
              "transaction_currency_code": "USD",
              "version": 1,
              "transaction_details": {
                "cascade_attempt": "0"
              },
              "payment_context": {
                "browser_user_agent": "PostmanRuntime/7.43.0",
                "browser_screen_height": "1080",
                "browser_color_depth": "24",
                "browser_language": "en-US",
                "browser_timezone_offset": "-180",
                "browser_screen_width": "1920",
                "challenge_window_size": "04",
                "browser_has_js_enabled": "true",
                "browser_has_java_enabled": "false",
                "browser_accept_header": "*/*",
                "ip": "27.61.133.202"
              },
              "payment_details": {
                "card_scheme": "MASTERCARD",
                "card_bin": "510000",
                "card_bin_country_name": "",
                "card_bin_country_code": "",
                "card_bin_type": "",
                "card_bin_bank": "RBS BANK (ROMANIA)",
                "card_bin_category": "",
                "card_scheme_type": "MASTERCARD",
                "card_last_four_digits": "0008",
                "customer_full_name": "John Doe",
                "card_expiry_month": "12",
                "card_expiry_year": "2034",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "payment_token_type": "CARD",
                "card_data_id": "2ZLY5A6GK2E23"
              },
              "payment": {
                "payment_id": "347ZIFAKC6EK3",
                "payment_type": "MIT_SALE",
                "payment_method": "CARD",
                "created_at": "2025-08-27T10:38:01.025Z",
                "merchant_id": "upgatetests",
                "merchant_customer_id": "1000",
                "merchant_payment_id": "004155bb-1156-4c75-923f-aa992512b3df",
                "email": "dadiv@wisebits.com",
                "amount": "90.00",
                "currency_code": "USD",
                "base_amount": "159.28",
                "base_currency_code": "USD",
                "transaction_amount": "146.64",
                "transaction_currency_code": "USD",
                "transaction_fee_amount": "43.31",
                "transaction_fee_currency_code": "USD",
                "transaction_tax_amount": "13.33",
                "transaction_tax_currency_code": "USD",
                "transaction_tax_type": "ON_TOP",
                "transaction_tax_label": "VAT",
                "transaction_tax_percentage": "10",
                "transaction_tax_exempt_amount": "0",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "country_code": "CY",
                "shop_name": "test shop",
                "shop_url": "https://test.com",
                "language": null,
                "forced_3d": null,
                "success_url": null,
                "failure_url": null,
                "products": [
                  {
                    "product_id": "347ZIFAMS2EK3",
                    "product_type": "SALE",
                    "merchant_product_id": "1",
                    "product_price": "100.00",
                    "product_transaction_price": "100.00",
                    "product_name": "test-product-name",
                    "product_description": "test-product-description"
                  }
                ],
                "checkout_id": null,
                "initial_subscription_id": null
              }
            },
            {
              "transaction_id": "347ZHDT222H23",
              "transaction_type": "SALE",
              "transaction_status": "DECLINE",
              "created_at": "2025-08-27T10:35:44.128Z",
              "response_code": 2312,
              "response_text": "Email blacklist",
              "transaction_amount": "146.64",
              "transaction_currency_code": "USD",
              "version": 1,
              "transaction_details": {
                "cascade_attempt": "0"
              },
              "payment_context": {
                "browser_user_agent": "PostmanRuntime/7.43.0",
                "browser_screen_height": "1080",
                "browser_color_depth": "24",
                "browser_language": "en-US",
                "browser_timezone_offset": "-180",
                "browser_screen_width": "1920",
                "challenge_window_size": "04",
                "browser_has_js_enabled": "true",
                "browser_has_java_enabled": "false",
                "browser_accept_header": "*/*",
                "ip": "27.61.133.202"
              },
              "payment_details": {
                "card_scheme": "MASTERCARD",
                "card_bin": "510000",
                "card_bin_country_name": "",
                "card_bin_country_code": "",
                "card_bin_type": "",
                "card_bin_bank": "RBS BANK (ROMANIA)",
                "card_bin_category": "",
                "card_scheme_type": "MASTERCARD",
                "card_last_four_digits": "0008",
                "customer_full_name": "John Doe",
                "card_expiry_month": "12",
                "card_expiry_year": "2034",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "payment_token_type": "CARD",
                "card_data_id": "2ZLY5A6GK2E23"
              },
              "payment": {
                "payment_id": "347ZHDR6S6EK3",
                "payment_type": "MIT_SALE",
                "payment_method": "CARD",
                "created_at": "2025-08-27T10:35:43.891Z",
                "merchant_id": "upgatetests",
                "merchant_customer_id": "1000",
                "merchant_payment_id": "00643b9f-67fe-45a1-bad5-5c17c41374cb",
                "email": "dadiv@wisebits.com",
                "amount": "90.00",
                "currency_code": "USD",
                "base_amount": "159.28",
                "base_currency_code": "USD",
                "transaction_amount": "146.64",
                "transaction_currency_code": "USD",
                "transaction_fee_amount": "43.31",
                "transaction_fee_currency_code": "USD",
                "transaction_tax_amount": "13.33",
                "transaction_tax_currency_code": "USD",
                "transaction_tax_type": "ON_TOP",
                "transaction_tax_label": "VAT",
                "transaction_tax_percentage": "10",
                "transaction_tax_exempt_amount": "0",
                "payment_token_id": "838bc7e75021c44d7fbbf13bcde1a4b9b8f3c5b3491c85bccdbfa9198ed247c5",
                "country_code": "CY",
                "shop_name": "test shop",
                "shop_url": "https://test.com",
                "language": null,
                "forced_3d": null,
                "success_url": null,
                "failure_url": null,
                "products": [
                  {
                    "product_id": "347ZHDRCS2EK3",
                    "product_type": "SALE",
                    "merchant_product_id": "1",
                    "product_price": "100.00",
                    "product_transaction_price": "100.00",
                    "product_name": "test-product-name",
                    "product_description": "test-product-description"
                  }
                ],
                "checkout_id": null,
                "initial_subscription_id": null
              }
            }
          ],
          "meta": {
            "next_prev_id": "347ZHDT222H23"
          }
        }
      },
      "refundRequest": {
        "value": {
          "transaction_id": "33AF7ZW4K2H23",
          "reason": "refund reason",
          "initiated_by": "user 1",
          "amount": "10.00",
          "currency_code": "USD"
        }
      },
      "refundResponse": {
        "value": {
          "type": "REFUND",
          "data": {
            "transaction_id": "33AF7ZW4K2H23",
            "reason": "refund reason",
            "initiated_by": "user 1"
          }
        }
      }
    }
  }
}