### GET Get FX configuration Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/get-fx-configuration Retrieves the FX configuration settings for the merchant account. ```APIDOC ## GET Get FX configuration ### Description Retrieves the FX configuration settings for the merchant account. ### Method GET ### Endpoint /merchant-account/balance-management/currency-conversion/fx-configuration ``` -------------------------------- ### GET /Get FX configuration Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Retrieves the configuration settings for currency exchange. ```APIDOC ## GET /Get FX configuration ### Description Retrieves the configuration settings for currency exchange. ### Method GET ### Endpoint /Get FX configuration ``` -------------------------------- ### GET /Get conversion preview Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Provides a preview of a currency conversion result. ```APIDOC ## GET /Get conversion preview ### Description Provides a preview of a currency conversion result. ### Method GET ### Endpoint /Get conversion preview ``` -------------------------------- ### Conversion Preview Response Example Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/fx-ipn-instant-payment-notification/get-conversion-preview The JSON response structure returned by the conversion preview endpoint. ```json { "value": null } ``` -------------------------------- ### Get Withdrawal Currencies Response Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/withdrawal-api/get-withdrawal-currencies Example JSON response for a successful withdrawal currency retrieval. ```json { "status": 1, "data": { "currencies": [ "USD", "EUR", "GBP" ] } } ``` -------------------------------- ### GET /v2/fx/rate/reserve/{fromCurrency}/{toCurrency}/wallets/{walletIdentifier} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Requests a real-time rate quote for a currency pair and reserves it for execution. ```APIDOC ## GET /v2/fx/rate/reserve/{fromCurrency}/{toCurrency}/wallets/{walletIdentifier} ### Description Requests a real-time rate quote for a currency pair and reserves it for execution. The reserved rate is guaranteed for approximately 25 seconds. ### Method GET ### Endpoint /v2/fx/rate/reserve/{fromCurrency}/{toCurrency}/wallets/{walletIdentifier} ### Parameters #### Path Parameters - **fromCurrency** (string) - Required - ISO 4217 code of the currency to sell. - **toCurrency** (string) - Required - ISO 4217 code of the currency to buy. - **walletIdentifier** (integer) - Required - The wallet from which funds will be converted. #### Query Parameters - **fromAmount** (string) - Optional - The exact amount to sell in fromCurrency. Either fromAmount or toAmount must be provided. - **toAmount** (string) - Optional - The exact amount to receive in toCurrency. Either fromAmount or toAmount must be provided. ### Response #### Success Response (200) - **data** (object) - Rate reservation details including rate, buy/sell amounts, and reservation identifier. - **errors** (array) - Array of error objects. #### Response Example { "data": { "rate": "1.0821", "buy": { "amount": "541.05", "currency": "USD" }, "sell": { "amount": "500.00", "currency": "EUR" }, "reserve": { "identifier": "a1b2c3d4-e5f6-7890-abcd-1234567890ef", "expireAt": 1711756800, "expireAtISO8601": "2024-03-29T20:00:00+00:00" } }, "errors": [] } ``` -------------------------------- ### Initialize External Token Request Source: https://docs.paydo.com/merchant-account-new/checkout-api/external-token-initialize/apple-and-google-pay-scenarios Example cURL request to initialize an external payment token for Apple Pay. ```bash 1curl --location 'https://api.paydo.com/v1/checkout/external-token/initialize' \ 2--header 'Content-Type: application/json' \ 3--header 'Accept: application/json' \ 4--data '{ 5 "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", 6 "paymentMethodIdentifier": 801, 7 "additionalInfo": { 8 "validationUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession", 9 "domainName": "https://example.com" 10 } 11}' ``` -------------------------------- ### GET Get available payment methods Source: https://docs.paydo.com/merchant-account-new/overview Retrieves a list of payment methods available for the merchant. ```APIDOC ## GET /payment-methods ### Description Retrieves a list of payment methods available for the merchant. ### Method GET ### Endpoint /payment-methods ``` -------------------------------- ### GET /balance Source: https://docs.paydo.com/jwt-bank-balance Retrieves the current balance for the account. ```APIDOC ## GET /balance ### Description Retrieves the current balance information for the authenticated account. ### Method GET ### Endpoint /balance ``` -------------------------------- ### GET /v1/currencies/get-rates-for/{currency} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/fx-ipn-instant-payment-notification/get-conversion-preview Retrieves current indicative exchange rates for a specified base currency. ```APIDOC ## GET /v1/currencies/get-rates-for/{currency} ### Description Returns the current indicative exchange rates from a specified base currency to all other currencies supported by the PayDo platform. These rates are for informational purposes only. ### Method GET ### Endpoint /v1/currencies/get-rates-for/{currency} ### Parameters #### Path Parameters - **currency** (string) - Required - Base currency code for which rates are requested (e.g., EUR). #### Query Parameters - **exchangeSystemIdentifier** (string) - Optional - Exchange system identifier. When omitted, the default system is used. ### Request Example curl --location 'https://api.paydo.com/v1/currencies/get-rates-for/EUR' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ### Response #### Success Response (200) - **Array** (Object) - Array of exchange rate objects, each containing a target currency code and the corresponding indicative rate. #### Error Response (401) - **Object** - Missing or invalid JWT token. ``` -------------------------------- ### GET /v1/instrument-settings/payment-methods/available-for-application/{applicationIdentifier} Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves a list of payment methods available for a specific application identified by its UUID. ```APIDOC ## GET /v1/instrument-settings/payment-methods/available-for-application/{applicationIdentifier} ### Description Retrieves the list of payment methods enabled for the specified application. This list includes details such as the payment method identifier, display name, supported currencies, and countries. ### Method GET ### Endpoint /v1/instrument-settings/payment-methods/available-for-application/{applicationIdentifier} ### Parameters #### Path Parameters - **applicationIdentifier** (string) - Required - The UUID of your project. ### Response #### Success Response (200) - **identifier** (integer) - Unique numeric ID for the payment method. - **name** (string) - Internal method name. - **title** (string) - Human-readable display name. - **logo** (string) - URL to the method's logo image. - **type** (string) - Method type category. - **formType** (string) - Determines which form fields are shown during checkout. - **currencies** (array of strings) - ISO 4217 currency codes supported. - **countries** (array of strings) - ISO 3166-1 alpha-2 country codes where available. - **isEnabled** (boolean) - Whether the method is currently active. ### Errors - **401**: Missing or invalid JWT token. - **404**: Application not found. ``` -------------------------------- ### Get FX Configuration via cURL Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Retrieves the FX configuration for a specific wallet to check service availability and business hours. ```bash curl --location 'https://api.paydo.com/v2/fx/config?walletIdentifier=1234' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### GET /v2/fx/config Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Retrieves the FX configuration for a specific merchant wallet, including business hours and provider availability. ```APIDOC ## GET /v2/fx/config ### Description Returns the FX configuration for the merchant account, including business hours and provider availability. Use this to determine whether FX services are currently operational before requesting a rate quote. ### Method GET ### Endpoint /v2/fx/config ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. #### Query Parameters - **walletIdentifier** (integer) - Required - Wallet identifier used to scope the configuration to the correct account and permission context. ### Response #### Success Response (200) - **Object** - FX provider configuration, or empty array if FX is unavailable for the specified wallet. #### Error Response (401) - **Object** - Missing or invalid JWT token. ``` -------------------------------- ### GET Get invoice Source: https://docs.paydo.com/merchant-account-new/invoice-api/get-invoice Retrieves the details of a specific invoice. ```APIDOC ## GET Get invoice ### Description Retrieves the details of a specific invoice from the Merchant Account system. ### Method GET ### Endpoint /invoice ``` -------------------------------- ### GET /List wallet Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Lists all wallets associated with the merchant account. ```APIDOC ## GET /List wallet ### Description Lists all wallets associated with the merchant account. ### Method GET ### Endpoint /List wallet ``` -------------------------------- ### GET /v1/refunds/filters Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves available filters for querying refunds. ```APIDOC ## GET /v1/refunds/filters ### Description Retrieves the available filters that can be used when querying refund records. ### Method GET ### Endpoint /v1/refunds/filters ``` -------------------------------- ### GET Get transaction details Source: https://docs.paydo.com/merchant-account-new/overview Retrieves detailed information about a specific transaction. ```APIDOC ## GET /transaction ### Description Retrieves detailed information about a specific transaction. ### Method GET ### Endpoint /transaction ``` -------------------------------- ### GET /Currency rates Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Retrieves current currency exchange rates. ```APIDOC ## GET /Currency rates ### Description Retrieves current currency exchange rates. ### Method GET ### Endpoint /Currency rates ``` -------------------------------- ### GET /v1/refunds/filters Source: https://docs.paydo.com/merchant-account-new/invoice-api/get-invoice Retrieves a list of refunds based on filters. ```APIDOC ## GET /v1/refunds/filters ### Description Retrieves a list of refunds based on applied filters. ### Method GET ### Endpoint /v1/refunds/filters ``` -------------------------------- ### GET /v1/wallets Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/list-wallet Returns the list of wallets associated with the authenticated merchant account. ```APIDOC ## GET /v1/wallets ### Description Returns the list of wallets associated with the authenticated merchant account. Each wallet object contains the wallet identifier, type, and associated currency accounts. ### Method GET ### Endpoint /v1/wallets ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. #### Query Parameters - **types** (array) - Optional - Filter by wallet type identifiers. - **identifier** (integer) - Optional - Filter by a specific wallet identifier. ### Response #### Success Response (200) - **Response** (Array) - Array of wallet objects. #### Error Response (401) - **Response** (Object) - Missing or invalid JWT token. ``` -------------------------------- ### GET /wallet/balances Source: https://docs.paydo.com/jwt-bank-balance Retrieves the balances for all wallets associated with the merchant account. ```APIDOC ## GET /wallet/balances ### Description Retrieves the current balances for all wallets linked to the merchant account. ### Method GET ### Endpoint /wallet/balances ``` -------------------------------- ### GET /v1/checkout/check-invoice-status/{invoiceId} Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves the status of an invoice. ```APIDOC ## GET /v1/checkout/check-invoice-status/{invoiceId} ### Description Tracks the result of a checkout by polling the invoice status. ### Method GET ### Endpoint /v1/checkout/check-invoice-status/{invoiceId} ### Parameters #### Path Parameters - **invoiceId** (string) - Required - The UUID of the invoice. ### Errors - **404** - Invoice not found. ``` -------------------------------- ### Reserve FX Rate Request Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Example request for reserving an exchange rate between EUR and USD. ```cURL curl --location 'https://api.paydo.com/v2/fx/rate/reserve/EUR/USD/wallets/1234?fromAmount=500.00&toAmount=541.05' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### GET /v1/refunds/{id} Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves the details of a specific refund by its identifier. ```APIDOC ## GET /v1/refunds/{id} ### Description Retrieves information about a specific refund using its unique identifier. ### Method GET ### Endpoint /v1/refunds/{id} ### Parameters #### Path Parameters - **id** (String) - Required - The unique identifier of the refund. ``` -------------------------------- ### GET /v1/currencies/convert-info/{fromCurrency}/{amount}/{toCurrency} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/fx-ipn-instant-payment-notification/get-conversion-preview Retrieves the indicative converted value for a specified amount between two currencies. ```APIDOC ## GET /v1/currencies/convert-info/{fromCurrency}/{amount}/{toCurrency} ### Description Returns the indicative converted value for a specified amount between two currencies at the current market rate. This value is not guaranteed and may differ from the rate obtained when reserving. ### Method GET ### Endpoint /v1/currencies/convert-info/{fromCurrency}/{amount}/{toCurrency} ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. Default: application/json. #### Path Parameters - **fromCurrency** (string) - Required - Source currency code (e.g., EUR). - **amount** (number) - Required - Amount to convert. - **toCurrency** (string) - Required - Target currency code (e.g., USD). #### Query Parameters - **exchangeSystemIdentifier** (string) - Optional - Exchange system identifier. Defaults to the system default when omitted. ### Response #### Success Response (200) - **value** (number) - The indicative converted amount in toCurrency. #### Error Response (401) - Missing or invalid JWT token. ``` -------------------------------- ### GET /v1/transactions/{txid} Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves full details of a specific transaction. ```APIDOC ## GET /v1/transactions/{txid} ### Description Retrieves the full details of a transaction to track payment outcomes. Requires a JWT Bearer token. ### Method GET ### Endpoint /v1/transactions/{txid} ### Parameters #### Path Parameters - **txid** (string) - Required - The transaction identifier. ### Errors - **401** - Missing or invalid JWT token. - **404** - Transaction not found. ``` -------------------------------- ### GET /Get withdrawal currencies Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Retrieves the list of currencies supported for withdrawals. ```APIDOC ## GET /Get withdrawal currencies ### Description Retrieves the list of currencies supported for withdrawals. ### Method GET ### Endpoint /Get withdrawal currencies ``` -------------------------------- ### GET /Get wallet balances Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Retrieves the current balances for the merchant's wallets. ```APIDOC ## GET Get wallet balances ### Description Retrieves the current balances for the merchant's wallets. ### Method GET ### Endpoint /Get wallet balances ``` -------------------------------- ### GET /v1/wallets/{walletIdentifier}/accounts/{currency} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Retrieves the balance account details for a specific wallet and currency combination, including the current available balance and account status. ```APIDOC ## GET /v1/wallets/{walletIdentifier}/accounts/{currency} ### Description Returns the balance account details for a specific wallet and currency combination, including the current available balance and account status. ### Method GET ### Endpoint /v1/wallets/{walletIdentifier}/accounts/{currency} ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. Default value: application/json #### Path Parameters - **walletIdentifier** (integer) - Required - The numeric wallet identifier. - **currency** (string) - Required - Three-letter ISO 4217 currency code (e.g., `EUR`). ### Response #### Success Response (200) - **Object** - Balance account information for the specified wallet and currency. #### Error Response (401) - **Object** - Missing or invalid JWT token. ``` -------------------------------- ### GET /v1/invoices/{id} Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Retrieves the details of an existing invoice by its unique identifier. ```APIDOC ## GET /v1/invoices/{id} ### Description Retrieves the details of an invoice. This endpoint is publicly accessible. ### Method GET ### Endpoint /v1/invoices/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Unique invoice identifier. ### Response #### Success Response (200) - **identifier** (string) - Unique invoice identifier. - **status** (integer) - Current invoice status. - **type** (integer) - Invoice type. - **applicationIdentifier** (string) - UUID of the merchant project. - **amount** (numeric) - Invoice amount. - **currency** (string) - ISO 4217 currency code. - **orderIdentifier** (string) - Internal order ID. - **items** (array) - Line items. - **description** (string) - Order description. - **resultUrl** (string) - Success redirect URL. - **failUrl** (string) - Failure redirect URL. - **productUrl** (string) - Product page URL. - **language** (string) - Checkout UI language. - **payer** (object) - Payer data. - **paymentMethod** (object) - Selected payment method data. - **isSeen** (boolean) - Whether the invoice has been viewed. - **customization** (array) - Checkout page customization settings. - **metadata** (object) - Arbitrary metadata. - **transactionIdentifier** (string) - UUID of the associated transaction. - **createdAt** (integer) - Unix timestamp of creation. - **updatedAt** (integer) - Unix timestamp of last update. ``` -------------------------------- ### GET /Get wallet account details Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Retrieves detailed information for a specific wallet account. ```APIDOC ## GET Get wallet account details ### Description Retrieves detailed information for a specific wallet account. ### Method GET ### Endpoint /Get wallet account details ``` -------------------------------- ### GET /Reserve FX rate Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Reserves a specific currency exchange rate for a transaction. ```APIDOC ## GET /Reserve FX rate ### Description Reserves a specific currency exchange rate for a transaction. ### Method GET ### Endpoint /Reserve FX rate ``` -------------------------------- ### GET /v2/withdrawals/currencies Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/withdrawal-api/get-withdrawal-currencies Retrieves the list of currencies available for withdrawal from the authenticated merchant account. ```APIDOC ## GET /v2/withdrawals/currencies ### Description Returns the list of currencies available for withdrawal from the authenticated merchant account. Use this before creating a withdrawal to verify that the target currency is supported. ### Method GET ### Endpoint /v2/withdrawals/currencies ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. ### Response #### Success Response (200) - **status** (integer) - Response status indicator. 1 = success. - **data** (object) - Available withdrawal currencies. #### Response Example { "status": 1, "data": { "currencies": [ "USD", "EUR", "GBP" ] } } ``` -------------------------------- ### Validate Bank Account Response Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/withdrawal-api/get-withdrawal-currencies Example JSON response for a bank account validation request. ```json { "status": null, "data": { "accountDetails": {}, "withdrawal": {} } } ``` -------------------------------- ### GET /Checkout status Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Retrieves the current status of a specific checkout session. ```APIDOC ## GET /Checkout status ### Description Fetches the status of an existing checkout session. ### Method GET ### Endpoint /checkout-status ``` -------------------------------- ### Transaction Status Response Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Example JSON response indicating a pending transaction that requires a 3DS challenge. ```json { "data": { "isSuccess": true, "status": "pending", "form": { "method": "POST", "url": "https://acs.anybank.com/", "fields": { "PaReq": "fmn3o8usfjlils", "MD": "81...", "TermUrl": "https://paydo.com/3ds-result" } }, "url": "https://acs.anybank.com/", "txid": "a1b2c3d4-5678-90ab-cdef-1234567890ab" }, "status": 1 } ``` -------------------------------- ### Get Wallet Account Details Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Retrieves balance and status for a specific wallet and currency. Requires a valid JWT token in the header. ```cURL curl --location --globoff 'https://api.paydo.com/v1/wallets/{walletIdentifier}/accounts/EUR' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### GET /v1/wallets Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Returns the list of wallets associated with the authenticated merchant account, including wallet identifiers, types, and currency accounts. ```APIDOC ## GET /v1/wallets ### Description Returns the list of wallets associated with the authenticated merchant account. Each wallet object contains the wallet identifier, type, and associated currency accounts. ### Method GET ### Endpoint /v1/wallets ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. Default value: application/json #### Query Parameters - **types** (array) - Optional - Filter by wallet type identifiers. - **identifier** (integer) - Optional - Filter by a specific wallet identifier. ### Response #### Success Response (200) - **Object** - Array of wallet objects. #### Error Response (401) - **Object** - Missing or invalid JWT token. ``` -------------------------------- ### GET /v1/invoices/{id} Source: https://docs.paydo.com/merchant-account-new/invoice-api/get-invoice Retrieves invoice details including dynamic payment fields required for the selected payment method. ```APIDOC ## GET /v1/invoices/{id} ### Description Retrieves invoice details. Inspect the `paymentMethod.fields` array to determine the dynamic fields required for the payer to complete the payment. ### Method GET ### Endpoint /v1/invoices/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the invoice. ### Response #### Success Response (200) - **paymentMethod.fields** (array) - List of fields required for the payment method. - **name** (string) - Field key. - **type** (string) - Input type (e.g., email, string). - **title** (string) - Label to show the payer. - **regexp** (string) - Validation pattern. - **required** (boolean) - Whether the field is mandatory. ``` -------------------------------- ### Get Currency Rates cURL Request Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/fx-ipn-instant-payment-notification/get-conversion-preview Use this request to fetch indicative exchange rates for a specific base currency. ```cURL curl --location 'https://api.paydo.com/v1/currencies/get-rates-for/EUR' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### Initialize Google Pay Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Sends an empty additionalInfo object as Google Pay does not require extra input during initialization. ```bash curl -X POST 'https://paydo.com/v1/checkout/external-token/initialize' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", "paymentMethodIdentifier": 800, "additionalInfo": {} }' ``` -------------------------------- ### GET /v1/wallets/get-balances Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Retrieves the current balance across all wallets associated with the authenticated merchant account. Supports filtering by currency and wallet type, and optional aggregation of totals. ```APIDOC ## GET /v1/wallets/get-balances ### Description Returns the current balance across all wallets associated with the authenticated merchant account. The response can be filtered by currency or wallet type and optionally includes a calculated total across all balances. ### Method GET ### Endpoint /v1/wallets/get-balances ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. Default: application/json. #### Query Parameters - **currency** (string) - Optional - Comma-separated ISO 4217 currency codes to filter the response (e.g., `USD,EUR`). - **wallet** (string) - Optional - Comma-separated wallet types to filter by. - **includeTotal** (boolean) - Optional - When true, the response includes an aggregated total across all returned balances. Default: false. - **time** (integer) - Optional - Unix timestamp. When provided, returns the balance state as of that point in time. ### Response #### Success Response (200) - **Object** - Wallet balances normalized per currency and wallet type. #### Error Response (401) - **Object** - Missing or invalid JWT token. ``` -------------------------------- ### FX IPN JSON Payload Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Example of the JSON structure sent in the HTTP POST request when an exchange operation completes. ```json { "transaction": { "state": 2, "type": 4, "exchangeIdentifier": "EXCHANGE_IDENTIFIER", "walletIdentifier": "111111", "fromAmount": "114.51", "fromCurrency": "CAD", "toAmount": "80.83", "toCurrency": "USD", "rate": "0.70590576", "error": {} } } ``` -------------------------------- ### POST /v1/checkout/external-token/initialize Source: https://docs.paydo.com/merchant-account-new/checkout-api/external-token-initialize/apple-and-google-pay-scenarios Initializes the wallet payment process by returning configuration data for Google Pay or a merchant session for Apple Pay. ```APIDOC ## POST /v1/checkout/external-token/initialize ### Description Returns provider-specific data required by the frontend to initialize Apple Pay or Google Pay for a selected invoice and wallet payment method. ### Method POST ### Endpoint /v1/checkout/external-token/initialize ### Parameters #### Request Body - **invoiceIdentifier** (string UUID) - Required - Invoice UUID. - **paymentMethodIdentifier** (integer) - Required - Numeric Apple Pay or Google Pay payment method ID. - **additionalInfo** (object) - Provider-specific - Empty object for Google Pay. Required for Apple Pay. - **additionalInfo.validationUrl** (string) - Apple Pay only - Validation URL received during the Apple Pay merchant-validation event. - **additionalInfo.domainName** (string) - Apple Pay only - Merchant domain used for Apple Pay merchant validation. ### Request Example { "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", "paymentMethodIdentifier": 800, "additionalInfo": {} } ``` -------------------------------- ### GET /v1/invoices/{id} Source: https://docs.paydo.com/merchant-account-new/invoice-api/%D1%81reate-invoice Retrieves the current state and full details of an invoice by its UUID. This endpoint is publicly accessible and does not require authentication. ```APIDOC ## GET /v1/invoices/{id} ### Description Retrieves the current state and full details of an invoice. This endpoint is publicly accessible and does not require authentication. Use it to verify whether an invoice is payable, to reconcile order records, or to retrieve the paymentMethod.fields array. ### Method GET ### Endpoint /v1/invoices/{id} ### Parameters #### Header Parameters - **Content-Type** (string) - Required - Must be application/json. #### Path Parameters - **id** (string/uuid) - Required - Invoice UUID returned by POST /v1/invoices/create. ### Response #### Success Response (200) - **data** (object) - Invoice details. - **status** (integer) - 1 = success. #### Response Example { "data": { "identifier": "", "status": null, "type": null, "applicationIdentifier": "", "amount": null, "currency": "", "orderIdentifier": "", "items": [""], "description": "", "resultUrl": "", "failUrl": "", "productUrl": "", "language": "", "payer": {}, "paymentMethod": {}, "isSeen": false, "customization": [""], "metadata": {}, "transactionIdentifier": "", "createdAt": null, "updatedAt": null }, "status": null } ``` -------------------------------- ### GET /v2/withdrawals/bank-account/{account} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/withdrawal-api/get-withdrawal-currencies Validates a bank account number and returns its parsed details, including IBAN/BBAN status and associated withdrawal records. ```APIDOC ## GET /v2/withdrawals/bank-account/{account} ### Description Validates a bank account number and returns its parsed details — including whether it is a valid IBAN or BBAN — along with any existing withdrawal record associated with that account. ### Method GET ### Endpoint /v2/withdrawals/bank-account/{account} ### Parameters #### Path Parameters - **account** (string) - Required - The bank account number to validate. Accepts IBAN and BBAN formats (3–40 alphanumeric characters). #### Query Parameters - **country** (string) - Optional - Country code. Required for BBAN account lookups where the country cannot be inferred from the account number. #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Optional - Must be application/json. ### Response #### Success Response (200) - **status** (integer) - Response status indicator. 1 = success. - **data** (object) - Bank account validation result. #### Response Example { "status": null, "data": { "accountDetails": {}, "withdrawal": {} } } ``` -------------------------------- ### GET /v1/checkout/check-transaction-status/{txid} Source: https://docs.paydo.com/merchant-account-new/checkout-api/wallet-specific-checkout Retrieves the current processing status of a transaction. This endpoint should be polled after creating a checkout to determine if the transaction is pending, requires a 3DS challenge, or has reached a terminal state. ```APIDOC ## GET /v1/checkout/check-transaction-status/{txid} ### Description Returns the current processing status of a transaction. Call this endpoint immediately after POST /v2/checkout/create in an S2S flow and poll at regular intervals until the transaction reaches a terminal state. ### Method GET ### Endpoint /v1/checkout/check-transaction-status/{txid} ### Parameters #### Path Parameters - **txid** (string/uuid) - Required - Transaction identifier returned in data.txid by POST /v1/checkout/create. #### Header Parameters - **Content-Type** (string) - Required - Must be application/json. ### Response #### Success Response (200) - **data** (object) - Transaction processing status. - **status** (integer) - Response status indicator. 1 = success. #### Response Example { "data": { "isSuccess": true, "status": "pending", "form": { "method": "POST", "url": "https://acs.anybank.com/", "fields": { "PaReq": "fmn3o8usfjlils", "MD": "81...", "TermUrl": "https://paydo.com/3ds-result" } }, "url": "https://acs.anybank.com/", "txid": "a1b2c3d4-5678-90ab-cdef-1234567890ab" }, "status": 1 } ``` -------------------------------- ### Retrieve Conversion Preview via cURL Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/fx-ipn-instant-payment-notification/get-conversion-preview Use this cURL command to request an indicative conversion preview by specifying the source currency, amount, and target currency. ```bash curl --location 'https://api.paydo.com/v1/currencies/convert-info/EUR/500/USD' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### POST /v2/fx/execute/{reserveIdentifier} Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Executes a currency conversion at the rate reserved by a prior call to the rate reservation endpoint. The conversion is debited from the source currency balance and credited to the target currency balance of the specified wallet. ```APIDOC ## POST /v2/fx/execute/{reserveIdentifier} ### Description Executes a currency conversion at the rate reserved by a prior call to the rate reservation endpoint. The conversion is debited from the source currency balance and credited to the target currency balance of the specified wallet. ### Method POST ### Endpoint /v2/fx/execute/{reserveIdentifier} ### Parameters #### Header Parameters - **token** (string) - Required - JWT Bearer token. Format: `Bearer YOUR_JWT_TOKEN`. - **Content-Type** (string) - Required - Must be application/json. - **Idempotency-Key** (string) - Required - A unique value generated by your system for this execution request. #### Path Parameters - **reserveIdentifier** (string) - Required - The reservation identifier returned by GET /v2/fx/rate/reserve/.... #### Request Body - **walletIdentifier** (integer) - Required - The wallet against which the conversion will be executed. ### Request Example ```json { "walletIdentifier": 1234 } ``` ### Response #### Success Response (200) - **data** (object) - Currency conversion execution details. - **errors** (array) - Array of error objects. Empty on success. #### Response Example ```json { "data": { "identifier": 98765, "fromAmount": "500.00", "fromCurrency": "EUR", "toAmount": "541.05", "toCurrency": "USD", "rate": "1.0821", "operationType": 4 }, "errors": [] } ``` ``` -------------------------------- ### POST /fx/execute Source: https://docs.paydo.com/merchant-account-new/payment-lifecycle Executes a currency conversion. ```APIDOC ## POST /fx/execute ### Description Performs a currency conversion based on a previously reserved rate. ### Method POST ``` -------------------------------- ### POST /checkout Source: https://docs.paydo.com/merchant-account-new Initializes a new checkout session. ```APIDOC ## POST /checkout ### Description Creates a checkout session to facilitate payment collection. ### Method POST ### Endpoint /checkout ``` -------------------------------- ### Google Pay Initialize Response Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Use these values to construct the frontend PaymentDataRequest. Ensure tokenization settings and public keys match your specific project configuration. ```JSON { "status": 1, "data": { "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", "paymentMethodIdentifier": 800, "externalProvider": "GooglePay", "additionalInfo": { "apiVersion": 2, "apiVersionMinor": 0, "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"], "allowedCardNetworks": ["VISA"] }, "tokenizationSpecification": { "type": "DIRECT", "parameters": { "protocolVersion": "ECv2", "publicKey": "BLi887q6IOM7BJMqceIxPvva4OV93...DrxQWk=" } } } ], "merchantInfo": { "merchantId": "merchant-1", "merchantName": "merchant-name-1" } } } } ``` -------------------------------- ### Initialize External Token via cURL Source: https://docs.paydo.com/merchant-account-new/checkout-api/wallet-specific-checkout Use this endpoint to initialize a wallet-specific checkout session by providing the invoice identifier and payment method details. ```bash 1curl --location 'https://api.paydo.com/v1/checkout/external-token/initialize' \ 2--header 'Content-Type: application/json' \ 3--header 'Accept: application/json' \ 4--data '{ 5 "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", 6 "paymentMethodIdentifier": 801, 7 "additionalInfo": { 8 "validationUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession", 9 "domainName": "https://example.com" 10 } 11}' ``` -------------------------------- ### POST /Execute FX conversion Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Executes a currency conversion based on a reserved rate. ```APIDOC ## POST /Execute FX conversion ### Description Executes a currency conversion based on a reserved rate. ### Method POST ### Endpoint /Execute FX conversion ``` -------------------------------- ### POST /v2/checkout/create Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Initiates a payment checkout for an invoice, creating a transaction record. ```APIDOC ## POST /v2/checkout/create ### Description Initiates the actual payment for an invoice. It creates a transaction tied to the invoice and routes it through the selected payment method. ### Method POST ### Endpoint /v2/checkout/create ### Request Body - **invoiceIdentifier** (string) - Required - The identifier of the invoice to be paid. - **payCurrency** (string) - Required - ISO 4217 code supported by the selected payment method. - **checkStatusUrl** (string) - Required - A publicly reachable URL for IPN notifications. ### Response #### Success Response (200) - **isSuccess** (boolean) - Whether the checkout was accepted for processing. - **message** (string) - Status message. - **txid** (string) - Transaction identifier created for this checkout. ### Errors - **401** - Authentication error. - **404** - Resource not found. - **422** - Validation error. ``` -------------------------------- ### POST /v1/checkout/external-token/initialize Source: https://docs.paydo.com/merchant-account-new/checkout-api/external-token-initialize/apple-and-google-pay-scenarios Initializes an Apple Pay session by sending the validation URL and domain name to the merchant backend. ```APIDOC ## POST /v1/checkout/external-token/initialize ### Description Initializes an Apple Pay session during merchant validation by providing the validation URL and domain name. ### Method POST ### Endpoint https://paydo.com/v1/checkout/external-token/initialize ### Request Body - **invoiceIdentifier** (string) - Required - The unique identifier for the invoice. - **paymentMethodIdentifier** (integer) - Required - The identifier for the payment method (e.g., 801 for Apple Pay). - **additionalInfo** (object) - Required - Contains Apple Pay specific validation details. - **validationUrl** (string) - Required - The URL received from Apple Pay for merchant validation. - **domainName** (string) - Required - The domain name of the merchant. ### Request Example { "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", "paymentMethodIdentifier": 801, "additionalInfo": { "validationUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession", "domainName": "https://example.com" } } ``` -------------------------------- ### POST /External Token Initialize Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Initializes an external token for payment scenarios such as Apple Pay and Google Pay. ```APIDOC ## POST /External Token Initialize ### Description Initializes an external token, commonly used for Apple Pay and Google Pay integration scenarios. ### Method POST ### Endpoint /external-token-initialize ``` -------------------------------- ### GET /Validate bank account Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api Validates bank account details for withdrawal purposes. ```APIDOC ## GET /Validate bank account ### Description Validates bank account details for withdrawal purposes. ### Method GET ### Endpoint /Validate bank account ``` -------------------------------- ### Initialize External Token Request Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Use this cURL command to initialize an external payment token by providing the invoice identifier and provider-specific configuration. ```bash 1curl --location 'https://api.paydo.com/v1/checkout/external-token/initialize' \ 2--header 'Content-Type: application/json' \ 3--header 'Accept: application/json' \ 4--data '{ 5 "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", 6 "paymentMethodIdentifier": 801, 7 "additionalInfo": { 8 "validationUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession", 9 "domainName": "https://example.com" 10 } 11}' ``` -------------------------------- ### POST /Create checkout Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Initiates a new checkout session for a payment. ```APIDOC ## POST /Create checkout ### Description Creates a new checkout session to process a payment. ### Method POST ### Endpoint /create-checkout ``` -------------------------------- ### Get Withdrawal Currencies cURL Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/withdrawal-api/get-withdrawal-currencies Retrieves the list of currencies available for withdrawal from the merchant account. ```bash curl --location 'https://api.paydo.com/v2/withdrawals/currencies' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### Retrieve Wallet Balances via cURL Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Use this cURL command to fetch wallet balances, optionally filtering by currency. Ensure the JWT token is included in the header. ```bash curl --location 'https://api.paydo.com/v1/wallets/get-balances?currency=EUR%2CUSD&includeTotal=false' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' ``` -------------------------------- ### Execute FX Conversion Request Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/currency-conversion-fx/execute-fx-conversion Use this cURL command to execute a currency conversion. Ensure the Idempotency-Key is unique for each request. ```cURL curl --location 'https://api.paydo.com/v2/fx/execute/a1b2c3d4-e5f6-7890-abcd-1234567890ef' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: YOUR_UNIQUE_UUID' \ --data '{ "walletIdentifier": 1234 }' ``` -------------------------------- ### Generate Invoice Signature in PHP Source: https://docs.paydo.com/merchant-account-new/invoice-api/get-invoice Uses ksort with SORT_STRING to ensure correct parameter ordering before hashing. ```php $orderId, 'amount' => $amount, // raw string, as in order.amount ("5.00" !== "5") 'currency' => strtoupper($currency), // the server normalizes to uppercase ]; ksort($data, SORT_STRING); // → amount, currency, id $dataSet = array_values($data); $dataSet[] = $secretKey; return hash('sha256', implode(':', $dataSet)); } echo paydoInvoiceSignature('12345', '3', 'EUR', 'test_secret'), PHP_EOL; // 27556eb06f3949f48a1b81f07037592e3e309ec5053cbeb399092d8f9b0ee441 ``` -------------------------------- ### Apple Pay Initialize Request Source: https://docs.paydo.com/merchant-account-new/checkout-api/create-checkout Call this endpoint during Apple Pay merchant validation using the validationURL and domainName provided by the frontend. ```Bash curl -X POST 'https://paydo.com/v1/checkout/external-token/initialize' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "invoiceIdentifier": "11111111-1111-1111-1111-111111111111", "paymentMethodIdentifier": 801, "additionalInfo": { "validationUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession", "domainName": "https://example.com" } }' ``` -------------------------------- ### POST /checkout/wallet-specific Source: https://docs.paydo.com/merchant-account-new/checkout-api/wallet-specific-checkout Initiates a wallet-specific checkout process. ```APIDOC ## POST /checkout/wallet-specific ### Description Initiates a checkout process specifically for a selected wallet payment method. ### Method POST ### Endpoint /checkout/wallet-specific ``` -------------------------------- ### POST /v1/refunds/create Source: https://docs.paydo.com/merchant-account-new/authentication-token-creation Initiates a new refund for a completed payment transaction. ```APIDOC ## POST /v1/refunds/create ### Description Creates a new refund for an existing transaction. Refunds are processed asynchronously. ### Method POST ### Endpoint /v1/refunds/create ### Request Body - **transactionIdentifier** (UUID) - Required - The UUID of an existing checkout transaction. - **refundType** (Integer) - Required - 1 for full refund, 2 for partial refund. - **amount** (Number) - Optional - Required if refundType is 2; must be a positive number in the currency of the parent transaction. - **metadata** (JSON) - Optional - Metadata object, must be less than 800 kB. ``` -------------------------------- ### Initiate Wallet Transfer via cURL Source: https://docs.paydo.com/merchant-account-new/merchant-balance-management/balance-api/get-wallet-balances Use this cURL command to perform a POST request to the move-money-between-wallets endpoint. Ensure the JWT token is included in the header and the request body contains the required recipient and amount fields. ```bash curl --location 'https://api.paydo.com/v1/wallets/move-money-between-wallets' \ --header 'token: Bearer YOUR_JWT_TOKEN' \ --header 'Content-Type: application/json' \ --data-raw '{ "recipient": "recipient@example.com", "amount": 100, "currency": "EUR", "startCurrency": "", "insuranceCurrency": "", "metadata": "", "additionalData": [ "" ] }' ```