{"item":[{"name":"Orders","description":"An order is what your customer pays for. Each payment attempt is a transaction of the order.","item":[{"id":"1c3559d6-cb6c-4772-a59b-ee2e1be55f1a","name":"Create an order","request":{"name":"Create an order","description":{"content":"Creates an order with the amount your customer pays.\n\n- Without `transactions`, redirect your customer to the `order_url`. The [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) shows every payment method that's active in your project.\n- With one transaction, you pick the payment method yourself. Redirect your customer to the `payment_url` of the transaction, or continue with a [card payment in your own checkout](https://docs.prod.smartpay.gingerpayments.com/own-checkout/cards).\n\nA `2xx` response doesn't mean that your customer has paid. Check the `status` of the order, see [Order and transaction status](https://docs.prod.smartpay.gingerpayments.com/order-status).\n","type":"text/plain"},"url":{"path":["v1","orders",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"description\": \"Example order\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"4dc3c2d3-e9bb-497f-a7a7-94f6583081bf","name":"The order has been created.","originalRequest":{"url":{"path":["v1","orders",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"description\": \"Example order\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"23cd147d-cd2b-4df6-ae50-199de346ded1\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"created\": \"2026-10-12T10:43:13.905092+00:00\",\n  \"modified\": \"2026-10-12T10:43:13.905092+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"description\": \"Example card order\",\n  \"status\": \"new\",\n  \"flags\": [\n    \"is-test\"\n  ],\n  \"expiration_period\": \"PT1H\",\n  \"order_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/23cd147d-cd2b-4df6-ae50-199de346ded1/select-payment-method/\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"transactions\": [\n    {\n      \"id\": \"12774973-2ff1-49f5-926c-b5dc471ee96b\",\n      \"order_id\": \"23cd147d-cd2b-4df6-ae50-199de346ded1\",\n      \"created\": \"2026-10-12T10:43:13.905092+00:00\",\n      \"currency\": \"EUR\",\n      \"amount\": 995,\n      \"credit_debit\": \"credit\",\n      \"expiration_period\": \"PT30M\",\n      \"is_capturable\": false,\n      \"payment_method\": \"credit-card\",\n      \"payment_method_details\": {\n        \"setup_token\": \"87f05a5d-1755-48c7-8161-f8a9544e56bf\"\n      },\n      \"payment_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/23cd147d-cd2b-4df6-ae50-199de346ded1/select-payment-method/credit-card/12774973-2ff1-49f5-926c-b5dc471ee96b/\",\n      \"status\": \"new\"\n    }\n  ],\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"e269e7d0-45c5-48ac-8fe8-357b57ead489","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"description\": \"Example order\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"16e86fac-86ba-4377-8323-2cdb88b1ff43","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"description\": \"Example order\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"72452562-7f82-47ed-864c-b8189fd36d41","name":"Your project doesn't have permission for this action, for example because the payment method isn't active.","originalRequest":{"url":{"path":["v1","orders",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"description\": \"Example order\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\"\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Forbidden","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[{"listen":"test","script":{"type":"text/javascript","exec":["if (pm.response.code < 300) {","  const order = pm.response.json();","  pm.collectionVariables.set('order_id', order.id);","  if (order.transactions && order.transactions.length > 0) {","    // The latest payment attempt: the transaction created last.","    const latest = order.transactions.reduce((a, b) => (Date.parse(b.created) >= Date.parse(a.created) ? b : a));","    pm.collectionVariables.set('transaction_id', latest.id);","  }","}"]}}],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"858cff73-587a-4042-a40a-7d1da2e25af9","name":"Get an order","request":{"name":"Get an order","description":{"content":"Retrieves an order with all of its transactions. Retrieve the order when your customer returns to your `return_url`, when you receive a [webhook](https://docs.prod.smartpay.gingerpayments.com/confirm-the-payment#webhooks), and periodically for orders that aren't final yet.\n\nSee [Order and transaction status](https://docs.prod.smartpay.gingerpayments.com/order-status) for which status to check.\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{},"auth":null},"response":[{"id":"730143c0-217f-4c96-b7e0-7b2536411062","name":"The order.","originalRequest":{"url":{"path":["v1","orders",":order_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"23cd147d-cd2b-4df6-ae50-199de346ded1\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"created\": \"2026-10-12T10:43:13.905092+00:00\",\n  \"modified\": \"2026-10-12T10:44:02.357623+00:00\",\n  \"completed\": \"2026-10-12T10:44:02.357623+00:00\",\n  \"last_transaction_added\": \"2026-10-12T10:43:13.905092+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 995,\n  \"description\": \"Example card order\",\n  \"status\": \"completed\",\n  \"flags\": [\n    \"is-test\"\n  ],\n  \"expiration_period\": \"PT1H\",\n  \"return_url\": \"https://www.example.com/order/EXAMPLE001\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"transactions\": [\n    {\n      \"id\": \"12774973-2ff1-49f5-926c-b5dc471ee96b\",\n      \"order_id\": \"23cd147d-cd2b-4df6-ae50-199de346ded1\",\n      \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n      \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n      \"created\": \"2026-10-12T10:43:13.905092+00:00\",\n      \"modified\": \"2026-10-12T10:44:02.341870+00:00\",\n      \"completed\": \"2026-10-12T10:44:02.341870+00:00\",\n      \"currency\": \"EUR\",\n      \"amount\": 995,\n      \"credit_debit\": \"credit\",\n      \"expiration_period\": \"PT30M\",\n      \"is_capturable\": false,\n      \"payment_method\": \"credit-card\",\n      \"payment_method_brand\": \"visa\",\n      \"payment_method_details\": {\n        \"truncated_pan\": \"414141******4141\",\n        \"card_expiry\": \"012030\",\n        \"cardholder_name\": \"John Smith\",\n        \"vault_token\": \"e3ed069e-c931-40ae-8035-e022e8a4e5e7\"\n      },\n      \"events\": [\n        {\n          \"event\": \"new\",\n          \"id\": \"3cb2259b-a3f9-4908-bb98-eb51c773fc70\",\n          \"occurred\": \"2026-10-12T10:43:13.905092+00:00\",\n          \"noticed\": \"2026-10-12T10:43:13.918112+00:00\",\n          \"source\": \"set_status\"\n        },\n        {\n          \"event\": \"accepted\",\n          \"id\": \"7d6f0e4c-2f69-4d4b-9a51-58a3b8a2f0c1\",\n          \"occurred\": \"2026-10-12T10:44:02.341870+00:00\",\n          \"noticed\": \"2026-10-12T10:44:02.350211+00:00\",\n          \"source\": \"set_status\"\n        }\n      ],\n      \"outcomes\": {\n        \"processing\": {\n          \"status\": \"accepted\",\n          \"response_code\": \"00\",\n          \"response_code_description\": \"Approved\"\n        }\n      },\n      \"status\": \"accepted\"\n    }\n  ],\n  \"customer\": {\n    \"merchant_customer_id\": \"123456789\",\n    \"email_address\": \"user@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"address_type\": \"billing\",\n    \"address\": \"100 Main Street\",\n    \"postal_code\": \"SW1A 1AA\",\n    \"city\": \"London\",\n    \"country\": \"GB\",\n    \"locale\": \"en-GB\",\n    \"phone_numbers\": [\n      \"+441234566788\"\n    ],\n    \"ip_address\": \"192.0.2.1\",\n    \"ip_country\": \"GB\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"1b4495a5-9c4e-4e19-bc6b-c602f1c6aa7b","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"679e5f87-3298-4823-984a-fc9dd1de68cc","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[{"listen":"test","script":{"type":"text/javascript","exec":["if (pm.response.code < 300) {","  const order = pm.response.json();","  pm.collectionVariables.set('order_id', order.id);","  if (order.transactions && order.transactions.length > 0) {","    // The latest payment attempt: the transaction created last.","    const latest = order.transactions.reduce((a, b) => (Date.parse(b.created) >= Date.parse(a.created) ? b : a));","    pm.collectionVariables.set('transaction_id', latest.id);","  }","}"]}}],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Card vault","description":"Store card details you collect yourself, and get a vault token in return.","item":[{"id":"b9c0c090-4fa6-4dd9-abb4-b617a16815e4","name":"Store a card","request":{"name":"Store a card","description":{"content":"Stores card details in the vault and returns a `vault_token` that represents the card. Use it to [authenticate](https://docs.prod.smartpay.gingerpayments.com/api-reference/transactions/authenticate-transaction) a transaction, and store it for [one-click](https://docs.prod.smartpay.gingerpayments.com/one-click-payments) and [recurring](https://docs.prod.smartpay.gingerpayments.com/recurring-payments) payments.\n\nGet the `setup_token` from the `payment_method_details` of the transaction when you create the order. It works once, within 300 seconds after the order was created.\n\nYou need to be PCI DSS compliant to send card data to this endpoint. See [Accept a card payment](https://docs.prod.smartpay.gingerpayments.com/own-checkout/cards).\n","type":"text/plain"},"url":{"path":["v1","cards",""],"host":["{{vaultUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"name\": \"John Smith\",\n  \"pan\": \"4111111111111111\",\n  \"expiry\": \"012030\",\n  \"setup_token\": \"87f05a5d-1755-48c7-8161-f8a9544e56bf\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"33db4c3f-3f4e-4aa9-a41f-eec6b90b1e9d","name":"The card has been stored.","originalRequest":{"url":{"path":["v1","cards",""],"host":["{{vaultUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"name\": \"John Smith\",\n  \"pan\": \"4111111111111111\",\n  \"expiry\": \"012030\",\n  \"setup_token\": \"87f05a5d-1755-48c7-8161-f8a9544e56bf\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"truncated_pan\": \"4111********1111\",\n  \"brand\": \"visa\",\n  \"brands\": [\n    \"visa\"\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"05bf255d-6560-4da4-936e-e2917e404f88","name":"The card data is invalid, for example because the card number fails the Luhn check or the expiry date is malformed.","originalRequest":{"url":{"path":["v1","cards",""],"host":["{{vaultUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"name\": \"John Smith\",\n  \"pan\": \"4111111111111111\",\n  \"expiry\": \"012030\",\n  \"setup_token\": \"87f05a5d-1755-48c7-8161-f8a9544e56bf\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"be577c50-b9ba-403b-a2be-04b912b91b44","name":"The `setup_token` is unknown, expired or already used.","originalRequest":{"url":{"path":["v1","cards",""],"host":["{{vaultUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"name\": \"John Smith\",\n  \"pan\": \"4111111111111111\",\n  \"expiry\": \"012030\",\n  \"setup_token\": \"87f05a5d-1755-48c7-8161-f8a9544e56bf\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Transactions","description":"Authenticate, capture and void the transactions of an order.","item":[{"id":"006b892b-0936-4fa5-b82d-7680a11330cb","name":"Authenticate a transaction","request":{"name":"Authenticate a transaction","description":{"content":"**Deprecated.** Use [Initiate a transaction](https://docs.prod.smartpay.gingerpayments.com/api-reference/transactions/initiate-transaction) instead. It accepts the same request and covers everything this endpoint does, including external 3-D Secure, and payouts, and always responds with the order. This endpoint keeps working for existing integrations.\n\nStarts a card payment with a card from the vault.\n\n- **3-D Secure by Rabobank:** send the `vault_token`, and optionally the `cvc`. Redirect your customer to the `redirect_url` in the response, so they can authenticate with their bank. Afterwards, they return to your `return_url`.\n- **External 3-D Secure:** also send the result of your own 3-D Secure provider in `cavv`, `3ds_version`, `3ds_method_used` and `ds_transaction_id`. The payment is processed right away and the response contains the order. See [External 3-D Secure](https://docs.prod.smartpay.gingerpayments.com/own-checkout/external-3d-secure).\n- **Payouts:** send only the `vault_token` to execute a [payout](https://docs.prod.smartpay.gingerpayments.com/payouts).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","authenticate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"a7b053a2-fd6d-4750-a484-19b0e9babfe8","name":"Authentication has started. Without external 3-D Secure values, the response contains the `redirect_url` for your customer. With external 3-D Secure values, the response contains the order.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","authenticate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"redirect_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/8078d78f-8700-4cfe-94b1-4a777d3400f2/a5dac3de-d304-4570-922b-373d478b8b3a/authenticate-3ds/\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"dc97a811-2a17-4ea0-b86a-bb62049292b4","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","authenticate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"8f95ed81-a132-45b1-89f6-79d734383df0","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","authenticate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"2ae14473-fa65-4d90-9783-de8e4f3d6293","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","authenticate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"79356084-4d76-4a2d-bd30-da445d086f06","name":"Initiate a transaction","request":{"name":"Initiate a transaction","description":{"content":"Starts a card transaction with a card from the vault. The response is the order, with the transaction updated. This replaces [Authenticate a transaction](https://docs.prod.smartpay.gingerpayments.com/api-reference/transactions/authenticate-transaction).\n- **3-D Secure by Rabobank:** send the `vault_token`, and optionally the `cvc`. Redirect your customer to the `payment_url` of the transaction in the response, so they can authenticate with their bank. Afterwards, they return to your `return_url`. When 3-D Secure isn't needed, the transaction is processed right away and the `payment_url` leads to the result page.\n- **External 3-D Secure:** also send the result of your own 3-D Secure provider in `cavv`, `3ds_version`, `3ds_method_used` and `ds_transaction_id`. The transaction is processed right away. See [External 3-D Secure](https://docs.prod.smartpay.gingerpayments.com/own-checkout/external-3d-secure).\n- **Recurring charges:** send only the `vault_token` to charge a stored card without your customer, for example to [continue a recurring series from another platform](https://docs.prod.smartpay.gingerpayments.com/recurring-payments#continue-a-series-from-another-platform).\n- **Payouts:** send only the `vault_token` to execute a [payout](https://docs.prod.smartpay.gingerpayments.com/payouts).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","initiate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"e8e91926-e4f0-46cb-942d-dd12022ff6d2","name":"The transaction has been started. The response contains the order. When your customer has to authenticate, the transaction has status `new` and its `payment_url` is where to redirect them. Otherwise the transaction has been processed, check its `status`.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","initiate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"0a73c8e3-7a2f-40ee-8f6c-fa41a37c140a\",\n  \"amount\": 4000,\n  \"currency\": \"EUR\",\n  \"merchant_order_id\": \"MIGRATED-SUB-001\",\n  \"status\": \"processing\",\n  \"transactions\": [\n    {\n      \"id\": \"7e5d1b90-2c4a-4f83-b6d1-9a0e3c5f8b27\",\n      \"amount\": 4000,\n      \"currency\": \"EUR\",\n      \"payment_method\": \"credit-card\",\n      \"payment_method_brand\": \"visa\",\n      \"payment_method_details\": {\n        \"approval_code\": \"08C405\",\n        \"authorization_iso_response_code\": \"00\",\n        \"first_network_transaction_id\": \"MDSIZQ7RH0128\",\n        \"network_transaction_id\": \"MDSIRCRRH0128\",\n        \"recurring_type\": \"recurring\",\n        \"schedule_type\": \"unscheduled\",\n        \"vault_token\": \"ab39817c-7e19-497a-ac7b-23526473b3c1\"\n      },\n      \"status\": \"accepted\"\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"ed475d24-2bba-488c-8ab9-2a9cd3fd7d0d","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","initiate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"2eb3fe49-0502-421a-bd0e-7437743f88be","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","initiate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"3e3582af-90db-40b6-af84-556fb14b5b09","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","initiate",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cvc\": \"123\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"7eb3b3cd-5f24-42be-af6f-71ebb1788f42","name":"Capture the full amount","request":{"name":"Capture the full amount","description":{"content":"Captures the full authorized amount of a [pre-authorization](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations): a transaction created with `capture_mode` set to `manual`. No request body is needed.\n\nCaptures everything that's still reserved, so after earlier partial captures only the remainder. See [Capture](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations#capture).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{},"auth":null},"response":[{"id":"32d91ee4-b4fc-4163-b85b-09ea094ebe25","name":"The capture has been created. The response contains the capture order, linked to the original order through `capture_of_order_id`.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"fc777966-8565-4fde-b7d9-a274214e4243\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"capture_of_order_id\": \"20b3cc29-d9b9-4519-890f-0b90b3205669\",\n  \"created\": \"2026-10-12T14:53:08.379598+00:00\",\n  \"completed\": \"2026-10-12T14:53:08.641625+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\",\n  \"status\": \"completed\",\n  \"transactions\": [\n    {\n      \"id\": \"9c4ae1ee-112e-48ea-8958-222bdfbf44fe\",\n      \"order_id\": \"fc777966-8565-4fde-b7d9-a274214e4243\",\n      \"capture_of_transaction_id\": \"de78c510-6ba1-44f6-a08e-356c3558d7e6\",\n      \"amount\": 2500,\n      \"currency\": \"EUR\",\n      \"credit_debit\": \"credit\",\n      \"payment_method\": \"credit-card\",\n      \"payment_method_brand\": \"mastercard\",\n      \"is_capturable\": false,\n      \"outcomes\": {\n        \"processing\": {\n          \"status\": \"accepted\"\n        }\n      },\n      \"status\": \"accepted\"\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"60e22d9d-4be9-4c7f-ae9f-b2d296dd4164","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"93846240-9c7a-4f52-9a41-f3189368ebf9","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"733f203b-7b25-4a6a-b8ac-d61313484d15","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"2205ae36-5298-4dbe-afae-1f7b125f04b5","name":"The action isn't possible in the current state of the transaction, for example because it was already captured.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Conflict","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"31e19550-a762-48ee-89dd-2bd087cfd260","name":"The order was modified after the `If-Match` value you sent. Retrieve the order again and retry.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{}},"status":"Precondition Failed","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 412,\n    \"type\": \"OrderModifiedSince\",\n    \"value\": \"The order you have provided was modified\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"8e8ce7b1-09ee-42ba-810b-30bd87ecd66c","name":"Capture a partial amount","request":{"name":"Capture a partial amount","description":{"content":"Captures part of the authorized amount of a [pre-authorization](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations). The rest stays reserved: capture it later in further partial captures, or [void](https://docs.prod.smartpay.gingerpayments.com/api-reference/transactions/void-transaction-amount) what you don't need. The captures together can't exceed the authorized amount. See [Capture](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations#capture).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"e3a91188-dabd-4479-bd05-b8ccb4f3c3e3","name":"The capture has been created. The response contains the capture order, linked to the original order through `capture_of_order_id`.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"fc777966-8565-4fde-b7d9-a274214e4243\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"capture_of_order_id\": \"20b3cc29-d9b9-4519-890f-0b90b3205669\",\n  \"created\": \"2026-10-12T14:53:08.379598+00:00\",\n  \"completed\": \"2026-10-12T14:53:08.641625+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\",\n  \"status\": \"completed\",\n  \"transactions\": [\n    {\n      \"id\": \"9c4ae1ee-112e-48ea-8958-222bdfbf44fe\",\n      \"order_id\": \"fc777966-8565-4fde-b7d9-a274214e4243\",\n      \"capture_of_transaction_id\": \"de78c510-6ba1-44f6-a08e-356c3558d7e6\",\n      \"amount\": 2500,\n      \"currency\": \"EUR\",\n      \"credit_debit\": \"credit\",\n      \"payment_method\": \"credit-card\",\n      \"payment_method_brand\": \"mastercard\",\n      \"is_capturable\": false,\n      \"outcomes\": {\n        \"processing\": {\n          \"status\": \"accepted\"\n        }\n      },\n      \"status\": \"accepted\"\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"28f5d3ec-40ca-4a20-98be-847fa88cbe3b","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"da0ed522-677f-4a9c-bab1-a19fcd946bb3","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"28196e16-5281-471c-8025-b2e53bac27d6","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"3b6bacca-19e7-4747-b935-44beaa90e973","name":"The action isn't possible in the current state of the transaction, for example because it was already captured.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Conflict","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"ad42fc66-eee7-4ac8-9837-87ee7c03933a","name":"The order was modified after the `If-Match` value you sent. Retrieve the order again and retry.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","captures","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Capture 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Precondition Failed","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 412,\n    \"type\": \"OrderModifiedSince\",\n    \"value\": \"The order you have provided was modified\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"28aaa0ec-274f-4dda-a6e5-35f11cb065d0","name":"Void an amount","request":{"name":"Void an amount","description":{"content":"Releases part of the reserved amount of a [pre-authorization](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations) to your customer, or all of it. Send the full remaining authorized amount to void the whole pre-authorization.\n\nSee [Void](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations#void).\n\nSee [Void](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations#void).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"52b88b27-f303-497f-9892-89e3521457e8","name":"The void has been created. The response contains the void order, linked to the original order through `void_of_order_id`.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"52100d94-2529-4076-8e70-d43ecce99c74\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"void_of_order_id\": \"20b3cc29-d9b9-4519-890f-0b90b3205669\",\n  \"created\": \"2026-10-12T14:50:20.663030+00:00\",\n  \"completed\": \"2026-10-12T14:50:21.686226+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\",\n  \"status\": \"completed\",\n  \"transactions\": [\n    {\n      \"id\": \"ae4ef9d0-90fe-4595-8fda-412cf2e04133\",\n      \"order_id\": \"52100d94-2529-4076-8e70-d43ecce99c74\",\n      \"void_of_transaction_id\": \"de78c510-6ba1-44f6-a08e-356c3558d7e6\",\n      \"amount\": 2500,\n      \"currency\": \"EUR\",\n      \"credit_debit\": \"credit\",\n      \"payment_method\": \"credit-card\",\n      \"payment_method_brand\": \"mastercard\",\n      \"is_capturable\": false,\n      \"outcomes\": {\n        \"processing\": {\n          \"status\": \"accepted\",\n          \"response_code\": \"00\",\n          \"response_code_description\": \"Approved\"\n        }\n      },\n      \"status\": \"completed\"\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"532b93f4-3348-4a8d-9f65-4f70a8b6be07","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"ecde0e1b-2886-4d5e-84fe-e48d3837c2b7","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"f6b82672-1bbc-4417-b573-4fec85070027","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"1cfc79a5-ee92-4e58-8490-ac9436e608a6","name":"The action isn't possible in the current state of the transaction, for example because it was already captured.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Conflict","code":409,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"06a760b8-1034-404f-a49d-d18c6f191bd2","name":"The order was modified after the `If-Match` value you sent. Retrieve the order again and retry.","originalRequest":{"url":{"path":["v1","orders",":order_id","transactions",":transaction_id","voids","amount",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"disabled":true,"description":{"content":"The `modified` timestamp of the order as you last retrieved it. When the order has changed since, the request is refused with `412`, so you don't act on a stale state.","type":"text/plain"},"key":"If-Match","value":"2026-10-12T10:44:02.357623+00:00"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 2500,\n  \"description\": \"Void 25.00 of the full 100.00\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Precondition Failed","code":412,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 412,\n    \"type\": \"OrderModifiedSince\",\n    \"value\": \"The order you have provided was modified\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Refunds","description":"Return money to your customer for a completed order.","item":[{"id":"f1327a8f-f70d-4223-8c23-76f110e804be","name":"Create a refund","request":{"name":"Create a refund","description":{"content":"Refunds the full amount or part of a completed order. A refund is a new order, linked to the original order through `refund_of_order_id`. It always uses the currency of the original order. To refund the full remaining amount, send an empty JSON object `{}` as the body: the body is required, the `amount` isn't.\n\nYou can refund an order several times, as long as the total doesn't exceed the amount paid. For a [pre-authorization](https://docs.prod.smartpay.gingerpayments.com/pre-authorizations), that's the captured amount. See [Refunds](https://docs.prod.smartpay.gingerpayments.com/refunds).\n","type":"text/plain"},"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 1337,\n  \"description\": \"Example refund\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"331efe24-3ba7-4cc3-a4a0-99150ad2c87c","name":"The refund has been created. The response contains the refund order.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 1337,\n  \"description\": \"Example refund\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"97e825b2-c77d-4d56-aeaf-7af9c7c4087f\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"created\": \"2026-10-12T11:48:59.630958+00:00\",\n  \"completed\": \"2026-10-12T11:48:59.912726+00:00\",\n  \"currency\": \"EUR\",\n  \"amount\": 1337,\n  \"description\": \"Example refund\",\n  \"flags\": [\n    \"is-refund\",\n    \"is-test\"\n  ],\n  \"refund_of_order_id\": \"8189619d-748e-4333-81ee-fca65b1f47bc\",\n  \"status\": \"completed\",\n  \"transactions\": [\n    {\n      \"id\": \"8deb1542-fbe7-442e-9510-ea7c819e3bea\",\n      \"order_id\": \"97e825b2-c77d-4d56-aeaf-7af9c7c4087f\",\n      \"amount\": 1337,\n      \"currency\": \"EUR\",\n      \"credit_debit\": \"debit\",\n      \"payment_method\": \"credit-card-refund\",\n      \"payment_method_brand\": \"mastercard\",\n      \"refund_of_transaction_id\": \"6fbaeb49-6c55-408b-82ac-1b410db9fe1c\",\n      \"status\": \"accepted\"\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"b37120c4-d294-4f43-a378-4047b1ce29dd","name":"The refund isn't possible, for example because it exceeds the remaining amount of the order.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 1337,\n  \"description\": \"Example refund\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"RefundError\",\n    \"value\": \"Cannot refund more (500) than the remaining order amount (0)\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"4aa89016-9314-4c0b-b7dd-a600e9dbe644","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 1337,\n  \"description\": \"Example refund\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"cd868965-815e-44b6-b9f3-06b56e59a7db","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"amount\": 1337,\n  \"description\": \"Example refund\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"5a9a64b5-0b21-40ff-86a4-fe8418e8be91","name":"List the refunds of an order","request":{"name":"List the refunds of an order","description":{"content":"Retrieves the refund orders created for an order.","type":"text/plain"},"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{},"auth":null},"response":[{"id":"57aa47ba-ed1a-4e19-9470-d649346796cb","name":"The refund orders of the order.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"[\n  {\n    \"id\": \"851f041f-0a26-41b8-b7a2-a9f92714a418\",\n    \"amount\": 2000,\n    \"currency\": \"EUR\",\n    \"created\": \"2026-10-12T12:08:35.396315+00:00\",\n    \"completed\": \"2026-10-12T12:08:36.472789+00:00\",\n    \"description\": \"Partial refund\",\n    \"flags\": [\n      \"is-refund\",\n      \"is-test\"\n    ],\n    \"merchant_order_id\": \"EXAMPLE001\",\n    \"refund_of_order_id\": \"9f9975f5-2d13-408a-aff0-40b72ded3d57\",\n    \"status\": \"completed\"\n  },\n  {\n    \"id\": \"3f9ca14f-50a4-45e6-af11-8ef76eed3080\",\n    \"amount\": 2000,\n    \"currency\": \"EUR\",\n    \"created\": \"2026-10-12T12:06:05.807474+00:00\",\n    \"completed\": \"2026-10-12T12:06:07.172292+00:00\",\n    \"description\": \"Partial refund\",\n    \"flags\": [\n      \"is-refund\",\n      \"is-test\"\n    ],\n    \"merchant_order_id\": \"EXAMPLE001\",\n    \"refund_of_order_id\": \"9f9975f5-2d13-408a-aff0-40b72ded3d57\",\n    \"status\": \"completed\"\n  }\n]","cookie":[],"_postman_previewlanguage":"json"},{"id":"5feace6e-e319-4439-9ff4-9c4142a73702","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"d460218e-00c2-4ba2-b09e-e1f378a89d87","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","orders",":order_id","refunds",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Payment links","description":"Links to the hosted payment page that you send to your customers.","item":[{"id":"987604b1-772a-481c-988e-57b3cfd38e70","name":"Create a payment link","request":{"name":"Create a payment link","description":{"content":"Creates a link to the hosted payment page that you can send to your customer, for example by email or in an invoice. Every time your customer opens the link and tries to pay, Rabobank creates a new order, up to 25 attempts.\n\nSee [Payment links](https://docs.prod.smartpay.gingerpayments.com/payment-links).\n","type":"text/plain"},"url":{"path":["v1","paymentlinks",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"dced9117-f546-405d-becc-a74fe4514ea0","name":"The payment link has been created.","originalRequest":{"url":{"path":["v1","paymentlinks",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7\",\n  \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n  \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"payment_url\": \"https://api.prod.smartpay.gingerpayments.com/paymentlinks/a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7/\",\n  \"created\": \"2026-10-12T15:39:12.773776Z\",\n  \"orders\": {},\n  \"status\": \"new\",\n  \"reason\": \"Payment Link was created, not yet visited\",\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"09cd2857-8e0f-40ad-8b9a-e4478d57c3d1","name":"The request is invalid, for example because a field is missing or has an invalid value.","originalRequest":{"url":{"path":["v1","paymentlinks",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 400,\n    \"type\": \"ValidationError\",\n    \"value\": \"'amount' is a required property\",\n    \"property_path\": \"amount\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"e4dee501-b761-4f25-8525-3e30a5873eb1","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","paymentlinks",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"c1f19e56-dc58-406e-be72-c8794775c1b8","name":"Your project doesn't have permission for this action, for example because the payment method isn't active.","originalRequest":{"url":{"path":["v1","paymentlinks",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Forbidden","code":403,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[{"listen":"test","script":{"type":"text/javascript","exec":["if (pm.response.code < 300) {","  pm.collectionVariables.set('payment_link_id', pm.response.json().id);","}"]}}],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"c91ebee0-8cfb-4001-a1dc-c950ec9950a2","name":"Get a payment link","request":{"name":"Get a payment link","description":{"content":"Retrieves a payment link with its status and every order created from it, by order ID with its status.\n","type":"text/plain"},"url":{"path":["v1","paymentlinks",":payment_link_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{payment_link_id}}","key":"payment_link_id","disabled":false,"description":{"content":"(Required) The `id` of the payment link.","type":"text/plain"}}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{},"auth":null},"response":[{"id":"8f789aab-d343-45da-8fdd-1a00d58f0450","name":"The payment link.","originalRequest":{"url":{"path":["v1","paymentlinks",":payment_link_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the payment link.","type":"text/plain"},"type":"any","value":"a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7","key":"payment_link_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7\",\n  \"merchant_order_id\": \"EXAMPLE001\",\n  \"amount\": 995,\n  \"currency\": \"EUR\",\n  \"description\": \"Invoice EXAMPLE001\",\n  \"expiration_period\": \"P20D\",\n  \"payment_url\": \"https://api.prod.smartpay.gingerpayments.com/paymentlinks/a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7/\",\n  \"created\": \"2026-10-12T15:39:12.773776Z\",\n  \"modified\": \"2026-10-12T16:18:37.196467Z\",\n  \"completed\": \"2026-10-12T16:18:32.574222Z\",\n  \"completed_order_id\": \"3bb663cc-2a20-400d-8bf6-18d9695d0c66\",\n  \"orders\": {\n    \"0d79014c-0aaa-4fd6-87c5-c8cfa5f5ac69\": \"error\",\n    \"3bb663cc-2a20-400d-8bf6-18d9695d0c66\": \"completed\"\n  },\n  \"payment_completed_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/3bb663cc-2a20-400d-8bf6-18d9695d0c66/select-payment-method/\",\n  \"payment_methods\": [\n    \"credit-card\",\n    \"apple-pay\",\n    \"google-pay\"\n  ],\n  \"return_url\": \"https://www.example.com/thank-you\",\n  \"webhook_url\": \"https://www.example.com/webhook\",\n  \"status\": \"completed\",\n  \"reason\": \"Payment Link was visited and at least 1 related order was completed\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"dbdc7d6a-54c2-406e-a390-22ee51730bca","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","paymentlinks",":payment_link_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the payment link.","type":"text/plain"},"type":"any","value":"a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7","key":"payment_link_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"0a80a653-b48a-4597-9393-45e8c877ade3","name":"The order, transaction or payment link doesn't exist.","originalRequest":{"url":{"path":["v1","paymentlinks",":payment_link_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the payment link.","type":"text/plain"},"type":"any","value":"a8c1b7b0-9c73-4bd8-94f4-37c3070e78c7","key":"payment_link_id"}]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 6485,\n    \"type\": \"string\",\n    \"value\": \"string\",\n    \"property_path\": \"string\",\n    \"property_description\": \"string\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Apple Pay","description":"Process Apple Pay in your own checkout. These endpoints are only used in a server-to-server integration, not with the hosted payment page.","item":[{"id":"670b9c9d-db07-4b25-ba05-ec0f386e817f","name":"Start an Apple Pay session","request":{"name":"Start an Apple Pay session","description":{"content":"Validates your merchant session with Apple. Call it when Apple triggers the `onvalidatemerchant` event in the browser, and pass the `sessionData` from the response to `session.completeMerchantValidation()`. Only for a server-to-server integration with your own checkout: with the [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) you don't call this endpoint.\n\nYour project must have Apple Pay enabled, with the domain of your payment page registered with Rabobank. Without the registered domain, the session can't be created.\n\n**Test environment:** with a test project and an Apple Pay sandbox tester account, send the same request to `/v1/apple-pay/test/sessions/` instead. Apple validates sandbox sessions on another gateway.\n\nSee [Apple Pay in your own checkout](https://docs.prod.smartpay.gingerpayments.com/own-checkout/apple-pay).\n","type":"text/plain"},"url":{"path":["v1","apple-pay","sessions",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"validationUrl\": \"https://apple-pay-gateway.apple.com/paymentservices/startSession\",\n  \"merchantIdentifier\": \"05ad138f52fa40dc97515fde949dcb57\",\n  \"displayName\": \"Example Shop\",\n  \"initiativeContext\": \"shop.example.com\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"eef8c105-1c75-4f51-94b9-def8201b1a2b","name":"The merchant session from Apple.","originalRequest":{"url":{"path":["v1","apple-pay","sessions",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"validationUrl\": \"https://apple-pay-gateway.apple.com/paymentservices/startSession\",\n  \"merchantIdentifier\": \"05ad138f52fa40dc97515fde949dcb57\",\n  \"displayName\": \"Example Shop\",\n  \"initiativeContext\": \"shop.example.com\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"sessionData\": [\n    \"\",\n    \"\"\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"e56fa9f0-0e8b-429b-8fc7-bbf416e26a03","name":"The request is invalid, for example because a field is missing, the session couldn't be created with Apple, or the payment token couldn't be decrypted.","originalRequest":{"url":{"path":["v1","apple-pay","sessions",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"validationUrl\": \"https://apple-pay-gateway.apple.com/paymentservices/startSession\",\n  \"merchantIdentifier\": \"05ad138f52fa40dc97515fde949dcb57\",\n  \"displayName\": \"Example Shop\",\n  \"initiativeContext\": \"shop.example.com\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"code\": 400,\n  \"message\": \"The token could not be decrypted\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"fb36b648-3928-4a23-96c5-37a5f9326725","name":"Store an Apple Pay payment token","request":{"name":"Store an Apple Pay payment token","description":{"content":"Decrypts the Apple Pay payment token and stores the card in the vault. Call it when Apple triggers the `onpaymentauthorized` event, with the contents of `event.payment.token.paymentData` and the `setup_token` of the transaction. Only for a server-to-server integration with your own checkout: with the [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) you don't call this endpoint.\n\n**Test environment:** with a test project, send the same request to `/v1/apple-pay/test/payment-tokens/persist/` instead.\n\nApple describes the fields in its [payment token format reference](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Payment-token-structure).\n","type":"text/plain"},"url":{"path":["v1","apple-pay","payment-tokens","persist",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"data\": \"C+YChH...dTlaSmc=\",\n  \"signature\": \"MIAGCSqGSIb3DQ...==\",\n  \"header\": {\n    \"publicKeyHash\": \"yFMDm...s=\",\n    \"ephemeralPublicKey\": \"MFkwEwYHKo...SoHnSg==\",\n    \"transactionId\": \"878...4c52\"\n  },\n  \"version\": \"EC_v1\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"8e6c747a-0356-423a-9e3d-c12a67e3e614","name":"The payment details you need to execute the payment.","originalRequest":{"url":{"path":["v1","apple-pay","payment-tokens","persist",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"data\": \"C+YChH...dTlaSmc=\",\n  \"signature\": \"MIAGCSqGSIb3DQ...==\",\n  \"header\": {\n    \"publicKeyHash\": \"yFMDm...s=\",\n    \"ephemeralPublicKey\": \"MFkwEwYHKo...SoHnSg==\",\n    \"transactionId\": \"878...4c52\"\n  },\n  \"version\": \"EC_v1\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"vaultToken\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"onlinePaymentCryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eciIndicator\": \"7\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"a4048c69-43f2-4786-9382-b3b5b3d19937","name":"The request is invalid, for example because a field is missing, the session couldn't be created with Apple, or the payment token couldn't be decrypted.","originalRequest":{"url":{"path":["v1","apple-pay","payment-tokens","persist",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"data\": \"C+YChH...dTlaSmc=\",\n  \"signature\": \"MIAGCSqGSIb3DQ...==\",\n  \"header\": {\n    \"publicKeyHash\": \"yFMDm...s=\",\n    \"ephemeralPublicKey\": \"MFkwEwYHKo...SoHnSg==\",\n    \"transactionId\": \"878...4c52\"\n  },\n  \"version\": \"EC_v1\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"code\": 400,\n  \"message\": \"The token could not be decrypted\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"be5f833b-9460-4d59-b04e-def4634fc032","name":"Execute an Apple Pay payment","request":{"name":"Execute an Apple Pay payment","description":{"content":"Processes the Apple Pay transaction with the `vaultToken`, `onlinePaymentCryptogram` and `eciIndicator` from [storing the payment token](https://docs.prod.smartpay.gingerpayments.com/api-reference/apple-pay/persist-apple-pay-token). Only for a server-to-server integration with your own checkout: with the [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) you don't call this endpoint. Send the `Accept: application/json` header to get a JSON response, without it the response is a redirect to the result page. No API key is needed.\n\nRedirect your customer to the `redirect_url` in the response, then [retrieve the order](https://docs.prod.smartpay.gingerpayments.com/api-reference/orders/get-order) to confirm the payment.\n","type":"text/plain"},"url":{"path":["pay",":order_id","select-payment-method","apple-pay",":transaction_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"online_payment_cryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eci_indicator\": \"7\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"7afaaca2-c07b-4a27-88cb-50c9ce0dc13d","name":"The payment has been processed.","originalRequest":{"url":{"path":["pay",":order_id","select-payment-method","apple-pay",":transaction_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vault_token\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"online_payment_cryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eci_indicator\": \"7\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"is_successful\": true,\n  \"redirect_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/6bf8a727-bef2-4420-8d41-af82f6f19f3d/59f5866a-c216-472e-b803-8a4e83c4578a/completed/\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Google Pay","description":"Process Google Pay in your own checkout. These endpoints are only used in a server-to-server integration, not with the hosted payment page.","item":[{"id":"40c2c014-478f-4301-aca1-660e31d9f7d7","name":"Store a Google Pay payment token","request":{"name":"Store a Google Pay payment token","description":{"content":"Decrypts the Google Pay payment token and stores the card in the vault. Call it with the token from `paymentData.paymentMethodData.tokenizationData.token`, as the string Google returns it, and the `setup_token` and `id` of the Google Pay transaction. Only for a server-to-server integration with your own checkout: with the [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) you don't call this endpoint.\n\nNo API key is needed, the `setupToken` identifies the transaction.\n\n**Test environment:** for a token from Google's test environment, when your Google Pay payment request has `environment` set to `TEST`, send the same request to `https://google-pay.rabobank.example.com/test/tokens/` instead. Google encrypts those tokens with other keys, and their test cards are mapped to Rabobank test cards, so the payment can be completed in a test project.\n","type":"text/plain"},"url":{"path":["tokens",""],"host":["https://google-pay.rabobank.example.com"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"googlePayMessage\": \"{\\\"signature\\\":\\\"MEUCIQDXc...03d\\\",\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"...\\\"}\",\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"transactionId\": \"59f5866a-c216-472e-b803-8a4e83c4578a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"7f9a8d9a-9c4a-42ff-90c7-fe742e2915fd","name":"The card has been stored. The response contains what you need to execute the payment.","originalRequest":{"url":{"path":["tokens",""],"host":["https://google-pay.rabobank.example.com"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"googlePayMessage\": \"{\\\"signature\\\":\\\"MEUCIQDXc...03d\\\",\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"...\\\"}\",\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"transactionId\": \"59f5866a-c216-472e-b803-8a4e83c4578a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"vaultToken\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eciIndicator\": \"05\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"77315b99-34be-4a72-8c8c-a3ad868930f4","name":"The request is invalid, for example because the JSON is malformed, the token can't be decrypted, the token was issued for another merchant, or the card couldn't be stored.","originalRequest":{"url":{"path":["tokens",""],"host":["https://google-pay.rabobank.example.com"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"googlePayMessage\": \"{\\\"signature\\\":\\\"MEUCIQDXc...03d\\\",\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"...\\\"}\",\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"transactionId\": \"59f5866a-c216-472e-b803-8a4e83c4578a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"reason\": \"Invalid token submitted\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"228a2f73-84a0-4da1-8b1b-67e266d4fa01","name":"The `setupToken` is unknown, expired or already used.","originalRequest":{"url":{"path":["tokens",""],"host":["https://google-pay.rabobank.example.com"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"googlePayMessage\": \"{\\\"signature\\\":\\\"MEUCIQDXc...03d\\\",\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"...\\\"}\",\n  \"setupToken\": \"c6d0a22b-df22-41a2-aac1-d647173ff219\",\n  \"transactionId\": \"59f5866a-c216-472e-b803-8a4e83c4578a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Not Found","code":404,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"reason\": \"Setup token not found\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}},{"id":"5fed562a-3a6e-414f-a7e2-585d4fddc7f6","name":"Execute a Google Pay payment","request":{"name":"Execute a Google Pay payment","description":{"content":"Processes the Google Pay transaction with the `vaultToken`, `cryptogram` and `eciIndicator` from [storing the payment token](https://docs.prod.smartpay.gingerpayments.com/api-reference/google-pay/persist-google-pay-token), and the browser details of your customer for 3-D Secure. No API key is needed. Only for a server-to-server integration with your own checkout: with the [hosted payment page](https://docs.prod.smartpay.gingerpayments.com/hosted-payment-page) you don't call this endpoint.\n\nRedirect your customer to the `redirect_url` in the response. Without a `cryptogram`, the card was returned as `PAN_ONLY` and the `redirect_url` leads to 3-D Secure authentication. Then [retrieve the order](https://docs.prod.smartpay.gingerpayments.com/api-reference/orders/get-order) to confirm the payment.\n","type":"text/plain"},"url":{"path":["pay",":order_id","select-payment-method","google-pay",":transaction_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"{{order_id}}","key":"order_id","disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"}},{"type":"any","value":"{{transaction_id}}","key":"transaction_id","disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"}}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vaultToken\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eciIndicator\": \"05\",\n  \"browser_info_screen_width\": 1920,\n  \"browser_info_screen_height\": 1080,\n  \"browser_info_color_depth\": 24,\n  \"browser_info_user_agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36\",\n  \"browser_info_time_zone_offset\": 0,\n  \"browser_info_language\": \"en-US\",\n  \"browser_info_java_enabled\": \"false\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"00616c5d-57d5-4b29-9b08-e18948364199","name":"The payment has been started.","originalRequest":{"url":{"path":["pay",":order_id","select-payment-method","google-pay",":transaction_id",""],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The `id` of the order.","type":"text/plain"},"type":"any","value":"8078d78f-8700-4cfe-94b1-4a777d3400f2","key":"order_id"},{"disabled":false,"description":{"content":"(Required) The `id` of the transaction, from the `transactions` of the order.","type":"text/plain"},"type":"any","value":"a5dac3de-d304-4570-922b-373d478b8b3a","key":"transaction_id"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"vaultToken\": \"d972dc43-6a3d-4dcf-b54e-6e9a0fe325e3\",\n  \"cryptogram\": \"AgAAAAAABk4DWZ4C28yUQAAAAAA=\",\n  \"eciIndicator\": \"05\",\n  \"browser_info_screen_width\": 1920,\n  \"browser_info_screen_height\": 1080,\n  \"browser_info_color_depth\": 24,\n  \"browser_info_user_agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36\",\n  \"browser_info_time_zone_offset\": 0,\n  \"browser_info_language\": \"en-US\",\n  \"browser_info_java_enabled\": \"false\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"is_successful\": true,\n  \"redirect_url\": \"https://api.prod.smartpay.gingerpayments.com/pay/6bf8a727-bef2-4420-8d41-af82f6f19f3d/59f5866a-c216-472e-b803-8a4e83c4578a/completed/\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Reports","description":"Search your orders and export them as CSV.","item":[{"id":"bc30a8cd-90cb-4a4b-81a3-5c892a131a6f","name":"Search orders","request":{"name":"Search orders","description":{"content":"Finds orders with a query and returns them as JSON, or as a CSV [transaction report](https://docs.prod.smartpay.gingerpayments.com/transaction-report) with `?format=csv`.\n\nSimple paging with `start` and `size` returns at most 10,000 results. Use `search_after` for more.\n","type":"text/plain"},"url":{"path":["v1","search","orders",""],"host":["{{baseUrl}}"],"query":[{"disabled":true,"description":{"content":"`csv` returns a CSV report instead of JSON. (This can only be one of csv)","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"query\": \"*\",\n  \"size\": 100,\n  \"start\": 1,\n  \"sort\": \"created asc\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"auth":null},"response":[{"id":"bedd3b28-70b8-4ace-b9cb-606fe74d9c9b","name":"The matching orders, as JSON or as a CSV report with one row per transaction.","originalRequest":{"url":{"path":["v1","search","orders",""],"host":["{{baseUrl}}"],"query":[{"disabled":true,"description":{"content":"`csv` returns a CSV report instead of JSON. (This can only be one of csv)","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"query\": \"*\",\n  \"size\": 100,\n  \"start\": 1,\n  \"sort\": \"created asc\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"hits\": 1,\n  \"orders\": [\n    {\n      \"id\": \"8bb4c444-66ea-4eba-b7c8-fb7ae32bb4fe\",\n      \"project_id\": \"05ad138f-52fa-40dc-9751-5fde949dcb57\",\n      \"merchant_id\": \"b251b220-5d8b-4b9d-9915-b89676dc0948\",\n      \"merchant_order_id\": \"EXAMPLE001\",\n      \"created\": \"2026-10-09T10:43:13.905092+00:00\",\n      \"modified\": \"2026-10-09T10:43:15.112340+00:00\",\n      \"completed\": \"2026-10-09T10:43:15.112340+00:00\",\n      \"currency\": \"GBP\",\n      \"amount\": 995,\n      \"status\": \"completed\",\n      \"transactions\": [\n        {\n          \"id\": \"e0b704ee-e0de-4aec-9e4c-dc597e54418d\",\n          \"order_id\": \"8bb4c444-66ea-4eba-b7c8-fb7ae32bb4fe\",\n          \"payment_method\": \"credit-card\",\n          \"payment_method_brand\": \"visa\",\n          \"amount\": 995,\n          \"currency\": \"GBP\",\n          \"status\": \"accepted\"\n        }\n      ]\n    }\n  ]\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"89044c72-0de5-4c6b-b4dc-55f142e651fe","name":"The query or sort value is invalid, or `start` was combined with `search_after`.","originalRequest":{"url":{"path":["v1","search","orders",""],"host":["{{baseUrl}}"],"query":[{"disabled":true,"description":{"content":"`csv` returns a CSV report instead of JSON. (This can only be one of csv)","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"query\": \"*\",\n  \"size\": 100,\n  \"start\": 1,\n  \"sort\": \"created asc\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": \"Search failed because of your input, check the query and sort values.\"\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"284d7593-5564-4806-b67f-a79d05a5d0b4","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","search","orders",""],"host":["{{baseUrl}}"],"query":[{"disabled":true,"description":{"content":"`csv` returns a CSV report instead of JSON. (This can only be one of csv)","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"query\": \"*\",\n  \"size\": 100,\n  \"start\": 1,\n  \"sort\": \"created asc\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"d107d195-8b61-4a12-86bc-484d061b4edd","name":"Too many search requests at once. Wait and try again.","originalRequest":{"url":{"path":["v1","search","orders",""],"host":["{{baseUrl}}"],"query":[{"disabled":true,"description":{"content":"`csv` returns a CSV report instead of JSON. (This can only be one of csv)","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"POST","body":{"mode":"raw","raw":"{\n  \"query\": \"*\",\n  \"size\": 100,\n  \"start\": 1,\n  \"sort\": \"created asc\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}}},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": \"Search failed because of too many requests, please try again later.\"\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]},{"name":"Project","description":"Settings of the project that your API key belongs to.","item":[{"id":"50552fe6-521d-4e8f-ba12-99c5c33f0df3","name":"Get supported currencies","request":{"name":"Get supported currencies","description":{"content":"Lists the currencies you can use, per payment method that's active in your project. Currencies are ISO 4217 codes.","type":"text/plain"},"url":{"path":["v1","merchants","self","projects","self","currencies",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{},"auth":null},"response":[{"id":"5cbb5af3-0575-460c-a53f-a20328c7ac0c","name":"The currencies per payment method.","originalRequest":{"url":{"path":["v1","merchants","self","projects","self","currencies",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"payment_methods\": {\n    \"credit-card\": {\n      \"currencies\": [\n        \"EUR\",\n        \"GBP\",\n        \"USD\"\n      ]\n    },\n    \"apple-pay\": {\n      \"currencies\": [\n        \"EUR\",\n        \"GBP\"\n      ]\n    },\n    \"google-pay\": {\n      \"currencies\": [\n        \"EUR\",\n        \"GBP\"\n      ]\n    }\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"54a70c98-1920-4576-987b-27b59df035ce","name":"Authentication failed or is missing. Check your API key.","originalRequest":{"url":{"path":["v1","merchants","self","projects","self","currencies",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"},{"description":{"content":"Added as a part of security scheme: basic","type":"text/plain"},"key":"Authorization","value":"Basic <credentials>"}],"method":"GET","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"type\": \"Unauthorized\",\n    \"value\": \"Unauthorized\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}]}],"auth":{"type":"basic","basic":[{"key":"username","value":"{{apiKey}}","type":"string"},{"key":"password","value":"","type":"string"}]},"event":[],"variable":[{"key":"baseUrl","value":"https://api.prod.smartpay.gingerpayments.com"},{"key":"vaultUrl","value":"https://tokens.prod.smartpay.gingerpayments.com"},{"key":"order_id","value":"","description":"Set by Create an order and Get an order."},{"key":"transaction_id","value":"","description":"The latest transaction of the order, set by Create an order and Get an order."},{"key":"payment_link_id","value":"","description":"Set by Create a payment link."},{"key":"apiKey","value":"","description":"Your project's API key. Only use it from your server."}],"info":{"_postman_id":"2e4c8030-1c9d-4ba2-b1e1-3f8b205e946d","name":"Rabobank Payment Acceptance API","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","description":{"content":"Create orders, take card, Apple Pay and Google Pay payments, and capture, void and refund them.\n\nAll requests go to `https://api.prod.smartpay.gingerpayments.com` over HTTPS with TLS 1.2 or newer. Card data goes to the card vault at `https://tokens.prod.smartpay.gingerpayments.com`.\nAuthenticate with HTTP Basic authentication: your API key is the username, the password is empty.\nSee [API basics](https://docs.prod.smartpay.gingerpayments.com/api-basics).\n","type":"text/plain"}}}