Satispay Payments API
The Payments API from Satispay — 6 operation(s) for payments.
The Payments API from Satispay — 6 operation(s) for payments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/satispay-payments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Satispay - GBusiness Payments API
version: 1.0.0
contact:
name: Satispay Tech
email: tech@satispay.com
url: https://developers.satispay.com
servers:
- url: https://authservices.satispay.com/g_business/v1
description: Production
- url: https://staging.authservices.satispay.com/g_business/v1
description: Sandbox
tags:
- name: Payments
paths:
/payments:
post:
summary: Create payment
operationId: create-a-payment
parameters:
- in: header
name: Content-Type
description: Always send this header as `application/json`.
required: true
schema:
type: string
- in: header
name: Host
description: The host declared in the [signature](ref:sign-the-string).
required: true
schema:
type: string
- in: header
name: Date
description: The date declared in the [signature](ref:sign-the-string).
required: true
schema:
type: string
- in: header
name: Digest
description: The digest declared in the [signature](ref:sign-the-string).
required: true
schema:
type: string
- in: header
name: Authorization
description: The request [signature](ref:sign-the-string).
required: true
schema:
type: string
- in: header
name: Idempotency-Key
description: The idempotent request key. <br> <br> You can read more [here](ref:idempotency).
required: false
schema:
type: string
- in: header
name: x-satispay-deviceinfo
description: The device information (e.g., hostname).
required: false
schema:
type: string
- in: header
name: x-satispay-devicetype
description: The device type.
required: false
schema:
type: string
enum:
- SMARTPHONE
- TABLET
- CASH REGISTER
- POS
- PC
- ECOMMERCE_PLUGIN
- in: header
name: x-satispay-os
description: The Operating System name (e.g., Windows).
required: false
schema:
type: string
- in: header
name: x-satispay-osv
description: The Operating System version (e.g., 10).
required: false
schema:
type: string
- in: header
name: x-satispay-apph
description: The software house name (e.g., Satispay).
required: false
schema:
type: string
- in: header
name: x-satispay-appn
description: The software name (e.g., My awesome app).
required: false
schema:
type: string
- in: header
name: x-satispay-appv
description: The software version (e.g., v2.0.0).
required: false
schema:
type: string
- in: header
name: x-satispay-tracking-code
description: The tracking code used by Satispay commercial partners. <br> <br> Use this code only if explicitly required by Satispay.
required: false
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
flow:
type: string
description: The payment flow that you want to use. <br> <br> `MATCH_CODE` <small>[DOC](doc:one-off)</small> <br> This flow can be used generically for one-off payments. <br> <br> `HOTP_AUTH` <small>[DOC](doc:one-off-hotp)</small> <br> This flow can be used to perform one-off payments via HOTP tokens. <br> To use this flow you must also include the `token` parameter. <br> <br> `MATCH_USER` <small>[DOC](doc:payment-mobile-number)</small> <br> This flow can be used for one-off payments on a specific user. <br> To use this flow you must also include the `consumer_uid` parameter. <br> <br> `FUND_LOCK` <small>[DOC](doc:funds-lock-late-capture)</small> <br> This flow can be used for funds lock payments. <br> <br> `PRE_AUTHORIZED` <small>[DOC](doc:automatic-payments)</small> <br> This flow can be used for automatic payments. <br> To use this flow you must also include the `token` parameter. <br> <br> `PRE_AUTHORIZED_FUND_LOCK` <small>[DOC](doc:automatic-funds-lock)</small> <br> This flow can be used for automatic funds lock payments. <br> To use this flow you must also include the `token` parameter. <br> <br> `REFUND` <br> This flow can be used for refunds on a specific payment. <br> To use this flow you must also include the `parent_payment_uid` and the `amount_unit`.
enum:
- MATCH_CODE
- MATCH_USER
- REFUND
- PRE_AUTHORIZED
- FUND_LOCK
- PRE_AUTHORIZED_FUND_LOCK
- HOTP_AUTH
amount_unit:
type: integer
description: The payment amount in cents. <br> <br> For example, to represent the amount `€12.40`, you should multiply it by `100`, resulting in `1240` cents.
currency:
type: string
description: The payment currency. <br> <br> Currently `EUR` is the only currency supported.
default: EUR
pre_authorized_payments_token:
type: string
description: The payment automatic payment token id. <br> This has been replaced with the new `token` parameter.
deprecated: true
token:
type: string
description: The token required to charge the consumer wallet. <br> It can be an automatic payment or HOTP token. <br> <br> Required with `HOTP_AUTH`, `PRE_AUTHORIZED` and `PRE_AUTHORIZED_FUND_LOCK` flows only.
consumer_uid:
type: string
description: The unique id of the consumer required for payment acceptance. <br> To obtain the customer id, please use the [Get Consumer API](ref:retrive-consumer). <br> <br> Required with `MATCH_USER` flow only. <br> <br> This parameter is deprecated; we suggest avoiding the `MATCH_USER` UX unless absolutely necessary.
deprecated: true
parent_payment_uid:
type: string
description: The id of the payment that you want to refund. <br> <br> Required with `REFUND` flow only.
external_code:
type: string
description: The external order id or payment identifier. <br> <br> We highly recommend to use this field by populating it with your internal order id. <br> This string will be included in your reports for reconciliation and shown to the Satispay consumer in-app. <br> <br> This field has a maximum length of 50 characters, including spaces.
callback_url:
type: string
description: The URL to be triggered via an HTTP GET request when there is a change in payment status. <br> <br> When the given `callback_url` is invoked, a GET request for payment details can be made to retrieve the updated payment status. <br> <br> Please note that `{uuid}` will be replaced with the generated payment id. <br> e.g. `https://example.com/satispay-callback?payment_id={uuid}` <br> <br> You can read more [here](ref:callback-s2s).
redirect_url:
type: string
description: This field specifies the URL where the user will be redirected after the payment flow from the Satispay app is completed. <br> <br> For instance, you can set this URL to ensure users are redirected to that specific page upon successful payment completion. <br> e.g. `https://example.com/payment-redirect?order_id=your_order_id` <br> <br> Please note that this field doesn't support any placeholder.
metadata:
type: object
description: The additional metadata for the payment. <br> <br> This field supports up to 20 key-value pairs, with keys limited to 45 characters and values limited to 500 characters each.
additionalProperties: true
properties:
phone_number:
type: string
description: This special metadata can be used to pre-fill the phone number field available if you're using a web-redirect flow. <br> <br> The phone number must contain the prefix an shouldn't have any additional space. <br> e.g. `+393891122333`
expiration_date:
type: string
description: 'The UTC payment expiration datetime. <br> <br> The format should be `ISO 8601` like this `yyyy-MM-dd''T''HH:mm:ss.SSSZ`. <br> <br> By default: <br> `MATCH_CODE` and `MATCH_USER` payments are valid for 2 hours. <br> `FUND_LOCK` payments are valid for 10 days. <br> `PRE_AUTHORIZED_FUND_LOCK` payments are valid for 5 days. <br> <br> This timeframe is calculated from the moment of creation. <br> <br> This parameter cannot be used with `PRE_AUTHORIZED`, `HOTP_AUTH` and `REFUND` flows.'
required:
- flow
- amount_unit
- currency
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The unique payment id. <br> <br> This can be used for every eventual subsequent operations on the payment, including refunds.
code_identifier:
type: string
description: The Satispay code identifier. <br> <br> This string can be encoded in a QR code that can be scanned by the user. <br> This property is only available in `MATCH_CODE` flow payments.
type:
type: string
description: The current payment type. <br> <br> `TO_BUSINESS` <br> This type is used for payments from a consumer to a merchant. <br> <br> `REFUND_TO_BUSINESS` <br> This type is used for payments from a merchant to a consumer (e.g. refunds).
amount_unit:
type: integer
description: The payment amount in cents. <br> <br> For example, the amount `€12.40` is being represented as `1240` cents.
currency:
type: string
description: The payment currency.
enum:
- EUR
status:
type: string
description: The current payment status. <br> <br> `PENDING` <br> The payment is created and awaits user interaction, such as scanning the QR code. <br> <br> `AUTHORIZED` - for `FUND_LOCK` and `PRE_AUTHORIZED_FUND_LOCK` flows only. <br> The payment has been authorized by the user and is ready to be confirmed by the merchant with the [Update payment API](doc:update-a-payment). <br> <br> `ACCEPTED` <br> The payment has been accepted and succesfully executed.
expired:
type: boolean
description: The current payment expiration status. <br> <br> It becomes `true` once it reaches the `expiration_date` without being accepted or canceled.
metadata:
type: object
description: The additional metadata for the payment.
additionalProperties: true
sender:
type: object
description: The sender payment actor.
properties:
id:
type: string
description: The unique sender id. <br> <br> This will only be available once the payment will be matched with a consumer.
type:
type: string
description: The sender type. <br> <br> `CONSUMER` <br> This sender type is used when the payment goes from a consumer to a merchant. <br> <br> `SHOP` <br> This sender type is used when the payment goes from a merchant to a consumer (e.g. refunds payments).
name:
type: string
description: The sender name. <br> <br> This will only be available once the payment will be matched with a consumer.
receiver:
type: object
description: The receiver payment actor.
properties:
id:
type: string
description: The unique receiver id.
type:
type: string
description: The receiver type. <br> <br> `CONSUMER` <br> This receiver type is used when the payment goes from a merchant to a consumer. <br> <br> `SHOP` <br> This receiver type is used when the payment goes from a consumer to a merchant (e.g. refunds payments).
insert_date:
type: string
description: The UTC payment creation datetime.
expire_date:
type: string
description: The UTC payment expiration datetime. <br> <br> This property can be ignored when using `PRE_AUTHORIZED` or `HOTP_AUTH` flows.
description:
type: string
deprecated: true
description: The external_code set during the payment creation request. <br> <br> Please use the `external_code` field instead.
flow:
type: string
deprecated: true
external_code:
type: string
description: The `external_code` set during the creation request.
redirect_url:
type: string
description: The URL where the user will be redirected after the payment flow from the Satispay app is completed. <br> <br> This property is available only when the payment uses the `MATCH_CODE`, `MATCH_USER` or `FUND_LOCK` flow.
examples:
OK - MATCH_CODE:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"code_identifier\": \"S6Y-PAY--2EE5F6C7-F85D-45B7-8F1B-2A570A7002EB\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"PENDING\",\n \"expired\": false,\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"type\": \"CONSUMER\"\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-07-01T11:18:17.163Z\",\n \"description\": \"my_order_id\",\n \"flow\": \"CHARGE\",\n \"external_code\": \"my_order_id\",\n \"redirect_url\": \"https://online.satispay.com/pay/2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb?redirect_url=https%3A%2F%2Fexample.com%2Fsatispay-redirect%3Forder_id%3Dmy_order_id\"\n}"
OK - HOTP_AUTH:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"ACCEPTED\",\n \"expired\": false,\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"id\": \"0f7c13fb-06d4-424d-8b98-18e82d1f27a8\",\n \"type\": \"CONSUMER\",\n \"name\": \"Emanuele C.\",\n \"profile_pictures\": {\n \"has_more\": false,\n \"data\": [\n {\n \"id\": \"f60f9bd3-357a-4b46-8441-52d6a3bd630f\",\n \"url\": \"https://placehold.co/640x640.jpg\",\n \"width\": 640,\n \"height\": 640,\n \"is_original\": false\n },\n {\n \"id\": \"33f2dc8b-de76-4287-910b-560799b60b3d\",\n \"url\": \"https://placehold.co/512x512.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"is_original\": true\n },\n {\n \"id\": \"f1c7d014-47dc-4c16-85d9-fc83556ab173\",\n \"url\": \"https://placehold.co/180x180.jpg\",\n \"width\": 180,\n \"height\": 180,\n \"is_original\": false\n }\n ]\n }\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-08-01T09:18:17.163Z\",\n \"description\": \"my_order_id\",\n \"external_code\": \"my_order_id\"\n}"
OK - MATCH_USER:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"PENDING\",\n \"expired\": false,\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"id\": \"0f7c13fb-06d4-424d-8b98-18e82d1f27a8\",\n \"type\": \"CONSUMER\",\n \"profile_pictures\": {\n \"has_more\": false,\n \"data\": []\n }\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-07-01T11:18:17.163Z\",\n \"description\": \"my_order_id\",\n \"flow\": \"CHARGE\",\n \"external_code\": \"my_order_id\",\n \"redirect_url\": \"https://online.satispay.com/pay/2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\"\n}"
OK - FUND_LOCK:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"code_identifier\": \"S6Y-PAY--2EE5F6C7-F85D-45B7-8F1B-2A570A7002EB\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"PENDING\",\n \"expired\": false,\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"type\": \"CONSUMER\"\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-07-11T09:18:17.163Z\",\n \"flow\": \"CHARGE\",\n \"description\": \"my_order_id\",\n \"external_code\": \"my_order_id\",\n \"redirect_url\": \"https://online.satispay.com/pay/2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb?redirect_url=https%3A%2F%2Fexample.com%2Fsatispay-redirect%3Forder_id%3Dmy_order_id\"\n}"
OK - PRE_AUTHORIZED:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"ACCEPTED\",\n \"expired\": false,\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"id\": \"0f7c13fb-06d4-424d-8b98-18e82d1f27a8\",\n \"type\": \"CONSUMER\",\n \"name\": \"Emanuele C.\",\n \"profile_pictures\": {\n \"has_more\": false,\n \"data\": [\n {\n \"id\": \"f60f9bd3-357a-4b46-8441-52d6a3bd630f\",\n \"url\": \"https://placehold.co/640x640.jpg\",\n \"width\": 640,\n \"height\": 640,\n \"is_original\": false\n },\n {\n \"id\": \"33f2dc8b-de76-4287-910b-560799b60b3d\",\n \"url\": \"https://placehold.co/512x512.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"is_original\": true\n },\n {\n \"id\": \"f1c7d014-47dc-4c16-85d9-fc83556ab173\",\n \"url\": \"https://placehold.co/180x180.jpg\",\n \"width\": 180,\n \"height\": 180,\n \"is_original\": false\n }\n ]\n }\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-08-01T09:18:17.163Z\",\n \"description\": \"my_order_id\",\n \"external_code\": \"my_order_id\"\n}"
OK - PRE_AUTHORIZED_FUND_LOCK:
value: "{\n \"id\": \"2ee5f6c7-f85d-45b7-8f1b-2a570a7002eb\",\n \"type\": \"TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"AUTHORIZED\",\n \"expired\": false,\n \"metadata\": {\n \"payment_id\": \"my_payment\",\n \"session_id\": \"my_session\",\n \"user\": \"my_user_id\",\n \"order_id\": \"my_order_id\",\n \"key\": \"value\"\n },\n \"sender\": {\n \"id\": \"0f7c13fb-06d4-424d-8b98-18e82d1f27a8\",\n \"type\": \"CONSUMER\",\n \"name\": \"Emanuele C.\",\n \"profile_pictures\": {\n \"has_more\": false,\n \"data\": [\n {\n \"id\": \"f60f9bd3-357a-4b46-8441-52d6a3bd630f\",\n \"url\": \"https://placehold.co/640x640.jpg\",\n \"width\": 640,\n \"height\": 640,\n \"is_original\": false\n },\n {\n \"id\": \"33f2dc8b-de76-4287-910b-560799b60b3d\",\n \"url\": \"https://placehold.co/512x512.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"is_original\": true\n },\n {\n \"id\": \"f1c7d014-47dc-4c16-85d9-fc83556ab173\",\n \"url\": \"https://placehold.co/180x180.jpg\",\n \"width\": 180,\n \"height\": 180,\n \"is_original\": false\n }\n ]\n }\n },\n \"receiver\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"insert_date\": \"2020-07-01T09:18:17.166Z\",\n \"expire_date\": \"2020-07-06T09:18:17.163Z\",\n \"description\": \"my_order_id\",\n \"external_code\": \"my_order_id\"\n}"
OK - REFUND:
value: "{\n \"id\": \"3ccea4c1-0d5e-430f-9975-0becd9440d41\",\n \"type\": \"REFUND_TO_BUSINESS\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"status\": \"ACCEPTED\",\n \"expired\": false,\n \"metadata\": {},\n \"sender\": {\n \"id\": \"0c4f4511-1afa-4b17-b529-ff7465d126c1\",\n \"type\": \"SHOP\"\n },\n \"receiver\": {\n \"id\": \"0f7c13fb-06d4-424d-8b98-18e82d1f27a8\",\n \"type\": \"CONSUMER\"\n },\n \"insert_date\": \"2020-07-01T09:20:17.166Z\",\n \"expire_date\": \"2020-07-01T11:20:17.163Z\",\n \"flow\": \"CHARGE\"\n}"
'400':
description: 400 Bad Request
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: The specific system error code. <br> <br> `21` <br> Insufficient availability. <br> <br> `36` <br> Malformed flow, payment or metadata. <br> <br> `131` <br> Payment too old to be refunded. <br> It is possible to refund payments within the past 365 days from creation. <br> <br> `27` <br> Payment not allowed. <br> Consumer or shop are currently not able to pay/receive payments. <br> Please note that this condition could be temporary. <br> <br> `172` <br> Pre authorized payments token is not valid. <br> <br> `246` <br> The HOTP token is not valid.
message:
type: string
description: The error message.
wlt:
type: string
description: The request CID/WLT, save this string in case of errors. <br> This will help our IT support to trace the request.
examples:
response:
value: "{\n \"code\": 21,\n \"wlt\": \"FnT15Fhr\"\n}"
'401':
description: 401 Unauthorized
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: The specific system error code. <br> <br> `34` <br> Merchant not found or unauthorized.
message:
type: string
description: The error message.
wlt:
type: string
description: The request CID/WLT, save this string in case of errors. <br> This will help our IT support to trace the request.
examples:
response:
value: "{\n \"code\": 34,\n \"message\": \"...\",\n \"wlt\": \"PyL36Ehs\"\n}"
'403':
description: 403 Forbidden or invalid authorization header
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: The specific system error code. <br> <br> `45` <br> Unable to fulfill the request. <br> <br> `70` <br> Anti-hammering violation.
message:
type: string
description: The error message.
wlt:
type: string
description: The request CID/WLT, save this string in case of errors. <br> This will help our IT support to trace the request.
examples:
response:
value: "{\n \"code\": 45,\n \"message\": \"...\",\n \"wlt\": \"GsM82Btk\"\n}"
x-readme:
headers:
- key: Content-Type
value: application/json
- key: Host
value: authservices.satispay.com
- key: Date
value: Fri, 01 Jul 2020 09:18:17 +0200
- key: Digest
value: SHA-256=…the request digest
- key: Authorization
value: Signature keyId="4ekqhmf…", algorithm="rsa-sha256", headers="(request-target) host date digest", signature="C5yynRx…"
explorer-enabled: true
samples-languages:
- shell
- php
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://authservices.satispay.com/g_business/v1/payments \\\n --header 'Content-Type: application/json' \\\n --header 'Host: authservices.satispay.com' \\\n --header 'Date: Fri, 01 Jul 2020 09:18:17 GMT' \\\n --header 'Digest: SHA-256=...' \\\n --header 'Authorization: Signature keyId=\"4ekqhm...\", algorithm=\"rsa-sha256\", headers=\"(request-target) host date digest\", signature=\"C5yynRx...\"' \\\n --data '{\n \"flow\": \"MATCH_CODE\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"external_code\": \"my_order_id\",\n \"callback_url\": \"https://example.com/satispay-callback?payment_id={uuid}\",\n \"redirect_url\": \"https://example.com/satispay-redirect?order_id=my_order_id\", \n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n }\n }'\n"
name: MATCH_CODE
correspondingExample: OK - MATCH_CODE
- language: php
code: "<?php\n\nrequire_once('../vendor/autoload.php');\n\n// set keys\n\\SatispayGBusiness\\Api::setPublicKey(\"your_public_key\");\n\\SatispayGBusiness\\Api::setPrivateKey(\"your_private_key\");\n\\SatispayGBusiness\\Api::setKeyId(\"your_key_id\");\n\n// create MATCH_CODE payment\n$payment = \\SatispayGBusiness\\Payment::create([\n 'flow' => 'MATCH_CODE',\n 'amount_unit' => 12.40 * 100,\n 'currency' => 'EUR',\n 'external_code' => 'my_order_id',\n 'callback_url' => 'https://example.com/satispay-callback?payment_id={uuid}',\n 'redirect_url' => 'https://example.com/satispay-redirect?order_id=my_order_id', \n 'metadata' => [\n 'order_id' => 'my_order_id',\n 'user_id' => 'my_user_id',\n 'payment_id' => 'my_payment_id',\n 'session_id' => 'my_session_id',\n 'key' => 'value'\n ]\n]);\n"
name: MATCH_CODE
correspondingExample: OK - MATCH_CODE
- language: curl
code: "curl --request POST \\\n --url https://authservices.satispay.com/g_business/v1/payments \\\n --header 'Content-Type: application/json' \\\n --header 'Host: authservices.satispay.com' \\\n --header 'Date: Fri, 01 Jul 2020 09:18:17 GMT' \\\n --header 'Digest: SHA-256=...' \\\n --header 'Authorization: Signature keyId=\"4ekqhm...\", algorithm=\"rsa-sha256\", headers=\"(request-target) host date digest\", signature=\"C5yynRx...\"' \\\n --data '{\n \"flow\": \"HOTP_AUTH\",\n \"token\": \"88978279029358-266346\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"external_code\": \"my_order_id\",\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n } \n }'\n"
name: HOTP_AUTH
correspondingExample: OK - HOTP_AUTH
- language: php
code: "<?php\n\nrequire_once('../vendor/autoload.php');\n\n// set keys\n\\SatispayGBusiness\\Api::setPublicKey(\"your_public_key\");\n\\SatispayGBusiness\\Api::setPrivateKey(\"your_private_key\");\n\\SatispayGBusiness\\Api::setKeyId(\"your_key_id\");\n\n// create HOTP_AUTH payment\n$payment = \\SatispayGBusiness\\Payment::create([\n 'flow' => 'HOTP_AUTH',\n 'token' => '88978279029358-266346',\n 'amount_unit' => 12.40 * 100,\n 'currency' => 'EUR',\n 'external_code' => 'my_order_id',\n 'metadata' => [\n 'order_id' => 'my_order_id',\n 'user_id' => 'my_user_id',\n 'payment_id' => 'my_payment_id',\n 'session_id' => 'my_session_id',\n 'key' => 'value'\n ]\n]);\n"
name: HOTP_AUTH
correspondingExample: OK - HOTP_AUTH
- language: curl
code: "curl --request POST \\\n --url https://authservices.satispay.com/g_business/v1/payments \\\n --header 'Content-Type: application/json' \\\n --header 'Host: authservices.satispay.com' \\\n --header 'Date: Fri, 01 Jul 2020 09:18:17 GMT' \\\n --header 'Digest: SHA-256=...' \\\n --header 'Authorization: Signature keyId=\"4ekqhm...\", algorithm=\"rsa-sha256\", headers=\"(request-target) host date digest\", signature=\"C5yynRx...\"' \\\n --data '{\n \"flow\": \"MATCH_USER\",\n \"consumer_uid\": \"1ed62785-4c8d-46c3-8673-5f5d16ca9f67\",\n \"amount_unit\": 1240,\n \"currency\": \"EUR\",\n \"external_code\": \"my_order_id\",\n \"callback_url\": \"https://example.com/satispay-callback?payment_id={uuid}\",\n \"metadata\": {\n \"order_id\": \"my_order_id\",\n \"user_id\": \"my_user_id\",\n \"payment_id\": \"my_payment_id\",\n \"session_id\": \"my_session_id\",\n \"key\": \"value\"\n }\n }'\n"
name:
# --- truncated at 32 KB (252 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/satispay/refs/heads/main/openapi/satispay-payments-api-openapi.yml