# Cybersource Decision Manager Source: https://docs.gr4vy.com/connections/anti-fraud/cybersource Connect to Cybersource Decision Manager for anti-fraud screening and risk assessment. Decision Manager (DM) is the anti-fraud service provided by Cybersource. Although Cybersource DM can be run as part of the payment gateway as well, it can only be used as a standalone service in the system. ## Prerequisites When you choose to use Cybersource as a payment gateway alongside Cybersource Decision Manager, you must configure the **Extended Settings** in the **Cybersource Enterprise Business Centre (EBC)**. This makes sure the payment processing and anti-fraud checks run independently and allows the system to manage the status of the transaction correctly. In EBC head over to **Decision Manager** -> **Configuration** -> **Extended Settings**, and then ensure the following values are unchecked. * Authorization-Card-Present * Authorization-Card Not Present ## Credentials To configure a Decision Manager connection, you need to set the following credentials. Each of these can be found in the EBC. | Credential | Description | | :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Merchant ID | The Merchant ID is provided by Cybersource during setup. | | SOAP Toolkit Key | This key needs to be generated in the Cybersource Enterprise Business Centre portal. | | ThreatMetrix Org ID | This is the organization ID for use with ThreatMetrix device fingerprints. You need to contact your Cybersource support representative for this value. A different value is expected for sandbox and production. | ## Device fingerprinting The use of device fingerprinting is highly recommended when using Cybersource DM. The device fingerprint passed to Cybersource is generated automatically by the [device fingerprinting library](/guides/features/anti-fraud/fingerprint). If you want to pass your own `antiFraudFingerprint` to Embed or to the API, load the fingerprint script for Cybersource directly and pass the `session_id` value as the `anti_fraud_fingerprint` to the [new transaction API](/reference/transactions/new-transaction). ```html theme={"system"} ``` ## Webhooks for manual review To enable manual review you need to set up webhooks from your anti-fraud service to the system. This webhook is used to notify the system when a review is accepted or rejected. To get the webhook URL, head over to your connection by going to **Connections** -> **\[Anti-Fraud connection]** -> **Synchronization** and copy the webhook URL. Next, login to EBC and navigate to **Decision Manager** -> **Configuration** -> **Extended Settings** and paste the webhook URL into the **Configure Order Status Notification** input. Configuration of the webhook
URL ## Decision mapping Decisions received from Cybersource are mapped to the decisions according to the following logic. | Cybersource decision | Decision | | :------------------- | :------- | | `accept` | `accept` | | `reject` | `reject` | | `review` | `review` | | `error` | `error` | | all other | `error` | If any of the data requirements below are not met, the decision is `skipped`. If there was a technical issue reaching Forter the decision returns as an `exception`. ## Buyer requirements When using Decision Manager, an anti-fraud decision is only possible if the transaction has a minimum set of required fields set on a buyer. To call DM, the transaction must be associated with a buyer and the buyer must have the following fields populated. * First name * Last name * Email address * Line 1 * City * Country * Postal code If any of these values are not provided then the call to Cybersource Decision Manager can not be completed and the anti-fraud decision results in a **Skipped** decision. ### Additional data When any of the following attributes are associated with a transaction they are sent to Cybersource Decision Manager as well. * The buyer's shipping address * Any cart items You can also pass custom merchant-defined data and a device fingerprint ID specifically for Cybersource Decision Manager using [connection options](/reference/transactions/new-transaction#body). ## Sandbox testing Using the EBC portal you can create custom rules for Decision Manager. For example, you may choose to create a rule which marks a transaction for manual review given the postal code matches a specific value. To test this rule you need to perform the following steps in the dashboard. 1. Create a [Cybersource Decision Manager connection](/guides/features/anti-fraud/setup) 2. Create a buyer with a matching postal code 3. Create a Flow rule to leverage the Cybersource Decision Manager connection 4. Create a transaction using the newly created buyer # Forter Source: https://docs.gr4vy.com/connections/anti-fraud/forter Connect to Forter for real-time anti-fraud decisions and risk assessment. Forter provides accurate, real-time decisions about every digital interaction, powered by the largest network of online retailers. Forter's anti-fraud decisions can be used in Flow to trigger any action. ## Credentials To configure a Forter connection, you need to set the following credentials. Each of these can be found in the [Forter dashboard](https://portal.forter.com/app/psp-experience/settings/general) under the settings (gear) icon. | Credential | Description | | :--------- | :--------------------------------------------------- | | Site ID | Your unique account ID with Forter | | Secret Key | The secret API key used to connect to the Forter API | The integration requires your credentials to be compatible with the 2.1 version of the Forter API. To verify that your credentials are compatible with this version of the API, please reach out to Forter support. ## Merchant information Additionally, some [default merchant information](https://portal.forter.com/app/developer/api/api/data-objects/MerchantIdentifiers) can be configured in case you are running multiple storefronts through one Forter account. | Credential | Description | | :-------------- | :------------------------------------------------------ | | Merchant ID | The unique ID for your Forter merchant account. | | Merchant domain | The hostname of the site for which to get a decision. | | Merchant ID | The brand name of the site for which to get a decision. | ## Decision mapping Decisions received from Forter are mapped to the decisions according to the following logic. | Forter decision | Decision | | :--------------- | :------- | | `approve` | `accept` | | `decline` | `reject` | | `not reviewed` | `error` | | unknown or empty | `error` | If any of the data requirements below are not met, the decision is `skipped`. If there was a technical issue reaching Forter the decision returns as an `exception`. ## Data requirements When using Forter, anti-fraud decisions can only be fetched if the transaction has a minimum set of required fields set. If any of these values are not provided then the call to Forter can not be completed and the anti-fraud decision results in a **Skipped** decision. ### Browser requirements Forter requires the following browser data to be associated with a transaction. | Requirement | Description | | :---------- | :--------------------- | | User agent | The browser user agent | | IP | The browser IP | Both of these are automatically set when using Embed or one of the e-commerce plugins. Please refer to the [IP address forwarding guide](/guides/api/ip-address-forwarding) for more details on this subject. ### Buyer requirements Forter also requires the transaction to be associated with a buyer, and the buyer must have the following fields populated. * First name * Last name * Email address * Country ### Additional data When any of the following attributes are associated with a transaction they are sent to Forter as well. * The buyer's shipping address * Any cart items * If set, they must specify the product type ### Custom options You can also pass custom merchant-defined data specifically for Forter using [connection options](/reference/transactions/new-transaction#body). | Options | Description | | :---------------- | :---------------------------------------------------- | | `delivery_type` | The unique ID for your Forter merchant account. | | `delivery_method` | The hostname of the site for which to get a decision. | ## Device fingerprinting The use of device fingerprinting is highly recommended when using Forter. Please refer to the [device fingerprinting guide](/guides/features/anti-fraud/fingerprint) for more information on the universal solution. If needed, you could load the [fingerprint script for Forter][script] directly and pass the `token` value as the `anti_fraud_fingerprint` to the [new transaction API](/reference/transactions/new-transaction). [script]: https://portal.forter.com/app/developer/api/api/services-and-apis/javascript-integration # Riskified Source: https://docs.gr4vy.com/connections/anti-fraud/riskified Connect to Riskified for e-commerce fraud prevention and risk assessment. Riskified is an e-commerce fraud prevention platform that uses machine learning and behavioral analytics to provide real-time fraud decisions. Riskified's anti-fraud decisions can be used in Flow to trigger any action. ## Credentials To configure a Riskified connection, you need to set the following credentials. | Credential | Description | | :---------- | :--------------------------------------------- | | Shop Domain | Your unique shop domain with Riskified | | Auth Token | The authentication token for the Riskified API | ## Limited actions By default, Gr4vy sends transaction status updates to Riskified for all transaction events, including refunds and voids. However, you can enable the **Limited Actions** flag in the connector configuration to limit these updates. When the **Limited Actions** flag is enabled, Gr4vy only sends transaction status updates to Riskified during the initial transaction processing. Status updates for `refund` or `void` events are not sent to Riskified. ## Decision mapping Decisions received from Riskified are mapped to the decisions according to the following logic. | Riskified decision | Decision | | :----------------- | :-------- | | `approve` | `accept` | | `decline` | `reject` | | `captured` | `skipped` | As Riskified's product does not have a manual review queue, only `accept` or `reject` decisions are returned. A `captured` response can also be returned by Riskified, if you have set up a configuration with Riskified to only review a part of your volume. If there is a technical issue reaching Riskified, the decision returns as an `exception`. ## Data requirements To receive accurate anti-fraud recommendations from Riskified, it is important to provide comprehensive transaction data. While Riskified attempts to process transactions with limited data, providing the following fields significantly improves the quality and accuracy of fraud decisions. ### Recommended fields For optimal fraud detection, it is highly recommended to include billing details with the following fields: * `billing_details.first_name` * `billing_details.last_name` * `billing_details.phone_number` * `billing_details.address.line1` * `billing_details.address.country` * `billing_details.address.city` * `billing_details.address.postal_code` * `billing_details.address.state` If shipping details are provided, it is recommended to include the following fields: * `shipping_details.first_name` * `shipping_details.last_name` * `shipping_details.phone_number` * `shipping_details.address.line1` * `shipping_details.address.country` * `shipping_details.address.city` * `shipping_details.address.postal_code` * `shipping_details.address.state` ### Browser information For optimal fraud detection accuracy, Riskified benefits from the following browser data being associated with a transaction. | Requirement | Description | | :---------- | :---------------------------------------- | | Language | The value of the `ACCEPT-LANGUAGE` header | | User agent | The browser user agent | | IP | The browser IP | When using Embed or one of the e-commerce plugins, all of these values are automatically set. If you create transactions by using direct API calls, it is recommended to include all `transaction.browser_info` fields. For the full list of fields, see the [`browser_info` object in the new transaction API reference](/reference/transactions/new-transaction#body-browser-info-one-of-0). Please refer to the [IP address forwarding guide](/guides/api/ip-address-forwarding) for more details on passing the IP address when making direct API calls. ### Custom options You can also pass custom merchant-defined data specifically for Riskified using [connection options](/reference/transactions/new-transaction#body). | Options | Description | | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | | `delivered_to` | The delivery destination for the line items. Applied to the final line items in the payload. Valid values: `shipping_address`, `store_pickup`. | ### Cart items Gr4vy maps `cart_items` to `line_items` in the Riskified payload. * The sum of all cart item amounts must equal the transaction's total amount. * It is recommended to include a shipping line item if there are physical items. * If a shipping line item is included, its title is mandatory. Set the title to `store_pickup` for store pickup orders. * If the order is not a store pickup order, shipping details must be attached to the transaction. You can provide them in one of the following ways: * Store them against the buyer using the [new buyer shipping detail API](/reference/buyers/new-buyer-shipping-detail). * Include them directly on the transaction using the [`buyer.shipping_details` field in the new transaction API](/reference/transactions/new-transaction#body-buyer-one-of-0-shipping-details-one-of-0). ## Device fingerprinting Device fingerprinting is recommended when using Riskified. Please refer to the [device fingerprinting guide](/guides/features/anti-fraud/fingerprint) for more information on the universal solution. If needed, you could load the fingerprint script for Riskified directly and pass the `session_id` value as the `anti_fraud_fingerprint` to the new transaction API. # Sardine Source: https://docs.gr4vy.com/connections/anti-fraud/sardine Connect to Sardine for AI-powered fraud prevention and risk assessment. Sardine AI, founded in 2020 and headquartered in Miami, is an AI-powered risk platform that helps financial institutions, fintechs, and merchants prevent fraud and ensure compliance by analyzing user behavior, device intelligence, and transaction data in real time. Using techniques like behavior biometrics, the platform detects sophisticated scams, stops money laundering, and improves customer onboarding by unifying risk data across various sources and providing insights through APIs and machine learning features. ## Credentials To configure a Sardine connection, you need to set the following credentials. `Client ID` and `Client Secret` can can be found or generated in the [Sardine sandbox dashboard](https://dashboard.sandbox.sardine.ai) by navigating to the Admin & Settings menu > Organizations & Users > API Credentials. To set up a webhook endpoint and generate a `Webhook Secret` you need to contact your Sardine Implementations Manager. | Credential | Description | | :------------- | :---------------------------------------------------------------------------------------------------------------- | | Client ID | Your unique Sardine account ID | | Client Secret | The password used to sign API requests | | Webhook Secret | The secret used to validate the authenticity, integrity and security of webhook requests originating from Sardine | ## Decision mapping While the default Sardine Decision responses don't directly return values to be mapped to the Gr4vy `accept`/`reject`/`review` decision values, this result can be achieved by creating a specific workflow in Sardine, which returns a tag matching one of the Gr4vy decision values. You must set up the workflow on Sardine as follows: * Access the [Sardine dashboard](https://dashboard.sandbox.sardine.ai/) * Select `Workflows` from the menu in the sidebar * Click `New Workflow` * Enter `get-decision` as the name of the workflow * Select `Customer` as the Input Type * Click `Save block` Add a single `Checkpoint` block with 2 checkpoints: `CUSTOMER` and `PAYMENT` Connected to the preceding `Checkpoint` block, you should add a `Multipath Splitter` block with the name set to `decision`. This block should have 3 paths. Your non-default paths each require at least 1 condition (this likely consists of choosing various risk levels to be associated with the path. To see an example setup, load the example workflow shown below) Attach a single `End block` to each of the three paths, each with specific `action`(s) set. See the tabs below for the `action` settings for each `End block`: **Action:** | Property | Value | | -------- | ---------- | | Action | Update Tag | | Entity | Session | | Tag | decision | | Value | `accept` | **Action 1:** | Property | Value | | -------- | ---------- | | Action | Update Tag | | Entity | Session | | Tag | decision | | Value | `review` | **Action 2:** | Property | Value | | ---------- | ------------------------------------------------ | | Action | Add to queue | | Queue type | Session | | Queue | Choose the Alert queue you've set up for reviews | **Action:** | Property | Value | | -------- | ---------- | | Action | Update Tag | | Entity | Session | | Tag | decision | | Value | `reject` | Please note that it is essential that the workflow is set up correctly. If the following conditions are not met, all attempted Sardine transaction risk requests return an `error` decision: \* The workflow must be named `get-decision` \* There must be 3 `End blocks`, with the following action Values: `accept`, `review`, `reject` and with the Action Tag set to `decision` * The `review` path must enqueue an Alert ### Example workflow To load an example workflow following the structure laid out in the preceding section, take the following steps: 1. Access the [Sardine dashboard](https://dashboard.sandbox.sardine.ai/) 2. Select `Workflows` from the menu in the sidebar 3. Click `New Workflow` 4. Enter `get-decision` as the name of the workflow 5. Select `Customer` as the Input Type 6. Click `Save block` 7. Click the "three-dot" menu button beside your workflow name in the top right and select `Import Workflow` 8. Paste in the following JSON code: ```json Workflow code expandable wrap icon=code theme={"system"} { "id": "get-decision", "name": "get-decision", "clientId": "", "inputType": "customer", "edges": [ { "id": "6b34598c-8425-46da-8549-a5ffc0732225", "source": "root", "target": "6b34598c-8425-46da-8549-a5ffc0732225", "type": "buttonEdge", "markerEnd": { "type": "arrowclosed" }, "data": {} }, { "id": "d20c0028-9b19-4256-b601-3b23039867d9", "source": "6b34598c-8425-46da-8549-a5ffc0732225", "target": "d20c0028-9b19-4256-b601-3b23039867d9", "type": "buttonEdge", "markerEnd": { "type": "arrowclosed" }, "data": {} }, { "id": "ce2b8b65-7dfa-4003-b089-2511f210866f", "source": "d20c0028-9b19-4256-b601-3b23039867d9", "target": "ce2b8b65-7dfa-4003-b089-2511f210866f", "type": "buttonEdge", "markerEnd": { "type": "arrowclosed" }, "data": { "path": "3fa72cb8-a7f4-4764-a41a-cee5425245fd" } }, { "id": "5d30e5a6-27f9-460b-8c24-5a470060f3b0", "source": "d20c0028-9b19-4256-b601-3b23039867d9", "target": "5d30e5a6-27f9-460b-8c24-5a470060f3b0", "type": "buttonEdge", "markerEnd": { "type": "arrowclosed" }, "data": { "path": "a7f8358a-9d5c-49ca-9258-112d7d8ad770" } }, { "id": "517d7496-e691-4cb7-beef-67ec447ec2ce", "source": "d20c0028-9b19-4256-b601-3b23039867d9", "target": "517d7496-e691-4cb7-beef-67ec447ec2ce", "type": "buttonEdge", "markerEnd": { "type": "arrowclosed" }, "data": { "path": "d534334c-9869-46be-b012-e99fb4c0a9a0" } } ], "nodes": [ { "id": "root", "type": "start", "data": { "parentNodeId": "", "inputType": "customer", "nodeType": "start", "varReferences": null }, "width": 96, "height": 52, "position": { "x": 0, "y": 0 } }, { "id": "6b34598c-8425-46da-8549-a5ffc0732225", "type": "checkpoint", "data": { "parentNodeId": "root", "nodeName": "Checkpoints", "checkpointNames": [], "checkpointIds": [5, 8], "nodeType": "checkpoint", "varReferences": null }, "width": 231, "height": 76, "position": { "x": 0, "y": 0 } }, { "id": "ce2b8b65-7dfa-4003-b089-2511f210866f", "type": "end", "data": { "parentNodeId": "d20c0028-9b19-4256-b601-3b23039867d9", "nodeName": "Reject", "notes": "", "tags": [ { "key": "decision", "value": "reject", "actionType": "update_tag" } ], "persistentTagActions": [], "queueActions": [], "listActions": [], "nodeType": "end", "varReferences": null, "color": "danger" }, "width": 105, "height": 52, "position": { "x": 0, "y": 0 } }, { "id": "5d30e5a6-27f9-460b-8c24-5a470060f3b0", "type": "end", "data": { "parentNodeId": "d20c0028-9b19-4256-b601-3b23039867d9", "nodeName": "Review", "notes": "", "tags": [ { "key": "decision", "value": "review", "actionType": "update_tag" } ], "persistentTagActions": [], "queueActions": [ { "queueId": 708163, "reviewId": 0 } ], "listActions": [], "nodeType": "end", "varReferences": null, "color": "warning" }, "width": 111, "height": 52, "position": { "x": 0, "y": 0 } }, { "id": "517d7496-e691-4cb7-beef-67ec447ec2ce", "type": "end", "data": { "parentNodeId": "d20c0028-9b19-4256-b601-3b23039867d9", "nodeName": "Accept", "notes": "", "tags": [ { "key": "decision", "value": "accept", "actionType": "update_tag" } ], "persistentTagActions": [], "queueActions": [], "listActions": [], "nodeType": "end", "varReferences": null, "color": "success" }, "width": 111, "height": 52, "position": { "x": 0, "y": 0 } } ] } ``` 9. Click `Submit` 10. Click `Confirm` when prompted about overriding the existing workflow 11. Click `Save` in the top right 12. In the pop-up prompt that confirms whether you want to save the workflow, switch on the toggle button labeled `Set as Live Version` 13. Click `Confirm` to save the workflow 14. You should now see the workflow listed on the workflows page, with the `Status` label set to `Live` Please note, the conditions for each path in this example workflow should be modified to suit your needs. The example workflow has the `accept` path as the default path, and the Sardine risk levels associated with the `review`/`reject` paths are as follows: | Sardine Risk Level | Decision tag/Gr4vy Decision | | ------------------- | --------------------------- | | `medium` | `review` | | `high`, `very_high` | `reject` | ## Webhooks for manual review To enable manual review you need to set up webhooks from your anti-fraud service to the system. This webhook is used to notify the system when a review is accepted or rejected. To get the webhook URL, head over to your connection by going to **Connections** -> **\[Anti-Fraud connection]** -> **Synchronization** and copy the webhook URL. To have webhooks enabled on Sardine, contact your assigned Implementation Manager from Sardine, with your Webhook URL and mention that you want to receive `Case` type webhooks. Once your webhooks have been enabled, Sardine sends you the `Webhook Secret`, which is used for webhook validation as mentioned in the preceding section. If you do not add the `Webhook Secret` to your dashboard, the webhook signature validation process is skipped, which may put your system at risk of attacks from tampered webhook payloads. ## Review queue clearing If a transaction is marked for review, and subsequently it is voided from the Gr4vy dashboard, then a request is sent to Sardine to clear any pending Sardine Alerts for that transaction. ## Device fingerprinting The use of device fingerprinting is highly recommended when using Sardine. Please refer to the [device fingerprinting guide](/guides/features/anti-fraud/fingerprint) for more information on the universal solution. If needed, you could load the [fingerprint script for Sardine][script] directly and pass the `sessionKey` value as the `anti_fraud_fingerprint` to the [new transaction API](/reference/transactions/new-transaction). Biometrics are enabled by default, which may result in the following console errors and warnings: \[Violation] Permissions policy violation: accelerometer is not allowed in this document. \[Violation] Potential permissions policy violation: microphone is not allowed in this document. \[Violation] Potential permissions policy violation: camera is not allowed in this document. The `devicemotion` events are blocked by permissions policy. See [https://github.com/w3c/webappsec-permissions-policy/blob/master/features.md#sensor-features](https://github.com/w3c/webappsec-permissions-policy/blob/master/features.md#sensor-features) The `deviceorientation` events are blocked by permissions policy. See [https://github.com/w3c/webappsec-permissions-policy/blob/master/features.md#sensor-features](https://github.com/w3c/webappsec-permissions-policy/blob/master/features.md#sensor-features) [script]: https://docs.sardine.ai/guides/integration/riskSDK/webSDKs/javascript # Sift Source: https://docs.gr4vy.com/connections/anti-fraud/sift Connect to Sift for machine learning-based fraud detection and prevention. Sift is a technology company specializing in digital trust and safety. Founded in 2011 and headquartered in San Francisco, Sift provides machine learning-based fraud detection and prevention solutions. Its platform helps businesses prevent various types of online fraud, including payment fraud, account takeover, content abuse, and fake accounts. ## Credentials To configure a Sift connection, you need to set the following credentials. Each of these can be found in the [Sift portal](https://console.sift.com) under the Developer menu. | Credential | Description | | :--------- | :-------------------------------------------------------- | | Account ID | Your unique Sift account ID | | API key | The secret API key for use with the Sift API | | Beacon Key | The secret key used in the Sift JS fingerprinting snippet | ## Merchant information Additionally, some optional merchant configuration can be set. | Credential | Description | | :-------------- | :------------------------------------------------------------------------ | | Site country ID | Country the company is providing service from. Use ISO-3166 country code. | | Site domain | Domain being interfaced with. Use fully qualified domain name. | ## Decision mapping Decisions received from Sift are mapped to the decisions according to the following logic. | Sift decision | Decision | | :------------ | :------- | | `accept` | `accept` | | `block` | `reject` | | `watch` | `review` | | other | `error` | If any of the data requirements below are not met, the decision is `skipped`. Additionally, if a decision could not be made but has been marked for review, a `review` status is returned. All decisions need to set the **Entity** to **Orders**, otherwise the mapping between the Sift decision won't be possible and it'll be considered an `error`. ## Webhooks for manual review To enable manual review you need to set up webhooks from your anti-fraud service to the system. This webhook is used to notify the system when a review is accepted or rejected. To get the webhook URL, head over to your connection by going to **Connections** -> **\[Anti-Fraud connection]** -> **Synchronization** and copy the webhook URL. Next, login to Sift portal and navigate to the **Automate** -> **Decisions** panel to set a [payment abuse event](https://console.sift.com/decisions?abuse_type=payment_abuse) for both a blocked and an accepted review. Click on **Create Decision**, and fill in the following. * Set the **Entity** to **Orders** * Set the category to **Block** or **Accept** * Set the webhook URL to the one copied from the dashboard * Sift's webhook version 1.2 is required. Please contact Sift support to confirm the version used. * Set a name and description Save the changes, making sure to create a decision for both the **Block** and **Accept** category. Make sure to use these events when handling a manual review of an order in the Sift portal to notify the system. When a transaction is marked as in-review by Sift, and the manual review queue has been enabled, then the transaction is held in authorized state. If that authorization fails, or if a user manually voids/captures the transaction in the dashboard, the anti-fraud provider is usually contacted to clear that review from the queue. This feature is not available for Sift, so please note that there might be orders on the review queue that have actually already failed, been voided, or were captured. ## Rejections An order can be auto-rejected by sending a `rejected_by_gr4vy_payment_abuse` decision to Sift. This is sent when the transaction is declined or the payment service. To handle this event, please set up a decision for payment abuse in the Sift portal. Login to Sift portal and navigate to the **Automate** -> **Decisions** panel to set a [payment abuse event](https://console.sift.com/decisions?abuse_type=payment_abuse) for a blocked transaction. Click on **Create Decision**, and fill in the following. * Set the **Entity** to **Orders** * Set the category to **Block** * Leave the webhook URL empty * Set the name to **Rejected by Gr4vy** ## Device fingerprinting The use of device fingerprinting is highly recommended when using Sift. Please refer to the [device fingerprinting guide](/guides/features/anti-fraud/fingerprint) for more information on the universal solution. If needed, you could load the [fingerprint script for Sift][script] directly and pass the `_session_id` value as the `anti_fraud_fingerprint` to the [new transaction API](/reference/transactions/new-transaction). [script]: https://developers.sift.com/docs/curl/javascript-api/overview # Apple Pay Source: https://docs.gr4vy.com/connections/digital-wallets/apple-pay Set up Apple Pay as a digital wallet payment method in Gr4vy. Apple Pay is a digital wallet solution that allows customers to make payments securely using their Apple devices. Supported on both web and iOS platforms, Apple Pay provides a streamlined checkout experience with biometric authentication. ## Key features * **Web & iOS Support**: Integrate Apple Pay on websites and iOS applications * **Secure Payment Tokens**: Uses encrypted device tokens for enhanced security * **Biometric Authentication**: Leverages Face ID, Touch ID for secure transactions * **One-click Checkout**: Reduces friction with pre-filled payment information * **Recurring Payments**: Supports subscription and recurring payment flows ## Prerequisites To enable Apple Pay transactions: * Apple transmits decoded device tokens to payment services instead of encrypted gateway tokens * Not all payment services support decoded Apple Pay tokens by default * Contact your payment service provider to ensure this feature is enabled for your account ## Implementation guides Choose the implementation guide that best suits your needs: * [Apple Pay on Web (Embed SDK)](/guides/features/apple-pay/web) - Integrate Apple Pay using Gr4vy's Embed on your website * [Apple Pay on Web (Without SDK)](/guides/features/apple-pay/web-without-sdk) - Custom implementation without Embed * [Apple Pay on iOS (SDK)](/guides/features/apple-pay/ios) - Native integration using the Gr4vy iOS SDK * [Apple Pay on iOS (Without SDK)](/guides/features/apple-pay/ios-without-sdk) - Custom native implementation ## What's next? * Choose your integration method and follow the implementation guide * Test thoroughly in the sandbox environment before going live # Click to Pay Source: https://docs.gr4vy.com/connections/digital-wallets/click-to-pay Set up Click to Pay as a digital wallet payment method in Gr4vy. Click to Pay is a secure, guest-friendly checkout solution backed by major card networks (American Express, Discover, Mastercard, and Visa). It allows customers to complete purchases quickly without creating an account or manually entering card details. ## Key features * **Guest Checkout**: No account or password required * **Enrolled User Recognition**: Automatically identifies returning customers * **Network Token Security**: Uses secure network tokens for payment processing * **Advanced Security Options**: Token Authentication Service (TAS) and Customer Authentication Module (CAM) * **Cross-Merchant Recognition**: Works across all participating merchant sites * **Biometric Authentication**: Supports passkeys for enhanced security ## How it works 1. Customer enters their email at checkout 2. Click to Pay recognizes if they're enrolled 3. Customer authenticates using their preferred method 4. Customer selects from their saved cards 5. Payment completes using secure network tokens ## Benefits * **Higher Conversion**: Faster checkout reduces cart abandonment * **Enhanced Security**: Network token processing reduces fraud risk * **Better UX**: No manual card entry or account creation needed * **Seamless Integration**: Works with Gr4vy Embed and Secure Fields ## Implementation guides Choose the implementation guide that best suits your needs: * [Click to Pay Setup](/guides/features/click-to-pay/setup) - Basic implementation with Secure Fields * [Token Authentication Service (TAS)](/guides/features/click-to-pay/tas) - Advanced security with EMV-level authentication * [Customer Authentication Module (CAM)](/guides/features/click-to-pay/cam) - Risk-based authentication without friction ## What's next? * Review the [setup guide](/guides/features/click-to-pay/setup) to get started * Explore advanced security features (TAS and CAM) for your use case * Check out the [sample Click to Pay repository](https://github.com/gr4vy/sample-standalone-click-to-pay) for a practical example # Google Pay Source: https://docs.gr4vy.com/connections/digital-wallets/google-pay Set up Google Pay as a digital wallet payment method in Gr4vy. Google Pay is a digital wallet platform that enables fast and secure payments on web and Android devices. It provides a seamless checkout experience with automatic form-filling and works across billions of devices worldwide. ## Key features * **Web & Android Support**: Integrate Google Pay on websites and Android applications * **Secure Payment Tokens**: Uses encoded device tokens for payment security * **One-click Checkout**: Streamlines the payment process with pre-filled information * **Wide Device Coverage**: Reaches users across billions of Android devices and supported browsers * **Recurring Payments**: Supports subscription and recurring payment flows ## Prerequisites To enable Google Pay transactions: * Google transmits encoded device tokens to payment services instead of encrypted gateway tokens * Not all payment services support decoded Google Pay tokens by default * Contact your payment service provider to ensure this feature is enabled for your account ## Implementation guides Choose the implementation guide that best suits your needs: * [Google Pay on Web (Embed SDK)](/guides/features/google-pay/web) - Integrate Google Pay using Gr4vy's Embed on your website * [Google Pay on Web (Without SDK)](/guides/features/google-pay/web-without-sdk) - Custom implementation without Embed * [Google Pay on Android (SDK)](/guides/features/google-pay/mobile) - Native integration using the Gr4vy Android SDK * [Google Pay on Android (Without SDK)](/guides/features/google-pay/mobile-without-sdk) - Custom native implementation ## What's next? * Choose your integration method and follow the implementation guide * Test thoroughly in the sandbox environment before going live # Paze Source: https://docs.gr4vy.com/connections/digital-wallets/paze Accept Paze, the US bank-led digital wallet from Early Warning Services, through Gr4vy. Paze is a bank-led digital wallet from Early Warning Services (EWS), the consortium behind Zelle. It is backed by major US banks, including JPMorgan Chase, Bank of America, and Wells Fargo, and competes with Apple Pay and Google Pay for e-commerce checkouts. Participating banks pre-provision eligible credit and debit cards directly into the wallet, so shoppers do not download an app or enroll their cards manually. Shoppers authenticate with their existing bank credentials, and Paze returns a network token rather than a card number. Paze is available to US-based businesses only. Transactions settle in US dollars and require a US acquiring connection that supports network tokens. ## Key features * **Pre-enrolled shoppers**: Banks provision eligible cards into the wallet, reaching over 150 million US consumers * **Low-friction checkout**: Shoppers authenticate with their bank credentials, reducing checkout drop-off * **Network tokens**: Transactions use network tokens instead of card numbers, supporting higher authorization rates and lower fraud * **Managed integration**: Gr4vy acts as the Paze Technical Integrator and handles merchant enrollment, certificate management, and key rotation on your behalf ## How it works Gr4vy supports the Paze pass-through model. Your checkout hosts the Paze button, and Gr4vy handles the encryption and routing: 1. Your checkout renders the Paze button and launches the Paze experience. 2. The shopper selects a card, and Paze returns an encrypted payload. 3. Your server forwards the payload to Gr4vy, which decrypts it, extracts the network token, and routes the transaction to your payment service. ## Set up Paze To enable Paze for your account, your merchant needs to be approved by Early Warning Services (EWS) — the consortium that operates Paze. Gr4vy enables Paze on a per-merchant basis once that approval is in place and manages the underlying Paze credentials on your behalf. To start the onboarding process, contact your Gr4vy account manager. They coordinate the EWS approval and turn Paze on for your merchant when approval is granted. Once Paze is enabled, follow the [integration overview](/guides/features/paze/overview) to add it to your checkout. # ACI Worldwide - Card Source: https://docs.gr4vy.com/connections/payments/aci-card Connect to ACI Worldwide to accept credit and debit card payments. ACI Worldwide is a global payment systems provider that offers payment processing solutions for merchants and financial institutions. Their platform supports card payments with advanced features like delayed capture and international payment processing across multiple currencies and countries. ## Credentials When setting up ACI Worldwide in the dashboard, configure the following credentials, which are obtained from ACI Worldwide merchant dashboard: ### Entity ID The entity required to authorize the request. This should be the channel entity identifier. In case channel dispatching is activated then it should be the merchant entity identifier. ### Access token The access token can be found under **Administration** -> **Account data** -> **Merchant / Channel Info** ## Connector configuration After setting up your ACI Worldwide connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure ACI Worldwide as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the ACI Worldwide connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Limitations The following features are not supported by this connector: * **Webhooks** - Webhook notifications for asynchronous payment status updates are not supported * **Idempotency and retries** - Idempotency keys and automatic retry handling are not supported * **Deep link** - Deep link generation for redirects is not supported ## Integration To accept card payments with ACI Worldwide, you need to use one of Gr4vy's client-side integration methods. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms After collecting the card details through one of these methods, the payment is processed through your configured ACI Worldwide connection. ## Testing For testing in sandbox environments, you can use standard test card numbers. ACI Worldwide supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [ACI Worldwide testing documentation](https://docs.aciworldwide.com/) or contact your ACI Worldwide representative. # Adyen Source: https://docs.gr4vy.com/connections/payments/adyen Connect to Adyen to accept card payments and local payment methods. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------------------------------------- | ------------------------- | --------------------- | ------------------------------------------ | | [Bank (ACH, SEPA, BACS)](./adyen-bank) | `AT`, `BE`, `BG`, 26 more | `EUR`, `GBP`, `USD` | Bank transfer via ACH, SEPA, or BACS. | | [ACH Direct Debit](./adyen-ach) | `PR`, `US` | `USD` | Bank debit via the Adyen Drop-in. | | [Alipay](./adyen-alipay) | `AT`, `AU`, 43 more | `AUD`, `CAD`, 13 more | Digital wallet payments. | | [BLIK](./adyen-blik) | `PL` | `PLN` | Code-based payments in Poland. | | [Card](./adyen-card) | `AE`, `AL`, 78 more | `AED`, `ALL`, 88 more | Card processing via Adyen. | | [Cash App Pay](./adyen-cashapp) | `US` | `USD` | Digital wallet payments. | | [GCash](./adyen-gcash) | `PH` | `PHP` | Mobile wallet payments in the Philippines. | | [iDEAL](./adyen-ideal) | `NL` | `EUR` | Bank redirect in the Netherlands. | | [Konbini](./adyen-konbini) | `JP` | `JPY` | Convenience store cash payments in Japan. | | [Online Banking Czech Republic](./adyen-onlinebankingcz) | `CZ` | `CZK` | Bank redirect in the Czech Republic. | | [Plaid](./adyen-paybybank) | `PR`, `US` | `USD` | Bank debit via the Adyen Drop-in. | | [PIX](./adyen-pix) | `BR` | `BRL` | Instant payments in Brazil. | | [SEPA](./adyen-sepa) | `AT`, `BE`, 26 more | `EUR` | SEPA direct debit. | | [Sofort](./adyen-sofort) | `AT`, `BE`, 4 more | `CHF`, `EUR` | Bank redirect in Europe. | | [Swish](./adyen-swish) | `SE` | `SEK` | Mobile wallet payments in Sweden. | | [Vipps](./adyen-vipps) | `NO` | `NOK` | Mobile wallet payments in Norway. | ## Setup Adyen provides a self-service sign-up for a sandbox account. To sign up for an account visit the [sign-up page](https://www.adyen.com/signup) and fill in the details. ## Credentials To set up credentials for Adyen, head to their dashboard and navigate to **Developers** -> **API credentials** in the left hand sidebar. Next, create a set of credentials. You need to create a **Web Service** key and give it a name. Setting the name to something that describes the use for the key is recommended, for example `Orchestration API`. For most Adyen connectors you need to then copy some of the following details into the dashboard. * **A server-side API key** - This key can be found on the credentials page under **Server Settings** -> **Authentication** -> **API key**. This is the key used to communicate with the Adyen API from the server. * **A client-side key** - This key can be found on the credentials page under **Client Settings** -> **Authentication** -> **Client key**. This is the key used to communicate with the Adyen API from frontend integrations. This key is mostly needed for local and alternative payment methods. * **A merchant account** - This is the public ID of your account. This value is needed for most API calls. You can find this in your dashboard under **Settings** -> **Account settings** -> **Merchant overview** -> **Name**. ## Productions endpoints (conditional) Most live Adyen accounts have a custom API hostname configured. In those situations the value of the prefix of your domain name is needed. For example, if your live URL is `https://1797a841fbb37ca7-AdyenDemo-checkout-live.adyenpayments.com/checkout/v53/payments` then the live URL prefix would be `1797a841fbb37ca7-AdyenDemo`. See [Live URL prefix](https://docs.adyen.com/development-resources/live-endpoints#live-url-prefix) for more details. ## Allowed origins (conditional) For alternative payment methods it's essential to also enable the allowed origin for your instance. This allows connections to the Adyen API from hosted components, like Embed. For a given API credential, scroll down to the **Client settings** section where you find the **allowed origins** configuration. Add one of the following domains based on your environment. * `https://cdn.{instance_id}.gr4vy.app` * `https://cdn.sandbox.{instance_id}.gr4vy.app` The value of `{instance_id} ` is the name of your instance. ### Web components environment (conditional) It is required to set the environment to load the web components from for live Adyen transactions. This mainly applies to alternative payment methods and not card payments. The environment should be set to one of the following, depending on your region. If no value is provided, a default value of `live` is used. | Region | Environment Value | | ----------------------- | ----------------- | | Europe | `live` | | Australia | `live-au` | | United States | `live-us` | | Asia Pacific South East | `live-apse` | ## Webhook format In the Adyen panel, "Webhook configuration" section, "Method" should be set to JSON. ## Identifier limitations When an approval is required on a transaction, the `payment_service_transaction_id` changes between the transaction creation and the approval. This is because until the user approves, Adyen generates an offer, and the payment is generated only after the approval. See [Offers and Payments](https://help.adyen.com/knowledge/payments/payment-basics/what-is-an-offer-and-how-do-i-search-for-one) for more details. # Adyen - ACH Direct Debit Source: https://docs.gr4vy.com/connections/payments/adyen-ach Configure ACH Direct Debit via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. ACH Direct Debit is a bank payment method in the United States. The buyer enters their bank account and routing numbers on the Adyen Drop-in component, and the funds are debited from their account. Adyen verifies and processes the debit, and the payment method can be stored for recurring debits. This connector renders the Adyen Drop-in for ACH Direct Debit. To submit bank account details directly through the API instead, see [Bank (ACH, SEPA, BACS) via Adyen](./adyen-bank). ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with ACH Direct Debit. Next, make sure to enable ACH Direct Debit as a payment method on your configured account. ## Supported countries ## Supported currencies ## Capabilities ## Integration For ACH Direct Debit, the default integration for Adyen is through a redirect to a hosted payments page that renders the Adyen Drop-in in a popup. The buyer enters their bank account and routing numbers on the Drop-in to authorize the debit. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ach", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAch redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ACH) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'ach', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "ach", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "ach", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "ach" } ``` Open the `approval_url` in a popup so the buyer can enter their bank account and routing numbers on the Adyen Drop-in and authorize the debit. After the buyer completes the form they are redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ach", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodAch redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ACH) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'ach', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", integration_client="ios", payment_method={ "method": "ach", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", integrationClient: "ios", paymentMethod: { method: "ach", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. Refer to the [common Adyen integration guidance](./adyen-sofort#direct-integration) for a worked example of initializing the Adyen SDK with this session data. ## Recurring payments ACH Direct Debit via Adyen supports storing the bank account for later reuse. When you store the payment method, Gr4vy registers a recurring contract with Adyen so the stored bank account can be debited for subsequent transactions. See [Recurring payments](/guides/features/recurring-payments/overview) for an overview of storing and reusing payment methods. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/ach-direct-debit/web-drop-in/#test-and-go-live) on how to test ACH Direct Debit. # Adyen - Alipay Source: https://docs.gr4vy.com/connections/payments/adyen-alipay Configure Alipay via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Alipay is a digital wallet operated by Ant Group, widely used in China and other Asian markets. It allows buyers to make secure payments using their Alipay account balance, linked bank cards, or credit cards. Alipay is one of the world's largest mobile and online payment platforms. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Alipay. Next, make sure to enable Alipay as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Alipay, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "alipay", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAlipay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ALIPAY) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'alipay', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "alipay", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "alipay", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "alipay" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "alipay", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodAlipay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ALIPAY) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'alipay', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", integration_client="ios", payment_method={ "method": "alipay", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", integrationClient: "ios", paymentMethod: { method: "alipay", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "alipay", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "alipay", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "alipay", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/alipay/web-component/#test-and-go-live) on how to test Alipay. # Adyen - Bank Source: https://docs.gr4vy.com/connections/payments/adyen-bank Configure ACH, SEPA, and BACS via Adyen as payment methods in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Adyen's bank connector enables you to process ACH, SEPA, and BACS bank payments through Adyen's payment platform. This connector supports two payment flows: * **Plaid Link**—Customers link their bank account through Plaid, and the resulting token is used to process the payment. Adyen only processes Plaid-linked payments for ACH Direct Debit accounts. * **Direct bank details**—You provide raw bank account details directly via the API. This flow supports ACH, SEPA, and BACS schemes. See [Direct bank payments](/connections/payments/bank) for details. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Adyen. Next, make sure to enable the relevant bank payment methods (ACH, SEPA, or BACS) on your configured Adyen account. The following additional settings are available. * **Force direct bank details**—When enabled, the system skips attempting to exchange a Plaid processor token with Adyen and instead fetches raw bank details (account number, routing number, IBAN, or sort code) from Plaid directly. This saves an API call per payment and is useful when you prefer to always process with raw bank details. This setting has no effect on transactions that already use the direct `bank` payment method. ## Prerequisites To use bank payments via Adyen, you must have: 1. **Adyen bank payments enabled:** The relevant bank payment method (ACH, SEPA, or BACS) must be enabled in your Adyen account 2. **Plaid configured:** For Plaid-linked payments, set up [Plaid](./plaid-bank) in your Gr4vy dashboard to handle bank account linking For Plaid-linked payments, the integration flow requires customers to first link their bank account through Plaid Link, then use the resulting public token to create a transaction that is processed through Adyen. For direct bank payments, you submit raw bank account details via the API without requiring Plaid. ## Supported countries ## Supported currencies ## Limitations ### Refunds Partial refunds are not supported for unsettled bank transactions. If you need to refund a bank transaction before it has settled, you must refund the full transaction amount. Once a transaction has settled, partial refunds become available. ### Payment methods This connector supports bank accounts linked through Plaid (ACH, SEPA, and BACS) and direct bank account details submitted via the API. See [Direct bank payments](/connections/payments/bank) for the direct integration flow. ## Usage You can create bank payments via Adyen using either Plaid Link or direct bank details. ### Option 1: Plaid Link First, use Plaid Link to securely connect the customer's bank account. See the [Plaid integration guide](./plaid-bank-integration) for detailed instructions on implementing Plaid Link. When the customer successfully links their account, you'll receive a `publicToken` and account metadata from Plaid. Use the `publicToken` from Plaid to create a transaction that is processed through the Adyen bank connector. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", // The method discriminator defaults to "plaid" and isn't set explicitly PaymentMethod = TransactionCreatePaymentMethod.CreatePlaidPaymentMethodCreate( new PlaidPaymentMethodCreate() { Token = "public-sandbox-xxxxx", AccountId = "account-id-from-metadata" } ), Buyer = new BuyerCreate() { BillingAddress = new AddressCreate() { FirstName = "John", LastName = "Doe" } }, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" paymentServiceId := "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // The method discriminator defaults to "plaid" and isn't set explicitly plaidPaymentMethodCreate := components.PlaidPaymentMethodCreate{ Token: "public-sandbox-xxxxx", AccountID: gr4vy.String("account-id-from-metadata"), } paymentMethod := components.CreateTransactionCreatePaymentMethodPlaidPaymentMethodCreate(plaidPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Buyer: &components.BuyerCreate{ BillingAddress: &components.AddressCreate{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, }, PaymentServiceID: &paymentServiceId, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) // The method discriminator defaults to "plaid" and isn't set explicitly .paymentMethod(TransactionCreatePaymentMethod.of(PlaidPaymentMethodCreate.builder() .token("public-sandbox-xxxxx") .accountId("account-id-from-metadata") .build())) .buyer(BuyerCreate.builder() .billingAddress(AddressCreate.builder() .firstName("John") .lastName("Doe") .build()) .build()) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', // The method discriminator defaults to "plaid" and isn't set explicitly paymentMethod: new PlaidPaymentMethodCreate( token: 'public-sandbox-xxxxx', accountId: 'account-id-from-metadata' ), buyer: new BuyerCreate( billingAddress: new AddressCreate( firstName: 'John', lastName: 'Doe' ) ), paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", # The method discriminator defaults to "plaid" and isn't set explicitly payment_method=models.PlaidPaymentMethodCreate( token="public-sandbox-xxxxx", account_id="account-id-from-metadata" ), buyer=models.BuyerCreate( billing_address=models.AddressCreate( first_name="John", last_name="Doe" ) ), payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "plaid", token: "public-sandbox-xxxxx", accountId: "account-id-from-metadata" }, buyer: { billingAddress: { firstName: "John", lastName: "Doe" } }, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }) ``` **Key parameters:** * `method` - Set to `plaid` to indicate a Plaid-linked bank account * `token` - The public token received from Plaid Link * `account_id` - Optional. The specific account ID from Plaid metadata if the customer linked multiple accounts * `payment_service_id` - The UUID of your Adyen bank connection (found in Gr4vy dashboard) The transaction is processed through Adyen as an ACH Direct Debit payment using the bank account details securely retrieved from Plaid. ### Option 2: Direct bank details Submit raw bank account details directly via the API. Set `method` to `bank` and `scheme` to the appropriate value (`ach`, `sepa`, or `bacs`). The following example uses the `ach` scheme. For SEPA, replace the scheme with `sepa` and provide the IBAN as the `account_number`. For BACS, replace the scheme with `bacs` and provide the sort code as the `routing_number`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateACHBankPaymentMethodCreate( new ACHBankPaymentMethodCreate() { AccountNumber = "1234567890", RoutingNumber = "011000138", AccountType = "checking", AccountHolder = new BankAccountHolder() { FirstName = "John", LastName = "Doe" } } ), PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" paymentServiceId := "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" achPaymentMethod := components.ACHBankPaymentMethodCreate{ AccountNumber: "1234567890", RoutingNumber: "011000138", AccountType: components.AccountTypeChecking, AccountHolder: components.BankAccountHolder{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, } paymentMethod := components.CreateTransactionCreatePaymentMethodACHBankPaymentMethodCreate(achPaymentMethod) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, PaymentServiceID: &paymentServiceId, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(ACHBankPaymentMethodCreate.builder() .accountNumber("1234567890") .routingNumber("011000138") .accountType(AccountType.CHECKING) .accountHolder(BankAccountHolder.builder() .firstName("John") .lastName("Doe") .build()) .build())) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new ACHBankPaymentMethodCreate( accountNumber: '1234567890', routingNumber: '011000138', accountType: 'checking', accountHolder: new BankAccountHolder( firstName: 'John', lastName: 'Doe' ) ), paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ); $response = $sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "bank", "scheme": "ach", "account_number": "1234567890", "routing_number": "011000138", "account_type": "checking", "account_holder": { "first_name": "John", "last_name": "Doe" } }, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "bank", scheme: "ach", accountNumber: "1234567890", routingNumber: "011000138", accountType: "checking", accountHolder: { firstName: "John", lastName: "Doe" } }, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` For vaulting, recurring payments, and additional details, see the [Direct bank payments](/connections/payments/bank) guide. ## Testing In a test environment, you can use Plaid's sandbox mode along with Adyen's test environment: 1. Configure Plaid with sandbox credentials 2. Use Plaid's test credentials to link a test bank account 3. Process test transactions through Adyen's sandbox For direct bank details, use Adyen's test account numbers for ACH, SEPA, or BACS as documented in Adyen's testing guides. Refer to [Plaid's testing documentation](https://plaid.com/docs/sandbox/) for available test credentials and scenarios. # Adyen - BLIK Source: https://docs.gr4vy.com/connections/payments/adyen-blik Configure BLIK via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. BLIK is a mobile payment system widely used in Poland, operated by Polski Standard Płatności (PSP). It allows users to make instant payments, withdraw cash from ATMs, and pay in stores using a 6-digit code generated in their banking app. BLIK is available to customers of most Polish banks and has become one of the fastest-growing payment methods in Poland. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with BLIK. Next, make sure to enable BLIK as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For BLIK, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PLN", Country = "PL", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "blik", Country = "PL", Currency = "PLN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PLN" country := "PL" method := components.RedirectPaymentMethodCreateMethodBlik redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PLN") .country("PL") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BLIK) .country("PL") .currency("PLN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PLN', country: 'PL', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'blik', country: 'PL', currency: 'PLN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PLN", country="PL", intent="capture", payment_method={ "method": "blik", "country": "PL", "currency": "PLN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PLN", country: "PL", intent: "capture", paymentMethod: { method: "blik", country: "PL", currency: "PLN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "blik" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PLN", Country = "PL", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "blik", Country = "PL", Currency = "PLN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PLN" country := "PL" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodBlik redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PLN") .country("PL") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BLIK) .country("PL") .currency("PLN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PLN', country: 'PL', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'blik', country: 'PL', currency: 'PLN', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PLN", country="PL", intent="capture", integration_client="ios", payment_method={ "method": "blik", "country": "PL", "currency": "PLN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PLN", country: "PL", intent: "capture", integrationClient: "ios", paymentMethod: { method: "blik", country: "PL", currency: "PLN", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "blik", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "blik", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "blik", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing In a test environment, you can simulate a BLIK payment. Adyen has [extensive instructions](https://docs.adyen.com/payment-methods/blik/web-component/#test-and-go-live) on how to help with this. # Adyen - Card Source: https://docs.gr4vy.com/connections/payments/adyen-card Connect to Adyen to accept credit and debit card payments. Adyen is a global payment platform founded in 2006 in Amsterdam, Netherlands. The company provides payment processing solutions for merchants worldwide, serving major clients like Spotify, Uber, and eBay. The platform supports card payments with advanced features like delayed capture, partial refunds, network tokenization, and digital wallet integration across multiple currencies and countries. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Adyen. After you set up your Adyen account, configure the following settings in the developer area so you can use all features. Go to **Developers** -> **Additional data** in the Adyen dashboard and then make sure the following fields are selected: * Recurring Details * Raw acquirer result * Payment account reference ## Connector configuration After setting up your Adyen connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Adyen as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Adyen connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Adyen, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Adyen connection based on your Flow rules or explicit `payment_service_id` parameter. ### Auto-rescue Adyen's [auto-rescue](https://docs.adyen.com/online-payments/auto-rescue/cards/) feature is supported by this connector. This feature automatically retries customer-not-present card transactions when they are declined on the first request. To enable this feature, pass in the following connection options for Adyen when making a subsequent payment request. ```json theme={"system"} POST /transactions { "amount": 1299, "country": "US", "currency": "USD", "intent": "capture", "payment_method": { "method": "id", "id": "7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd" }, "connection_options": { "adyen-card": { "autoRescue": true, "maxDaysToRescue": 5 } }, "payment_source": "card_on_file", "is_subsequent_payment": true, "merchant_initiated": true } ``` Please note that this feature only works for customer-not-present transaction where `is_subsequent_payment` is set to `true`. The following fields need to be set. * `autoRescue` - A boolean value that enables the feature. This defaults to `false`. * `maxDaysToRescue` - The rescue window, in days. Can specify between 1 and 48 days. Adyen recommends using a rescue window of one calendar month (30 days). * `autoRescueScenario` - This is one of the [test scenarios](https://docs.adyen.com/online-payments/auto-rescue/cards/#test-auto-rescue) as defined by Adyen. This only works in sandbox. Please be aware that the webhooks from Adyen in these test scenarios may take a few minutes to arrive. A transaction is marked as `processing` when a transaction has been accepted for automatic retries using this feature. When a webhook for a successful payment or an eventual rejection is received, the status is updated accordingly. For auto-rescue to work it's important to ensure Adyen has been setup to send [webhooks](https://docs.adyen.com/development-resources/webhooks/) in a **JSON** format. ### Canceling auto-rescue While a payment is in the rescue process, the buyer may provide a new payment method or reach out to cancel their subscription. In these scenarios, the rescue process can be canceled. To cancel the auto-rescue process, perform a [cancel request](/reference/transactions/cancel-transaction) on the transaction. Once Adyen has processed the cancellation and confirmation via webhook has been received, the transaction is marked as canceled. ### Balance splits Adyen's [balance splits](https://docs.adyen.com/platforms/online-payments/split-transactions/) feature is supported by this connector. This feature allows determining where to book the funds at transaction time. Please note the users' stores can be configured to automatically split all transactions. This means that it is not necessary to send these split instructions in every payment or capture request. To enable this feature, pass in the following connection options for Adyen when making a payment request. ```json theme={"system"} POST /transactions { "amount": 4000, "country": "US", "currency": "USD", "intent": "capture", "payment_method": { ... }, "connection_options": { "adyen-card": { "splits": { "authorization": [ { "account": "MARKETPLACE_ACCOUNT1", "amount": { "currency": "USD", "value": 200 }, "description": "Marketplace fee", "reference": "YOUR_UNIQUE_REFERENCE1", "type": "BalanceAccount" }, { "account": "MARKETPLACE_ACCOUNT2", "amount": { "currency": "USD", "value": 200 }, "description": "Remainder", "reference": "YOUR_UNIQUE_REFERENCE2", "type": "Remainder" }, ], "capture": [...], "refund": [...] } } } } ``` The split information can be defined to be set at time of authorization, capture, or even for refunds. Please note the `PUT /transactions/{id}` API can be used to update connection options (and therefore splits) before making a capture or refund. Please refer to Adyen's [balance splits](https://docs.adyen.com/platforms/online-payments/split-transactions/) documentation for exact details on each of the split objects. ### Payouts / original credit transactions Adyen [Transfers API](https://docs.adyen.com/payouts/payout-service/pay-out-to-cards/) is supported by this connector to enable Payouts/Original Credit Transactions. This feature needs to be enabled in the Adyen "account" for it to work. A balance account id also needs to be provided in the configuration of the Adyen connection in the dashboard. Payouts are funded from this balance account. ### Adyen Pinless Debit Routing Pinless debit routing allows merchants to route U.S. debit card transactions through regional debit networks (such as NYCE, Star, or Pulse) rather than global schemes like Visa or Mastercard, without requiring the cardholder to enter a PIN. For merchants who want to use Adyen's pinless debit routing, check **Defer selecting scheme for co-badged cards** in the connector credential options. This allows Adyen to make the final routing decision for co-badged cards. ## Testing For testing in sandbox environments, you can use standard test card numbers. Adyen supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Adyen testing documentation](https://docs.adyen.com/development-resources/test-cards/test-card-numbers) or contact your Adyen representative. # Adyen - Cash App Pay Source: https://docs.gr4vy.com/connections/payments/adyen-cashapp Configure Cash App Pay via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Cash App Pay is a digital wallet payment method operated by Block (formerly Square), widely used in the United States. It allows users to make instant payments using their Cash App Pay balance or linked bank account. Cash App Pay offers a fast and secure checkout experience for online purchases. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Cash App Pay. Next, make sure to enable Cash App Pay as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Cash App Pay, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "cashapp", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodCashapp redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.CASHAPP) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'cashapp', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "cashapp", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "cashapp", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "cashapp" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "cashapp", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodCashapp redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.CASHAPP) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'cashapp', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", integration_client="ios", payment_method={ "method": "cashapp", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", integrationClient: "ios", paymentMethod: { method: "cashapp", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "cashapp", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "cashapp", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "cashapp", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, paymentMethodsConfiguration: { cashapp: { storePaymentMethod: storePaymentMethod, }, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/cash-app-pay/web-component/#test-and-go-live) on how to test Cash App Pay. # Adyen - GCash Source: https://docs.gr4vy.com/connections/payments/adyen-gcash Configure GCash via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. GCash is the leading mobile wallet in the Philippines. It allows buyers to pay using their GCash account balance, linked bank cards, and other funding sources. GCash supports one-time payments and recurring billing through its tokenization scheme. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with GCash. Next, make sure to enable GCash as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For GCash, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gcash", Country = "PH", Currency = "PHP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" method := components.RedirectPaymentMethodCreateMethodGcash redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GCASH) .country("PH") .currency("PHP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'gcash', country: 'PH', currency: 'PHP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", intent="capture", payment_method={ "method": "gcash", "country": "PH", "currency": "PHP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", intent: "capture", paymentMethod: { method: "gcash", country: "PH", currency: "PHP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "gcash" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gcash", Country = "PH", Currency = "PHP", RedirectUrl = "yourapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodGcash redirectUrl := "yourapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GCASH) .country("PH") .currency("PHP") .redirectUrl("yourapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'gcash', country: 'PH', currency: 'PHP', redirectUrl: 'yourapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", intent="capture", integration_client="ios", payment_method={ "method": "gcash", "country": "PH", "currency": "PHP", "redirect_url": "yourapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", intent: "capture", integrationClient: "ios", paymentMethod: { method: "gcash", country: "PH", currency: "PHP", redirectUrl: "yourapp://callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "gcash", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "gcash", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "gcash", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Recurring transactions The Adyen GCash connector supports tokenized recurring payments. After a buyer authorizes the initial payment and their GCash wallet is stored, subsequent merchant-initiated charges are sent directly to Adyen using the stored payment method — no second redirect is required. ### Enrollment To enroll a buyer in recurring transactions, create an initial transaction with tokenization enabled. * Set `store` to `true` to save the payment method after the buyer approves. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gcash", Country = "PH", Currency = "PHP", RedirectUrl = "https://example.com/callback", } ), Store = true, } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" method := components.RedirectPaymentMethodCreateMethodGcash redirectUrl := "https://example.com/callback" store := true redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Store: &store, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GCASH) .country("PH") .currency("PHP") .redirectUrl("https://example.com/callback") .build())) .store(true) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'gcash', country: 'PH', currency: 'PHP', redirectUrl: 'https://example.com/callback' ), store: true ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", intent="capture", payment_method={ "method": "gcash", "country": "PH", "currency": "PHP", "redirect_url": "https://example.com/callback", }, store=True ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", intent: "capture", paymentMethod: { method: "gcash", country: "PH", currency: "PHP", redirectUrl: "https://example.com/callback" }, store: true }) ``` Redirect the buyer to the `approval_url` to complete the GCash authorization flow. After the buyer approves, Adyen delivers the stored payment method token through a `recurring.token.created` webhook. Rely on webhooks rather than the redirect to confirm that the token is ready for subsequent charges. ### Zero-amount enrollment To enroll a buyer without charging them — for example, when starting a free trial — send the enrollment request above with `amount` set to `0` and `store` set to `true`. The buyer still completes the GCash approval flow and authorizes the auto-debit agreement, but no funds are taken. The stored payment method arrives through the same `recurring.token.created` webhook, and subsequent charges work exactly as described below. Zero-amount transactions are **not enabled by default** on Adyen accounts. Ask your Adyen contact to enable them for GCash on your merchant account before using this flow. Adyen refers to this as zero-value auth. Until it is enabled, Adyen does not return `gcash` as an available payment method for a zero amount, so the approval flow never starts and the buyer sees an error. To confirm it is active, call Adyen's `/paymentMethods` endpoint with `amount.value` set to `0` and `amount.currency` set to `PHP`, then check that `gcash` is in the response. A zero amount can also be sent without `store` when you only need the buyer to confirm their GCash account, without charging or storing it. This is not a card-style zero-amount verification. The buyer is present and approves through GCash either way. GCash is capture-only, so there is no separate authorization step to void afterwards. A zero amount is the only way to complete a GCash transaction without taking funds. ### Subsequent payment After the payment method is stored, create each recurring charge using the saved payment method ID. Gr4vy routes the charge directly to Adyen without requiring a buyer redirect. * Set `payment_method.method` to `id` and pass the saved payment method ID. * Set `payment_source` to `recurring`. * Set `merchant_initiated` and `is_subsequent_payment` to `true`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring", } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', intent: 'capture', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring' ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", intent="capture", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring" ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", intent: "capture", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring" }) ``` ### Cancellation To revoke a stored GCash payment method, use the standard [Delete payment method](/reference/payment-methods/delete-payment-method) endpoint with the saved payment method ID. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/gcash/#test-and-go-live) on how to test GCash. # Adyen - iDEAL Source: https://docs.gr4vy.com/connections/payments/adyen-ideal Configure iDEAL via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. iDEAL is the most popular online payment method in the Netherlands, operated by Currence. It enables buyers to make secure online payments directly from their bank account through their own banking environment. iDEAL is used by nearly all Dutch banks and is trusted by millions of consumers in the Netherlands. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with iDEAL. Next, make sure to enable iDEAL as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For iDEAL, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", intent="capture", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", intent: "capture", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "ideal" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", intent="capture", integration_client="ios", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", intent: "capture", integrationClient: "ios", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "ideal", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "ideal", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "ideal", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing In a test environment, you can simulate an IDEAL payment. Adyen has [extensive instructions](https://docs.adyen.com/payment-methods/ideal/web-component/#test-and-go-live) on how to help with this. # Adyen - Konbini Source: https://docs.gr4vy.com/connections/payments/adyen-konbini Configure Konbini convenience store payments via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Konbini is a popular cash-based payment method in Japan. The buyer receives a payment voucher during checkout and then pays in cash at a participating convenience store. Konbini payments via Adyen are processed through eContext and are supported at Lawson, FamilyMart, Mini Stop, and Seicomart. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Konbini. Next, make sure to enable Konbini as a payment method on your configured account. ## Supported countries ## Supported currencies ## Capabilities ## Integration For Konbini, the default integration for Adyen is through a redirect to a hosted payments page. Konbini is a cash payment method. After the voucher is issued, the buyer pays in cash at a convenience store, which can take up to three days. The payment is confirmed out of band, so rely on webhooks to detect the final status rather than the buyer returning to your site. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "JPY", Country = "JP", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "konbini", Country = "JP", Currency = "JPY", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "JPY" country := "JP" method := components.RedirectPaymentMethodCreateMethodKonbini redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("JPY") .country("JP") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KONBINI) .country("JP") .currency("JPY") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'JPY', country: 'JP', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'konbini', country: 'JP', currency: 'JPY', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="JPY", country="JP", intent="capture", payment_method={ "method": "konbini", "country": "JP", "currency": "JPY", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "JPY", country: "JP", intent: "capture", paymentMethod: { method: "konbini", country: "JP", currency: "JPY", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "konbini" } ``` Present the `approval_url` to the buyer so they can enter their phone number and receive a voucher reference. The buyer then takes the voucher to a participating convenience store and pays in cash. Because Konbini payments settle out of band, the buyer is not redirected back to Gr4vy after paying. Rely on webhooks to detect the final status, for example `capture_succeeded` once the store processes the cash payment, or a failure state if the voucher expires. ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "JPY", Country = "JP", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "konbini", Country = "JP", Currency = "JPY", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "JPY" country := "JP" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodKonbini redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("JPY") .country("JP") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KONBINI) .country("JP") .currency("JPY") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'JPY', country: 'JP', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'konbini', country: 'JP', currency: 'JPY', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="JPY", country="JP", intent="capture", integration_client="ios", payment_method={ "method": "konbini", "country": "JP", "currency": "JPY", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "JPY", country: "JP", intent: "capture", integrationClient: "ios", paymentMethod: { method: "konbini", country: "JP", currency: "JPY", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. Refer to the [common Adyen integration guidance](./adyen-sofort#direct-integration) for a worked example of initializing the Adyen SDK with this session data. As with the redirect integration, the buyer pays in cash at a convenience store after the voucher is issued, so the final status arrives via webhook rather than an immediate response. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/econtext-konbini/web-component/#test-and-go-live) on how to test Konbini. # Adyen - Online Banking Czech Republic Source: https://docs.gr4vy.com/connections/payments/adyen-onlinebankingcz Configure Online Banking Czech Republic via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Online Banking Czech Republic is a bank transfer payment method that enables Czech buyers to make online payments directly from their bank account. The payment method supports all major Czech banks and provides a secure way for customers to complete transactions without sharing their banking credentials. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Online Banking Czech Republic. Next, make sure to enable Online Banking Czech Republic as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Online Banking Czech Republic, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CZK", Country = "CZ", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "onlinebankingcz", Country = "CZ", Currency = "CZK", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CZK" country := "CZ" method := components.RedirectPaymentMethodCreateMethodOnlinebankingcz redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CZK") .country("CZ") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ONLINEBANKINGCZ) .country("CZ") .currency("CZK") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CZK', country: 'CZ', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'onlinebankingcz', country: 'CZ', currency: 'CZK', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CZK", country="CZ", intent="capture", payment_method={ "method": "onlinebankingcz", "country": "CZ", "currency": "CZK", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CZK", country: "CZ", intent: "capture", paymentMethod: { method: "onlinebankingcz", country: "CZ", currency: "CZK", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "onlinebankingcz" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CZK", Country = "CZ", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "onlinebankingcz", Country = "CZ", Currency = "CZK", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CZK" country := "CZ" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodOnlinebankingcz redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CZK") .country("CZ") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ONLINEBANKINGCZ) .country("CZ") .currency("CZK") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CZK', country: 'CZ', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'onlinebankingcz', country: 'CZ', currency: 'CZK', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CZK", country="CZ", intent="capture", integration_client="ios", payment_method={ "method": "onlinebankingcz", "country": "CZ", "currency": "CZK", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CZK", country: "CZ", intent: "capture", integrationClient: "ios", paymentMethod: { method: "onlinebankingcz", country: "CZ", currency: "CZK", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "onlinebankingcz", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "onlinebankingcz", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "onlinebankingcz", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/online-banking-czech-republic/api-only#test-and-go-live) on how to test Online Banking Czech Republic. # Adyen - Pay by Bank (Plaid) Source: https://docs.gr4vy.com/connections/payments/adyen-paybybank Configure Pay by Bank (Plaid) via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Pay by Bank (US) is Adyen's open banking payment method for the US market, powered by Plaid. The buyer is redirected to Plaid to select and authenticate with their bank. Plaid runs balance and risk checks at the time of authorization, and the payment settles over the ACH Direct Debit network. This is distinct from [ACH Direct Debit via Adyen](./adyen-ach), where the buyer manually enters their bank account and routing numbers. Pay by Bank uses the Plaid-mediated bank selection flow and includes Plaid's balance verification. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Pay by Bank (US). Next, contact Adyen to enable Pay by Bank (US) on your merchant account. Adyen requires merchants to be registered with Plaid before go-live, which can take up to one week. ## Supported countries ## Supported currencies ## Capabilities ## Integration Pay by Bank (US) is always a redirect flow. After creating a transaction, the buyer is redirected to Plaid to select their bank and authenticate. After authentication, Plaid runs a balance check and the buyer is redirected back to your `redirect_url`. ### Redirect integration Create a new transaction using the `paybybank` method. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paybybank", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodPaybybank redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYBYBANK) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'paybybank', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "paybybank", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "paybybank", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "paybybank" } ``` Open the `approval_url` in a popup or redirect so the buyer can authenticate with their bank via Plaid. After the buyer completes the flow they are redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect — either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). Pay by Bank (US) includes a Plaid balance check at authorization. If the selected bank account has insufficient funds, Adyen refuses the authorization and the transaction moves to a declined state. ## Recurring payments Pay by Bank (US) via Adyen supports storing the bank account after the first redirect. When you store the payment method, Gr4vy registers a recurring contract with Adyen so the stored bank account can be debited for subsequent transactions without requiring the buyer to go through the Plaid flow again. See [Recurring payments](/guides/features/recurring-payments/overview) for an overview of storing and reusing payment methods. ## Testing Adyen provides a [Pay by Bank (US) sandbox](https://docs.adyen.com/payment-methods/pay-by-bank-us/) for testing. Use the Plaid sandbox credentials (`user_good` / `pass_good`) when prompted during the redirect flow. Select an account with sufficient balance (for example, the savings account) to avoid the balance-check refusal. # Adyen - PIX Source: https://docs.gr4vy.com/connections/payments/adyen-pix Configure PIX via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. PIX is Brazil's instant payment system, created by the Central Bank of Brazil. It enables real-time transfers and payments 24/7 using QR codes or payment keys. PIX has rapidly become one of the most popular payment methods in Brazil, used by millions of consumers and businesses for fast, low-cost transactions. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with PIX. Next, make sure to enable PIX as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For PIX, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pix", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodPix redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PIX) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'pix', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", intent="capture", payment_method={ "method": "pix", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", intent: "capture", paymentMethod: { method: "pix", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "pix" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pix", Country = "BR", Currency = "BRL", RedirectUrl = "yourapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodPix redirectUrl := "yourapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PIX) .country("BR") .currency("BRL") .redirectUrl("yourapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'pix', country: 'BR', currency: 'BRL', redirectUrl: 'yourapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", intent="capture", integration_client="ios", payment_method={ "method": "pix", "country": "BR", "currency": "BRL", "redirect_url": "yourapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", intent: "capture", integrationClient: "ios", paymentMethod: { method: "pix", country: "BR", currency: "BRL", redirectUrl: "yourapp://callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "pix", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "pix", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "pix", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Recurring transactions The Adyen Pix connector supports Pix Automático, Brazil's recurring Pix scheme. Merchants can collect repeat Pix payments from a buyer after a single QR-based authorization, enabling subscriptions, instalments, and scheduled billing on Pix. Pix Automático is a pilot feature at Adyen, and the integration details may evolve. Your Adyen Brazil MID must be enabled for Pix Automático by Adyen, and live activation is coordinated separately. ### Enrollment To enroll a buyer in Pix Automático, create an initial transaction with tokenization enabled and pass the `adyen-pix` connection options to describe the billing plan. * Set `store` to `true` to save the payment method for subsequent charges. * Pass `connection_options.adyen-pix.pixRecurring` with the plan details. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1000, Currency = "BRL", Country = "BR", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pix", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), Store = true, ConnectionOptions = new Dictionary() { ["adyen-pix"] = new Dictionary() { ["pixRecurring"] = new Dictionary() { ["frequency"] = "monthly", ["recurringAmount"] = new Dictionary() { ["currency"] = "BRL", ["value"] = 1000, }, ["startsAt"] = "2026-05-01", ["endsAt"] = "2027-05-01", ["recurringStatement"] = "My Subscription", } } } } ); ``` ```go Go theme={"system"} amount := int64(1000) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodPix redirectUrl := "https://example.com/callback" store := true redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Store: &store, ConnectionOptions: map[string]any{ "adyen-pix": map[string]any{ "pixRecurring": map[string]any{ "frequency": "monthly", "recurringAmount": map[string]any{ "currency": "BRL", "value": 1000, }, "startsAt": "2026-05-01", "endsAt": "2027-05-01", "recurringStatement": "My Subscription", }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} Map recurringAmount = new HashMap<>(); recurringAmount.put("currency", "BRL"); recurringAmount.put("value", 1000); Map pixRecurring = new HashMap<>(); pixRecurring.put("frequency", "monthly"); pixRecurring.put("recurringAmount", recurringAmount); pixRecurring.put("startsAt", "2026-05-01"); pixRecurring.put("endsAt", "2027-05-01"); pixRecurring.put("recurringStatement", "My Subscription"); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1000L) .currency("BRL") .country("BR") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PIX) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .store(true) .connectionOptions(Map.of( "adyen-pix", Map.of("pixRecurring", pixRecurring) )) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1000, currency: 'BRL', country: 'BR', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'pix', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ), store: true, connectionOptions: [ 'adyen-pix' => [ 'pixRecurring' => [ 'frequency' => 'monthly', 'recurringAmount' => [ 'currency' => 'BRL', 'value' => 1000, ], 'startsAt' => '2026-05-01', 'endsAt' => '2027-05-01', 'recurringStatement' => 'My Subscription', ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1000, currency="BRL", country="BR", intent="capture", payment_method={ "method": "pix", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", }, store=True, connection_options={ "adyen-pix": { "pixRecurring": { "frequency": "monthly", "recurringAmount": { "currency": "BRL", "value": 1000, }, "startsAt": "2026-05-01", "endsAt": "2027-05-01", "recurringStatement": "My Subscription", } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1000, currency: "BRL", country: "BR", intent: "capture", paymentMethod: { method: "pix", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" }, store: true, connectionOptions: { "adyen-pix": { pixRecurring: { frequency: "monthly", recurringAmount: { currency: "BRL", value: 1000 }, startsAt: "2026-05-01", endsAt: "2027-05-01", recurringStatement: "My Subscription" } } } }) ``` Redirect the buyer to the `approval_url` to display the Pix QR code. Once the buyer scans the QR code in their bank app and authorizes the mandate, the payment method is stored and available for subsequent recurring charges. Adyen delivers the final mandate token through a `recurring.token.created` webhook. You can also authorize the mandate and capture the first payment in the same call by setting a non-zero `amount` on this initial transaction. To register the mandate without taking a payment, set the amount to `0` where supported by your account configuration. ### Subsequent payment After the mandate is active, create each scheduled charge using the saved payment method ID. * Set `payment_method.method` to `id` and pass the saved payment method ID. * Set `payment_source` to `recurring`. * Set `merchant_initiated` and `is_subsequent_payment` to `true`. * Optionally pass `connection_options.adyen-pix.pixRecurring.billingDate` and `connection_options.adyen-pix.pixRecurring.businessDayOnly` to control the charge date. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1000, Currency = "BRL", Country = "BR", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring", ConnectionOptions = new Dictionary() { ["adyen-pix"] = new Dictionary() { ["pixRecurring"] = new Dictionary() { ["billingDate"] = "2026-06-01", ["businessDayOnly"] = true, } } } } ); ``` ```go Go theme={"system"} amount := int64(1000) currency := "BRL" country := "BR" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, ConnectionOptions: map[string]any{ "adyen-pix": map[string]any{ "pixRecurring": map[string]any{ "billingDate": "2026-06-01", "businessDayOnly": true, }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} Map pixRecurring = new HashMap<>(); pixRecurring.put("billingDate", "2026-06-01"); pixRecurring.put("businessDayOnly", true); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1000L) .currency("BRL") .country("BR") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .connectionOptions(Map.of( "adyen-pix", Map.of("pixRecurring", pixRecurring) )) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1000, currency: 'BRL', country: 'BR', intent: 'capture', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring', connectionOptions: [ 'adyen-pix' => [ 'pixRecurring' => [ 'billingDate' => '2026-06-01', 'businessDayOnly' => true, ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1000, currency="BRL", country="BR", intent="capture", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring", connection_options={ "adyen-pix": { "pixRecurring": { "billingDate": "2026-06-01", "businessDayOnly": True, } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1000, currency: "BRL", country: "BR", intent: "capture", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring", connectionOptions: { "adyen-pix": { pixRecurring: { billingDate: "2026-06-01", businessDayOnly: true } } } }) ``` Adyen queues the scheduled charge and reports the final outcome through the `AUTHORISATION` webhook, so the transaction stays in a pending state until the webhook arrives. If `pixRecurring` is omitted, Adyen schedules the charge using its own defaults. ### Cancellation To revoke an active mandate, use the standard [Delete payment method](/reference/payment-methods/delete-payment-method) endpoint with the saved payment method ID. Gr4vy emits webhooks for mandate activation, mandate revocation, and individual charge outcomes for the lifetime of the plan. ### Connection options The `connection_options.adyen-pix.pixRecurring` object accepts the following fields. **Mandate creation** (initial transaction with `store: true`): * `frequency` — Recurrence interval. Supported values are `weekly`, `monthly`, `quarterly`, `half-yearly`, and `yearly`. * `recurringAmount.currency` — ISO 4217 currency code. Use `BRL`. * `recurringAmount.value` — Amount in minor units (cents). * `startsAt` — Plan start date in `YYYY-MM-DD` format. * `endsAt` — Plan end date in `YYYY-MM-DD` format. * `recurringStatement` — Buyer-facing statement description shown in the bank app. **Subsequent charges** (each charge against the saved payment method): * `billingDate` — Scheduled charge date in `YYYY-MM-DD` format. * `businessDayOnly` — When `true`, the charge is adjusted to the next business day if the scheduled date falls on a weekend or holiday. ## Testing In a test environment, you can simulate a PIX payment. Adyen has [extensive instructions](https://docs.adyen.com/payment-methods/pix/web-component/#test-and-go-live) on how to help with this. # Adyen - SEPA Source: https://docs.gr4vy.com/connections/payments/adyen-sepa Configure SEPA via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. SEPA (Single Euro Payments Area) is a payment integration initiative that makes bank transfers within the European Union as easy as domestic transfers. SEPA Direct Debit allows merchants to collect payments directly from buyers' bank accounts across participating European countries, providing a cost-effective alternative to card payments. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with SEPA. Next, make sure to enable SEPA as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For SEPA, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "sepa", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" method := components.RedirectPaymentMethodCreateMethodSepa redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SEPA) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'sepa', country: 'DE', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", intent="capture", payment_method={ "method": "sepa", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", intent: "capture", paymentMethod: { method: "sepa", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "sepa" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "sepa", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodSepa redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SEPA) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'sepa', country: 'DE', currency: 'EUR', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", intent="capture", integration_client="ios", payment_method={ "method": "sepa", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", intent: "capture", integrationClient: "ios", paymentMethod: { method: "sepa", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "sepa", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "sepa", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "sepa", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ### Recurring payments SEPA via Adyen supports recurring payments. To process a recurring payment, please be aware of the following limitations when storing a SEPA payment method for future use. * To store a SEPA payment for future use, set `store: true` on the transaction request. * When stored, a SEPA payment method is initially in a `processing` state until a webhook is received from Adyen. You need to set up the Adyen `RECURRING_CONTRACT` webhooks for this update to be received. * A stored SEPA payment method in a `processing` state can not be used in Embed until it is ready and marked as `succeeded` Once a SEPA payment method is successfully stored, you can use it to create a subsequent payment. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1800, Currency = "EUR", Country = "DE", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring" } ); ``` ```go Go theme={"system"} amount := int64(1800) currency := "EUR" country := "DE" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1800L) .currency("EUR") .country("DE") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1800, currency: 'EUR', country: 'DE', intent: 'capture', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring' ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1800, currency="EUR", country="DE", intent="capture", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring" ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1800, currency: "EUR", country: "DE", intent: "capture", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring" }) ``` When processing a recurring payment please note the following. * SEPA supports the `payment_source` of `recurring` and `instalment`, which maps to `Subscription` on the Adyen API. In all other scenarios it sets the recurring processing mode as `UnscheduledCardOnFile`. * Until the first transaction is settled, a stored SEPA payment uses a different mandate for the subsequent request. In a production environment, this might lead to a subsequent payment failing if the original mandate has not been fully settled yet. ### Auto-rescue Adyen's [auto-rescue](https://docs.adyen.com/online-payments/auto-rescue/sepa/) feature is supported by this connector. This feature automatically retries customer-not-present direct debit transactions when they receive a chargeback. To enable this feature, pass in the following connection options for Adyen when making a subsequent payment request. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Country = "DE", Currency = "EUR", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd" } ), ConnectionOptions = new Dictionary { ["adyen-sepa"] = new Dictionary { ["autoRescue"] = true, ["maxDaysToRescue"] = 5 } }, PaymentSource = "card_on_file", IsSubsequentPayment = true, MerchantInitiated = true } ); ``` ```go Go theme={"system"} amount := int64(1299) country := "DE" currency := "EUR" paymentSource := components.TransactionPaymentSourceCardOnFile tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Country: &country, Currency: currency, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, ConnectionOptions: map[string]interface{}{ "adyen-sepa": map[string]interface{}{ "autoRescue": true, "maxDaysToRescue": 5, }, }, PaymentSource: &paymentSource, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .country("DE") .currency("EUR") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd") .build())) .connectionOptions(Map.of( "adyen-sepa", Map.of( "autoRescue", true, "maxDaysToRescue", 5 ) )) .paymentSource(TransactionPaymentSource.CARD_ON_FILE) .isSubsequentPayment(true) .merchantInitiated(true) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, country: 'DE', currency: 'EUR', intent: 'capture', paymentMethod: new TokenPaymentMethodCreate( id: '7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd' ), connectionOptions: [ 'adyen-sepa' => [ 'autoRescue' => true, 'maxDaysToRescue' => 5 ] ], paymentSource: 'card_on_file', isSubsequentPayment: true, merchantInitiated: true ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, country="DE", currency="EUR", intent="capture", payment_method=models.TokenPaymentMethodCreate( id="7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd" ), connection_options={ "adyen-sepa": { "autoRescue": True, "maxDaysToRescue": 5 } }, payment_source="card_on_file", is_subsequent_payment=True, merchant_initiated=True ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, country: "DE", currency: "EUR", intent: "capture", paymentMethod: { method: "id", id: "7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd" }, connectionOptions: { "adyen-sepa": { autoRescue: true, maxDaysToRescue: 5 } }, paymentSource: "card_on_file", isSubsequentPayment: true, merchantInitiated: true }) ``` Please note that this feature only works for customer-not-present transactions where `is_subsequent_payment` is set to `true`. The following fields need to be set. * `autoRescue` - A boolean value that enables the feature. This defaults to `false`. * `maxDaysToRescue` - The rescue window, in days. You can specify between 1 and 42 days. Adyen recommends using a rescue window of one calendar month (30 days). * `autoRescueScenario` - This is one of the [test scenarios](https://docs.adyen.com/online-payments/auto-rescue/sepa/#test-auto-rescue) as defined by Adyen. This only works in sandbox. * `ownerName` - Set this to the type of chargeback that you want to simulate. Use a concatenation of chargeback and the reason code. For example, `chargeback:MS03` or `chargeback:AM04`. This only works in sandbox. Auto-rescued SEPA transactions are always `capture_succeeded` in the system as the payment is always processed successfully initially. Instead, the auto-rescue fights the chargeback by re-attempting the payment. The system does not report on these attempts, but may report the chargeback in settlement reports. ## Testing In a test environment, you can simulate a SEPA payment. Adyen has [extensive instructions](https://docs.adyen.com/payment-methods/sepa-direct-debit/web-component/#test-and-go-live) on how to help with this. # Adyen - Sofort Source: https://docs.gr4vy.com/connections/payments/adyen-sofort Configure Sofort via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Sofort is a popular online banking payment method operated by Klarna, widely used in Europe. It allows buyers to make instant bank transfers using their existing online banking credentials. Sofort provides real-time payment confirmation and is supported by most banks in Austria, Belgium, Germany, the Netherlands, Spain, and Switzerland. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Sofort. Next, make sure to enable Sofort as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Sofort, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "sofort", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" method := components.RedirectPaymentMethodCreateMethodSofort redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SOFORT) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'sofort', country: 'DE', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", intent="capture", payment_method={ "method": "sofort", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", intent: "capture", paymentMethod: { method: "sofort", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "sofort" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "sofort", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodSofort redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SOFORT) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'sofort', country: 'DE', currency: 'EUR', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", intent="capture", integration_client="ios", payment_method={ "method": "sofort", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", intent: "capture", integrationClient: "ios", paymentMethod: { method: "sofort", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "sofort", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "sofort", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "sofort", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` Please refer to the Adyen documentation for the [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) for further guidance. ## Testing Adyen has [instructions](https://docs.adyen.com/payment-methods/sofort/web-component/#test-and-go-live) on how to test Sofort. # Adyen - Swish Source: https://docs.gr4vy.com/connections/payments/adyen-swish Configure Swish via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Swish is a mobile wallet and instant bank transfer payment method in Sweden. It lets buyers approve payments in their Swish app. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Swish. Next, make sure to enable Swish as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Swish, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "SEK", Country = "SE", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "swish", Country = "SE", Currency = "SEK", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "SEK" country := "SE" method := components.RedirectPaymentMethodCreateMethodSwish redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("SEK") .country("SE") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SWISH) .country("SE") .currency("SEK") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'SEK', country: 'SE', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'swish', country: 'SE', currency: 'SEK', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="SEK", country="SE", intent="capture", payment_method={ "method": "swish", "country": "SE", "currency": "SEK", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "SEK", country: "SE", intent: "capture", paymentMethod: { method: "swish", country: "SE", currency: "SEK", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "swish" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "SEK", Country = "SE", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "swish", Country = "SE", Currency = "SEK", RedirectUrl = "yourapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "SEK" country := "SE" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodSwish redirectUrl := "yourapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("SEK") .country("SE") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SWISH) .country("SE") .currency("SEK") .redirectUrl("yourapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'SEK', country: 'SE', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'swish', country: 'SE', currency: 'SEK', redirectUrl: 'yourapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="SEK", country="SE", intent="capture", integration_client="ios", payment_method={ "method": "swish", "country": "SE", "currency": "SEK", "redirect_url": "yourapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "SEK", country: "SE", intent: "capture", integrationClient: "ios", paymentMethod: { method: "swish", country: "SE", currency: "SEK", redirectUrl: "yourapp://callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "swish", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "swish", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "swish", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` ## Testing To test Swish via Adyen: * Enable Swish as a payment method in your Adyen test account. * Configure your Gr4vy instance to use your Adyen test credentials and create transactions in your Gr4vy sandbox environment. * Use the Swish testing guidance in the Adyen documentation to simulate buyer flows and responses. For detailed Swish test scenarios and expected results, see the [Adyen Swish testing documentation](https://docs.adyen.com/payment-methods/swish/web-component/#test-and-go-live). # Adyen - Vipps Source: https://docs.gr4vy.com/connections/payments/adyen-vipps Configure Vipps via Adyen as a payment method in Gr4vy. Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. Vipps is a digital wallet payment method in Norway. It lets buyers approve payments in the Vipps app for fast checkout. ## Setup Please follow the [common Adyen instructions](./adyen) to get set up with Vipps. Next, make sure to enable Vipps as a payment method on your configured account. ## Supported countries ## Supported currencies ## Integration For Vipps, the default integration for Adyen is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "NOK", Country = "NO", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "vipps", Country = "NO", Currency = "NOK", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "NOK" country := "NO" method := components.RedirectPaymentMethodCreateMethodVipps redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("NOK") .country("NO") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.VIPPS) .country("NO") .currency("NOK") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'NOK', country: 'NO', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'vipps', country: 'NO', currency: 'NOK', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="NOK", country="NO", intent="capture", payment_method={ "method": "vipps", "country": "NO", "currency": "NOK", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "NOK", country: "NO", intent: "capture", paymentMethod: { method: "vipps", country: "NO", currency: "NOK", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/adyen/apm.html?token=..." }, "method": "vipps" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration Adyen provides [web](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components\&version=6.23.0), [Android](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Components\&version=5.15.0) and [iOS](https://docs.adyen.com/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.21.1) SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Adyen SDK. To start, create a new transaction with the appropriate `integration_client`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "NOK", Country = "NO", Intent = "capture", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "vipps", Country = "NO", Currency = "NOK", RedirectUrl = "yourapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "NOK" country := "NO" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodVipps redirectUrl := "yourapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("NOK") .country("NO") .intent(TransactionIntent.CAPTURE) .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.VIPPS) .country("NO") .currency("NOK") .redirectUrl("yourapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'NOK', country: 'NO', intent: 'capture', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'vipps', country: 'NO', currency: 'NOK', redirectUrl: 'yourapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="NOK", country="NO", intent="capture", integration_client="ios", payment_method={ "method": "vipps", "country": "NO", "currency": "NOK", "redirect_url": "yourapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "NOK", country: "NO", intent: "capture", integrationClient: "ios", paymentMethod: { method: "vipps", country: "NO", currency: "NOK", redirectUrl: "yourapp://callback" } }) ``` For mobile, set `integration_client` to `ios` or `android` and use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "https://example.com/callback", "paymentMethod": "vipps", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "vipps", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "sessionId": "CS04C0B8AC9849A7D8E25B20D", "sessionData": "Ab02b4c0!BQABAgBLgbLpvkt1r3", "environment": "live", "clientKey": "client-key", "returnUrl": "yourapp://", "paymentMethod": "vipps", "storePaymentMethod": true }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` This session data provides the `sessionId` and `sessionData` required to load the Adyen SDK. ```js Web theme={"system"} const adyenEnvironment = sessionData.environment; const clientKey = sessionData.clientKey; const sessionId = sessionData.sessionId; const adyenSessionData = sessionData.sessionData; const returnUrl = sessionData.returnUrl; const paymentMethod = sessionData.paymentMethod; const storePaymentMethod = sessionData.storePaymentMethod; const configuration = { environment: adyenEnvironment, clientKey, analytics: { enabled: false, }, session: { id: sessionId, sessionData: adyenSessionData, }, } AdyenCheckout(configuration).then(function (checkout) { let component = checkout .create(paymentMethod) .mount('#component'); }); ``` ```swift iOS theme={"system"} var adyenEnvironment = sessionData.environment; var clientKey = sessionData.clientKey; var sessionId = sessionData.sessionId; var adyenSessionData = sessionData.sessionData; var returnUrl = sessionData.returnUrl; var paymentMethod = sessionData.paymentMethod; var storePaymentMethod = sessionData.storePaymentMethod; override func viewDidLoad() { super.viewDidLoad() let configuration = AdyenSession.Configuration(sessionIdentifier: sessionId, initialSessionData: adyenSessionData) AdyenSession.initialize(with: configuration, delegate: self, presentationDelegate: self) { [weak self] result in switch result { case let .success(session): //Store the session object. self?.session = session case let .failure(error): //Handle the error. } } } ``` ```kotlin Android theme={"system"} val adyenEnvironment = sessionData.environment; val clientKey = sessionData.clientKey; val sessionId = sessionData.sessionId; val adyenSessionData = sessionData.sessionData; val returnUrl = sessionData.returnUrl; val paymentMethod = sessionData.paymentMethod; val storePaymentMethod = sessionData.storePaymentMethod; // Create the session object val checkoutSession = CheckoutSession( session = Session(id = sessionId, sessionData = adyenSessionData), environment = Environment.TEST, clientKey = clientKey ) when (result) { is CheckoutSessionResult.Success -> handleCheckoutSession(result.checkoutSession) is CheckoutSessionResult.Error -> handleError(result.exception) } ``` #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with an `onFinished` call, which includes a `statusCode`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a `GET` request to the `default_completion_url` provided in the session response with the `sessionId` and the `sessionResult` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```swift iOS theme={"system"} func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession) { var urlComponents = URLComponents(string: defaultCompletionUrl)! urlComponents.queryItems = [ URLQueryItem(name: "sessionId", value: session.session.id), URLQueryItem(name: "sessionResult", value: result.sessionResult) ] var request = URLRequest(url: urlComponents.url!) request.httpMethod = "GET" let task = URLSession.shared.dataTask(with: request) { data, response, error in // Handle 204 response, you can now poll the transaction } task.resume() } ``` ```kotlin Android theme={"system"} override fun onFinished(result: SessionPaymentResult) { val sessionResult = result.sessionResult val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("sessionId", result.sessionId) .appendQueryParameter("sessionResult", sessionResult) .build() val url = URL(uri.toString()) val urlConnection = url.openConnection() as HttpURLConnection urlConnection.requestMethod = "GET" val responseCode = urlConnection.responseCode if (responseCode == HttpURLConnection.HTTP_NO_CONTENT) { // Handle 204 response, you can now poll the transaction } } ``` ## Testing To test Vipps payments through Adyen, use Adyen's Vipps test environment and follow their test case guidance. Refer to Adyen's documentation for detailed instructions: * [Vipps — Test and go live](https://docs.adyen.com/payment-methods/vipps/web-component#test-and-go-live) # Affirm Source: https://docs.gr4vy.com/connections/payments/affirm-affirm Connect to Affirm to accept buy now, pay later payments. Affirm is a buy now, pay later (BNPL) payment method that allows eligible buyers to split purchases into installments. Affirm uses a redirect flow where the buyer approves the payment on the Affirm hosted page. ## Setup To sign up for an account visit the [sign-up page](https://www.affirm.com/dashboard/onboarding) and fill in the details. ## Credentials When setting up Affirm in the dashboard, configure the following credentials. Contact your Affirm representative to obtain these values. * **Public key** - Your Affirm public key for client-side authentication. * **Private key** - Your Affirm private key for server-side authentication. * **Merchant name** - Your merchant name as registered with Affirm. ## Capabilities ## Supported countries ## Supported currencies ## Identifier limitations `payment_service_transaction_id` is null on transaction creation and is populated after the buyer approves the transaction. ## Required fields Affirm requires cart items to be included with every transaction. Up to 249 cart items can be provided. Based on the account setup, Affirm might also require buyer billing and shipping details. When not provided, the Affirm transaction might fail with an `invalid_request_parameters` error code, more specifically with a raw `missing_fields` error from Affirm. ## Integration The default integration for Affirm uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "affirm", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAffirm redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.AFFIRM) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'affirm', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "affirm", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "affirm", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "affirm" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. ### Connection options Affirm supports the pass through of the following connection options when creating a request. These options allow you to include itinerary details and discount information. ```csharp C# highlight={16-42} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "affirm", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), ConnectionOptions = new Dictionary() { ["affirm-affirm"] = new Dictionary() { ["itinerary"] = new Dictionary() { ["type"] = "event", ["sku"] = "ABC123", ["display_name"] = "Bad Bunny at Petco Park", ["venue"] = "Petco Park", ["location"] = "100 Park Blvd, San Diego, CA 92101, US", ["date_start"] = "2022-12-06T03:00:00.000Z UTC" }, ["discounts"] = new Dictionary() { ["RETURN5"] = new Dictionary() { ["discount_amount"] = 500, ["discount_display_name"] = "Returning customer 5% discount" }, ["PRESDAY10"] = new Dictionary() { ["discount_amount"] = 1000, ["discount_display_name"] = "President's Day 10% off" } } } } } ); ``` ```go Go highlight={19-39} theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAffirm redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, ConnectionOptions: map[string]any{ "affirm-affirm": map[string]any{ "itinerary": map[string]string{ "type": "event", "sku": "ABC123", "display_name": "Bad Bunny at Petco Park", "venue": "Petco Park", "location": "100 Park Blvd, San Diego, CA 92101, US", "date_start": "2022-12-06T03:00:00.000Z UTC", }, "discounts": map[string]any{ "RETURN5": map[string]any{ "discount_amount": 500, "discount_display_name": "Returning customer 5% discount", }, "PRESDAY10": map[string]any{ "discount_amount": 1000, "discount_display_name": "President's Day 10% off", }, }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={1-27,38} theme={"system"} Map itinerary = new HashMap<>(); itinerary.put("type", "event"); itinerary.put("sku", "ABC123"); itinerary.put("display_name", "Bad Bunny at Petco Park"); itinerary.put("venue", "Petco Park"); itinerary.put("location", "100 Park Blvd, San Diego, CA 92101, US"); itinerary.put("date_start", "2022-12-06T03:00:00.000Z UTC"); Map return5 = new HashMap<>(); return5.put("discount_amount", 500); return5.put("discount_display_name", "Returning customer 5% discount"); Map presday10 = new HashMap<>(); presday10.put("discount_amount", 1000); presday10.put("discount_display_name", "President's Day 10% off"); Map discounts = new HashMap<>(); discounts.put("RETURN5", return5); discounts.put("PRESDAY10", presday10); Map affirmOptions = new HashMap<>(); affirmOptions.put("itinerary", itinerary); affirmOptions.put("discounts", discounts); Map connectionOptions = new HashMap<>(); connectionOptions.put("affirm-affirm", affirmOptions); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.AFFIRM) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .connectionOptions(connectionOptions) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP highlight={9-30} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'affirm', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ), connectionOptions: [ 'affirm-affirm' => [ 'itinerary' => [ 'type' => 'event', 'sku' => 'ABC123', 'display_name' => 'Bad Bunny at Petco Park', 'venue' => 'Petco Park', 'location' => '100 Park Blvd, San Diego, CA 92101, US', 'date_start' => '2022-12-06T03:00:00.000Z UTC' ], 'discounts' => [ 'RETURN5' => [ 'discount_amount' => 500, 'discount_display_name' => 'Returning customer 5% discount' ], 'PRESDAY10' => [ 'discount_amount' => 1000, 'discount_display_name' => "President's Day 10% off" ] ] ] ] ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python highlight={9-31} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "affirm", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "affirm-affirm": { "itinerary": { "type": "event", "sku": "ABC123", "display_name": "Bad Bunny at Petco Park", "venue": "Petco Park", "location": "100 Park Blvd, San Diego, CA 92101, US", "date_start": "2022-12-06T03:00:00.000Z UTC" }, "discounts": { "RETURN5": { "discount_amount": 500, "discount_display_name": "Returning customer 5% discount" }, "PRESDAY10": { "discount_amount": 1000, "discount_display_name": "President's Day 10% off" } } } } ) ``` ```ts TypeScript highlight={9-31} theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "affirm", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" }, connectionOptions: { "affirm-affirm": { itinerary: { type: "event", sku: "ABC123", display_name: "Bad Bunny at Petco Park", venue: "Petco Park", location: "100 Park Blvd, San Diego, CA 92101, US", date_start: "2022-12-06T03:00:00.000Z UTC" }, discounts: { RETURN5: { discount_amount: 500, discount_display_name: "Returning customer 5% discount" }, PRESDAY10: { discount_amount: 1000, discount_display_name: "President's Day 10% off" } } } } }) ``` # Afterpay Source: https://docs.gr4vy.com/connections/payments/afterpay-afterpay Connect to Afterpay to accept buy now, pay later payments. Afterpay is a buy now, pay later (BNPL) payment method that allows buyers to split purchases into interest-free installments. Afterpay uses a redirect flow where the buyer approves the payment on the Afterpay hosted page. ## Setup Speak to the Afterpay account manager to obtain sandbox credentials for the region. ## Credentials When setting up Afterpay in the dashboard, configure the following credentials: * **Merchant ID** - The merchant ID provided by Afterpay during setup. * **Secret key** - The secret key provided by Afterpay during setup. ## Capabilities ## Supported countries ## Supported currencies ## Integration The default integration for Afterpay uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "afterpay", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAfterpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.AFTERPAY) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'afterpay', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "afterpay", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "afterpay", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "afterpay" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. # Airwallex - Card Source: https://docs.gr4vy.com/connections/payments/airwallex-card Connect to Airwallex to accept credit and debit card payments. Airwallex is a global financial platform that provides cross-border payment processing for businesses of all sizes. The platform supports card payments with features like delayed capture, partial capture, partial refunds, 3-D Secure authentication, network tokenization, and digital wallet integration across multiple currencies and countries. ## Setup Airwallex offers self-service sign-up for production and demo (sandbox) accounts: * [Airwallex sign-up](https://www.airwallex.com/signup) * [Airwallex demo environment](https://demo.airwallex.com/) ## Credentials When setting up Airwallex in the dashboard, configure the following credentials. The Client ID and API Key can be found in the Airwallex web app under **Developer** -> **API keys**, and the Webhook Secret is generated under **Developer** -> **Webhooks**. * **Client ID** - The unique identifier for your Airwallex account. * **API Key** - A secret API key used to authenticate requests. Treat this value as a password. * **Webhook Secret** (optional) - The signing secret used to validate webhook payloads. Generate this when creating a webhook endpoint in the Airwallex web app. Airwallex recommends creating a [scoped API key](https://www.airwallex.com/docs/developer-tools/api/manage-api-keys#scoped-api-keys) limited to the payment resources required by this integration rather than reusing an administrator key across multiple systems. ## Connector configuration After setting up your Airwallex connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Airwallex as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Airwallex connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Airwallex, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Airwallex connection based on your Flow rules or explicit `payment_service_id` parameter. ### Sending billing information Airwallex strongly recommends that merchants pass enhanced risk data fields to improve the performance of the risk engine. For more details on how Airwallex leverages a wide range of signals to safeguard transactions, see [Enhance fraud protection with comprehensive payment data](https://www.airwallex.com/docs/payments__native-api__enhance-fraud-protection-with-comprehensive-payment-data). Billing details on the `buyer` object can be sent using either an [inline guest buyer](/reference/transactions/new-transaction#body-buyer-one-of-0) or a [stored buyer reference](/reference/transactions/new-transaction#body-buyer-id) when [creating a transaction](/reference/transactions/new-transaction). ### Device fingerprinting A key integration requirement for all Gr4vy merchants using Airwallex is to load the Airwallex Risk JavaScript on the checkout page and forward the resulting device data to Airwallex via Gr4vy's API. 1. **Load the Airwallex Risk JavaScript and collect device data.** Follow Step 1 and Step 2 in the [Airwallex device fingerprinting integration guide](https://www.airwallex.com/docs/payments__native-api__device-fingerprinting) to load the script on your checkout page and collect device data. The device data is stored in the order session ID via `data-order-session-id="ORDER-SESSION-ID"`. 2. **Pass the collected device data to Airwallex** when [creating a transaction](/reference/transactions/new-transaction) using the [`anti_fraud_fingerprint`](/reference/transactions/new-transaction#body-anti-fraud-fingerprint) field. ### External 3-D Secure and risk engines To enable an external 3-D Secure provider or external risk engine for Airwallex — including Gr4vy-provided 3DS or risk tools — contact your Airwallex Account Manager for support. ## Webhooks Airwallex uses webhooks to deliver asynchronous status updates for payment intents and refunds. Register a notification URL and select the events to receive in the Airwallex web app under **Developer** -> **Webhooks** to keep transaction and refund statuses in sync. The generated signing secret is optional for connector setup, but Gr4vy recommends adding it to the **Webhook Secret** field on your connector so Gr4vy can validate webhook signatures. ## Testing For testing in the Airwallex demo environment, you can use standard test card numbers. Airwallex supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Airwallex testing documentation](https://www.airwallex.com/docs/payments__native-api__test-card-numbers) or contact your Airwallex representative. # Arcus - SPEI Source: https://docs.gr4vy.com/connections/payments/arcusfi-spei Connect to Arcus to accept SPEI bank transfer payments in Mexico. Arcus is a payment provider that enables merchants to accept SPEI (Sistema de Pagos Electrónicos Interbancarios) bank transfers in Mexico. SPEI is a push payment method where the buyer sends a payment to a CLABE number. ## Setup Arcus does not provide self-service sign-up for a sandbox account. Please reach out to [Arcus](https://arcusfi.com) to set up an account. ## Credentials When setting up SPEI via Arcus in the dashboard, configure the following credentials. You can request these details via your Arcus dashboard once you are set up with an account. * **Customer ID** - Your merchant account identifier. * **User Name** - Your API username used to connect to the Arcus API. * **Password** - Your API password used to connect to the Arcus API. * **Subscription Secret** (optional) - A secret value you define to verify webhooks received from Arcus. See [Webhooks](#webhooks) below. ## Supported countries ## Supported currencies ## Limitations The following features are not supported by this connector: * **Delayed capture** - Authorization and capture happen together * **Partial capture** - Capturing a portion of the authorized amount is not supported * **Partial refunds** - Partial refunds are not supported * **Refunds** - Refunds are not supported * **Void** - Canceling a transaction is not supported * **Payment method tokenization** - Storing payment methods for future use is not supported * **Zero auth** - Zero-dollar verification transactions are not supported * **Network tokens** - Network tokenization is not supported * **3-D Secure** - 3DS authentication is not applicable * **Transaction sync** - Automatic transaction status synchronization is not supported * **Settlement reporting** - Automatic settlement reporting is not supported Additional push payment limitations: * A buyer may never send a payment for various reasons, including when they copy over the CLABE number incorrectly. * A buyer may send the wrong amount, resulting in either an over or under payment. The `capture_amount` is marked accordingly. * A buyer may send multiple payments for the same CLABE number. The system does not handle this situation, but it is monitored and the support team is notified. ## Webhooks The Arcus SPEI connector requires webhooks to be set up from Arcus to receive payment confirmations. To configure webhooks: 1. Set up the connector in the dashboard, defining a secret value as the **Subscription Secret**. 2. Copy the webhook subscription URL shown in the dashboard once the connection is set up. 3. Use the Arcus [`POST /notification-subscriptions`](https://developers.arcusfi.com/docs/paas/events/operations/create-a-notification-subscription) API endpoint with the webhook URL and the `subscription_secret` you set earlier. ```json theme={"system"} { "url": "https://api.example.spider.gr4vy.app/i/Xz9q_HKzTSe4CN_0lRA9jmFyY3Vc3BlaQ/R6DEA6oG3vtPI=OSU1PsRS9lmn4z-jey-SrY", "description": "Notifications - Sandbox", "subscription_secret": "my-super-secret-value", "subscribed_events": [ "accounts.transactions.type.credit" ] } ``` ## Integration SPEI is a push payment method. Any SPEI transaction created returns a `transaction` resource with a `status` of `processing` and a `payment_method.approval_url`. This approval URL can be displayed in a popup, iframe, or redirected to, but buyers are not redirected back to the `redirect_url` you provided when the transaction was created. Once the buyer makes the payment to the CLABE number provided on the hosted screen, a webhook is sent from Arcus to the system, after which the status of the transaction is updated and your system is notified via a webhook. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodSpei redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `processing`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "status": "processing", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "spei" } ``` Display the `approval_url` to the buyer (in a popup, iframe, or redirect) so they can view the CLABE number and complete the payment through their bank. # Authorize.net - Card Source: https://docs.gr4vy.com/connections/payments/authorizenet-card Connect to Authorize.net to accept credit and debit card payments. Authorize.net is a payment gateway owned by Visa that provides payment processing solutions for merchants. The platform supports card payments with features like delayed capture, partial refunds, network tokenization, and digital wallet integration across multiple currencies and countries. ## Setup Authorize.net provides self-service sign-up for production and sandbox accounts: * [Authorize.net sign-up](https://www.authorize.net/en-us/sign-up/pricing.html) * [Authorize.net sandbox registration](https://developer.authorize.net/hello_world/sandbox.html) ## Credentials When setting up Authorize.net in the dashboard, configure the following credentials. All values can be found in the Authorize.net Admin Portal under **Settings** -> **API Credentials & Keys**. * **Merchant account ID** - Use the value listed as **API Login ID**. * **Transaction key** - Select **New Transaction Key** and then **Submit** to generate a new key. Authorize.net sends a confirmation PIN to the registered email address. * **Signature key** (optional) - Select **New Signature Key** to generate a new key. This field is optional, but Authorize.net requires at least one signature key to send webhooks. ## Connector configuration After setting up your Authorize.net connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Authorize.net as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Authorize.net connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Authorize.net, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Authorize.net connection based on your Flow rules or explicit `payment_service_id` parameter. ## Webhooks Authorize.net requires webhook setup to receive transaction status updates. To receive webhooks, generate at least one signature key in the Authorize.net Admin Portal under **Settings** -> **API Credentials & Keys**. ## Testing For testing in sandbox environments, you can use standard test card numbers. Authorize.net supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Authorize.net testing documentation](https://developer.authorize.net/hello_world/testing-guide.html) or contact your Authorize.net representative. # Azupay - PayID Source: https://docs.gr4vy.com/connections/payments/azupay-payid Connect to Azupay to accept PayID bank payments in Australia. Azupay PayID is a bank payment method that allows buyers in Australia to pay using a PayID. Azupay uses a redirect flow where the buyer completes the payment on the Azupay hosted page. ## Setup Azupay provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up page](https://developer.azupay.com.au/docs/signing-up) and follow the instructions. ## Credentials When setting up PayID in the dashboard, configure the following credentials: * **Client ID** - The client ID provided as part of the Azupay account request form once the account is created. * **Secret key** - The secret key generated in the [Azupay Dashboard](https://dashboard.azupay.com.au/settings) under **Settings** > **API Keys**. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **PayID generation** - Azupay automatically generates the PayID with the suffix registered at the time of sign-up. A dynamic suffix as part of the payload is not supported. * **Concurrent refunds** - Another refund cannot be initiated while there is an outstanding in-progress refund. * **PayID expiry** - The PayID expires after 20 minutes. Payments initiated against the PayID after expiry are automatically declined and returned by Azupay. ## Webhooks Azupay sends webhook events for every payment request status change. Ensure all webhook events are enabled: 1. Log in to the [Azupay Dashboard](https://dashboard.azupay.com.au/settings). 2. Navigate to **Settings** > **Payment Request webhook events**. 3. Set the webhook URL as defined by the connector. Configure the Azupay account to decline payments where the amount paid by the buyer does not match the amount requested. ## Integration The default integration for Azupay PayID uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "AUD", Country = "AU", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "payid", Country = "AU", Currency = "AUD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "AUD" country := "AU" method := components.RedirectPaymentMethodCreateMethodPayid redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("AUD") .country("AU") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYID) .country("AU") .currency("AUD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'AUD', country: 'AU', paymentMethod: new RedirectPaymentMethodCreate( method: 'payid', country: 'AU', currency: 'AUD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="AUD", country="AU", payment_method={ "method": "payid", "country": "AU", "currency": "AUD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "AUD", country: "AU", paymentMethod: { method: "payid", country: "AU", currency: "AUD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The PayID expires after 20 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "payid" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a `capture_succeeded` state. # Azupay - PayTo Source: https://docs.gr4vy.com/connections/payments/azupay-payto Connect to Azupay to accept PayTo bank payments in Australia. Azupay PayTo is a bank payment method that allows buyers in Australia to pay directly from their bank account using a PayTo agreement. Azupay uses a redirect flow where the buyer approves the payment on the Azupay hosted page. ## Setup Azupay provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up page](https://developer.azupay.com.au/docs/signing-up) and follow the instructions. ## Credentials When setting up PayTo in the dashboard, configure the following credentials: * **Client ID** - The client ID provided as part of the Azupay account request form once the account is created. * **Secret key** - The secret key generated in the [Azupay Dashboard](https://dashboard.azupay.com.au/settings) under **Settings** > **API Keys**. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Concurrent refunds** - Another refund cannot be initiated while there is an outstanding in-progress refund. ## Webhooks Azupay sends webhook events for every payment request status change. Ensure all webhook events are enabled: 1. Log in to the [Azupay Dashboard](https://dashboard.azupay.com.au/settings). 2. Navigate to **Settings** > **Payment Request webhook events**. 3. Set the webhook URL as defined by the connector. ## Integration The default integration for Azupay PayTo uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "AUD", Country = "AU", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "payto", Country = "AU", Currency = "AUD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "AUD" country := "AU" method := components.RedirectPaymentMethodCreateMethodPayto redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("AUD") .country("AU") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYTO) .country("AU") .currency("AUD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'AUD', country: 'AU', paymentMethod: new RedirectPaymentMethodCreate( method: 'payto', country: 'AU', currency: 'AUD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="AUD", country="AU", payment_method={ "method": "payto", "country": "AU", "currency": "AUD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "AUD", country: "AU", paymentMethod: { method: "payto", country: "AU", currency: "AUD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "payto" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a `capture_succeeded` state. # Direct bank payments Source: https://docs.gr4vy.com/connections/payments/bank Accept bank payments using raw bank account details. ## Overview Direct bank payments allow you to process bank transactions using raw bank account details instead of linking accounts through Plaid. This is useful when: * You already collected bank account data through your own onboarding flow (for example, micro-deposits or a third-party verification service). * Your payment processor does not support Plaid's native token exchange. * You want to process a payment without requiring the customer to go through the Plaid Link flow. The `bank` payment method accepts account details directly via the API and routes them to a compatible bank payment connector such as [Adyen Bank](/connections/payments/adyen-bank). If you use Plaid for bank account linking, the system can also extract raw bank details from Plaid automatically when the target connector requires them. This works for ACH, SEPA, and BACS schemes. See [Plaid](/connections/payments/plaid-bank) for details. ## Supported schemes The `bank` payment method supports the following schemes: | Scheme | Region | Description | | ------ | ------ | ---------------------------------------------------------------------- | | `ach` | US | ACH bank account transactions using account number and routing number. | | `sepa` | EU/EEA | SEPA direct debit transactions using IBAN. | | `bacs` | UK | BACS direct debit transactions using account number and sort code. | ## ACH fields When creating a transaction or storing a payment method with the `ach` scheme, provide the following fields: | Field | Type | Required | Description | | ---------------- | ------- | -------- | ------------------------------------------------------------------------------------------ | | `method` | string | Yes | Set to `bank`. | | `scheme` | string | Yes | Set to `ach`. | | `account_number` | string | Yes | The bank account number. | | `routing_number` | string | Yes | The bank routing number (ABA number). | | `account_type` | string | Yes | Either `checking` or `savings`. | | `account_holder` | object | Yes | The account holder's name. Provide either `first_name` and `last_name`, or `company_name`. | | `is_tokenized` | boolean | No | Set to `true` if the account number is already tokenized. Defaults to `false`. | ## SEPA fields When creating a transaction or storing a payment method with the `sepa` scheme, provide the following fields: | Field | Type | Required | Description | | ---------------- | ------ | -------- | ------------------------------------------------------------------------------------------ | | `method` | string | Yes | Set to `bank`. | | `scheme` | string | Yes | Set to `sepa`. | | `account_number` | string | Yes | The IBAN (International Bank Account Number), for example `DE89370400440532013000`. | | `routing_number` | string | No | The BIC (Bank Identifier Code), also known as the SWIFT code, for example `COBADEFFXXX`. | | `account_holder` | object | Yes | The account holder's name. Provide either `first_name` and `last_name`, or `company_name`. | ## BACS fields When creating a transaction or storing a payment method with the `bacs` scheme, provide the following fields: | Field | Type | Required | Description | | ---------------- | ------ | -------- | ------------------------------------------------------------------------------------------ | | `method` | string | Yes | Set to `bank`. | | `scheme` | string | Yes | Set to `bacs`. | | `account_number` | string | Yes | The UK bank account number (8 digits), for example `31926819`. | | `routing_number` | string | Yes | The sort code (6 digits), for example `200000`. | | `account_holder` | object | Yes | The account holder's name. Provide either `first_name` and `last_name`, or `company_name`. | ## Create a transaction To create a direct bank payment, set the `method` to `bank` and the `scheme` to the appropriate value (`ach`, `sepa`, or `bacs`). Provide the account details in the `payment_method` object and set the `payment_service_id` to the UUID of your bank payment connector (for example, your Adyen bank connection). The following example uses the `ach` scheme. For SEPA, replace the scheme with `sepa` and provide the IBAN as the `account_number`. For BACS, replace the scheme with `bacs` and provide the sort code as the `routing_number`. See the [`POST /transactions`](/reference/transactions/new-transaction) API endpoint for more details. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateACHBankPaymentMethodCreate( new ACHBankPaymentMethodCreate() { AccountNumber = "1234567890", RoutingNumber = "011000138", AccountType = "checking", AccountHolder = new BankAccountHolder() { FirstName = "John", LastName = "Doe" } } ), PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" paymentServiceId := "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" achPaymentMethod := components.ACHBankPaymentMethodCreate{ AccountNumber: "1234567890", RoutingNumber: "011000138", AccountType: components.AccountTypeChecking, AccountHolder: components.BankAccountHolder{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, } paymentMethod := components.CreateTransactionCreatePaymentMethodACHBankPaymentMethodCreate(achPaymentMethod) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, PaymentServiceID: &paymentServiceId, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(ACHBankPaymentMethodCreate.builder() .accountNumber("1234567890") .routingNumber("011000138") .accountType(AccountType.CHECKING) .accountHolder(BankAccountHolder.builder() .firstName("John") .lastName("Doe") .build()) .build())) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new ACHBankPaymentMethodCreate( accountNumber: '1234567890', routingNumber: '011000138', accountType: 'checking', accountHolder: new BankAccountHolder( firstName: 'John', lastName: 'Doe' ) ), paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ); $response = $sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "bank", "scheme": "ach", "account_number": "1234567890", "routing_number": "011000138", "account_type": "checking", "account_holder": { "first_name": "John", "last_name": "Doe" } }, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "bank", scheme: "ach", accountNumber: "1234567890", routingNumber: "011000138", accountType: "checking", accountHolder: { firstName: "John", lastName: "Doe" } }, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` **Key parameters:** * `method` — Set to `bank` to indicate a direct bank payment. * `scheme` — The bank scheme: `ach` (US), `sepa` (EU/EEA), or `bacs` (UK). * `account_number` — The customer's bank account number (or IBAN for SEPA). * `routing_number` — The bank's routing number: ABA number for ACH, routing number for SEPA, or sort code for BACS. * `account_type` — Either `checking` or `savings`. Required for ACH only. * `account_holder` — The name on the account. If available, send `first_name` and `last_name` for personal accounts, or `company_name` for business accounts. * `payment_service_id` — The UUID of your bank payment connector (found in the Gr4vy dashboard). ## Vault a bank account You can store bank account details for future use by setting `store: true` on the transaction. The system returns a `payment_method.id` that you can use for subsequent charges without collecting bank details again. ### Vault during a transaction Set `store: true` on the transaction to vault the bank account at the same time as processing the payment. ```csharp C# theme={"system"} var res = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateACHBankPaymentMethodCreate( new ACHBankPaymentMethodCreate() { AccountNumber = "1234567890", RoutingNumber = "011000138", AccountType = "checking", AccountHolder = new BankAccountHolder() { FirstName = "John", LastName = "Doe" } } ), Store = true, PaymentSource = "recurring", MerchantInitiated = false, IsSubsequentPayment = false, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} store := true merchantInitiated := false isSubsequent := false achPaymentMethod := components.ACHBankPaymentMethodCreate{ AccountNumber: "1234567890", RoutingNumber: "011000138", AccountType: components.AccountTypeChecking, AccountHolder: components.BankAccountHolder{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, } paymentMethod := components.CreateTransactionCreatePaymentMethodACHBankPaymentMethodCreate(achPaymentMethod) res, err := s.Transactions.Create(ctx, &components.TransactionCreate{ Amount: gr4vy.Int64(1299), Currency: "USD", Country: gr4vy.String("US"), Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Store: &store, PaymentSource: gr4vy.String("recurring"), MerchantInitiated: &merchantInitiated, IsSubsequentPayment: &isSubsequent, PaymentServiceID: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }) ``` ```java Java theme={"system"} var res = sdk.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(ACHBankPaymentMethodCreate.builder() .accountNumber("1234567890") .routingNumber("011000138") .accountType(AccountType.CHECKING) .accountHolder(BankAccountHolder.builder() .firstName("John") .lastName("Doe") .build()) .build())) .store(true) .paymentSource("recurring") .merchantInitiated(false) .isSubsequentPayment(false) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); ``` ```php PHP theme={"system"} $res = $sdk->transactions->create( transactionCreate: new Gr4vy\TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new ACHBankPaymentMethodCreate( accountNumber: '1234567890', routingNumber: '011000138', accountType: 'checking', accountHolder: new BankAccountHolder( firstName: 'John', lastName: 'Doe' ) ), store: true, paymentSource: 'recurring', merchantInitiated: false, isSubsequentPayment: false, paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ) ); ``` ```python Python theme={"system"} res = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "bank", "scheme": "ach", "account_number": "1234567890", "routing_number": "011000138", "account_type": "checking", "account_holder": { "first_name": "John", "last_name": "Doe" } }, store=True, payment_source="recurring", merchant_initiated=False, is_subsequent_payment=False, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const res = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "bank", scheme: "ach", accountNumber: "1234567890", routingNumber: "011000138", accountType: "checking", accountHolder: { firstName: "John", lastName: "Doe" } }, store: true, paymentSource: "recurring", merchantInitiated: false, isSubsequentPayment: false, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` ### Vault without a transaction You can also store bank account details without processing a payment using the [`POST /payment-methods`](/reference/payment-methods/new-payment-method) endpoint. This creates a stored payment method that you can use for future transactions. ```csharp C# theme={"system"} var res = await client.PaymentMethods.CreateAsync( paymentMethodCreate: new ACHBankPaymentMethodCreate() { AccountNumber = "1234567890", RoutingNumber = "011000138", AccountType = "checking", AccountHolder = new BankAccountHolder() { FirstName = "John", LastName = "Doe" }, BuyerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} achPaymentMethod := components.ACHBankPaymentMethodCreate{ AccountNumber: "1234567890", RoutingNumber: "011000138", AccountType: components.AccountTypeChecking, AccountHolder: components.BankAccountHolder{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, BuyerID: gr4vy.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), } res, err := s.PaymentMethods.Create(ctx, achPaymentMethod) ``` ```java Java theme={"system"} var res = sdk.paymentMethods().create() .paymentMethodCreate(ACHBankPaymentMethodCreate.builder() .accountNumber("1234567890") .routingNumber("011000138") .accountType(AccountType.CHECKING) .accountHolder(BankAccountHolder.builder() .firstName("John") .lastName("Doe") .build()) .buyerId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); ``` ```php PHP theme={"system"} $res = $sdk->paymentMethods->create( paymentMethodCreate: new ACHBankPaymentMethodCreate( accountNumber: '1234567890', routingNumber: '011000138', accountType: 'checking', accountHolder: new BankAccountHolder( firstName: 'John', lastName: 'Doe' ), buyerId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ) ); ``` ```python Python theme={"system"} res = client.payment_methods.create( payment_method_create={ "method": "bank", "scheme": "ach", "account_number": "1234567890", "routing_number": "011000138", "account_type": "checking", "account_holder": { "first_name": "John", "last_name": "Doe" }, "buyer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ) ``` ```ts TypeScript theme={"system"} const res = await client.paymentMethods.create({ method: "bank", scheme: "ach", accountNumber: "1234567890", routingNumber: "011000138", accountType: "checking", accountHolder: { firstName: "John", lastName: "Doe" }, buyerId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` ## Recurring payments After vaulting a bank account, use the stored `payment_method.id` to charge the account without collecting bank details again. Set `payment_source` to `recurring`, and mark the transaction as merchant-initiated and subsequent. ```csharp C# theme={"system"} var res = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), PaymentSource = "recurring", MerchantInitiated = true, IsSubsequentPayment = true, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} merchantInitiated := true isSubsequent := true res, err := s.Transactions.Create(ctx, &components.TransactionCreate{ Amount: gr4vy.Int64(1299), Currency: "USD", Country: gr4vy.String("US"), Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &components.PaymentMethodRequest{ Method: components.PaymentMethodRequestMethodId, Id: gr4vy.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), }, PaymentSource: gr4vy.String("recurring"), MerchantInitiated: &merchantInitiated, IsSubsequentPayment: &isSubsequent, PaymentServiceID: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }) ``` ```java Java theme={"system"} var res = sdk.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(PaymentMethodRequest.builder() .method("id") .id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .paymentSource("recurring") .merchantInitiated(true) .isSubsequentPayment(true) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build()) .call(); ``` ```php PHP theme={"system"} $res = $sdk->transactions->create( transactionCreate: new Gr4vy\TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new Gr4vy\PaymentMethodRequest( method: 'id', id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', ), paymentSource: 'recurring', merchantInitiated: true, isSubsequentPayment: true, paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ) ); ``` ```python Python theme={"system"} res = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "id", "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }, payment_source="recurring", merchant_initiated=True, is_subsequent_payment=True, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const res = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "id", id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }, paymentSource: "recurring", merchantInitiated: true, isSubsequentPayment: true, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` ## Supported connectors The following connectors support direct bank payments: * **[Adyen bank](/connections/payments/adyen-bank)**—Process ACH, SEPA, and BACS transactions through Adyen using raw bank account details. ## Limitations * **Direct routing only**—Flow rules are not supported for direct bank payments. You must specify the `payment_service_id` to route the transaction to a specific connector. # BlueSnap - Card Source: https://docs.gr4vy.com/connections/payments/bluesnap-card Connect to BlueSnap to accept credit and debit card payments. BlueSnap is a global payment platform that provides payment processing solutions for merchants worldwide. The platform supports card payments with features like delayed capture, partial refunds, digital wallet integration, and 3-D Secure authentication across multiple currencies and countries. ## Setup BlueSnap provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [BlueSnap sign-up page](https://sandbox.bluesnap.com/jsp/onboarding/) and fill in the required details. ### Credentials When setting up BlueSnap in the dashboard, configure the following credentials: * **API User Key** - Your BlueSnap API User Key * **API Password** - Your BlueSnap API Password * **Webhook Security Header** - Optional security header for webhook validation * **Merchant ID (MID)** - Required if Surcharging is enabled, optional otherwise * **Enable Surcharge** - Automatically calculate and apply a surcharge to transactions using BlueSnap's surcharge feature. The account must already have surcharging enabled with BlueSnap. ### Gated features Some BlueSnap features need to be enabled by their support team before you can use or test them: * **3-D Secure** - Requires activation on the account using the external 3DS server * **Digital wallets** - Apple Pay and Google Pay must be enabled on the account * **Surcharge** - surcharging needs to be enabled on your account by BlueSnap support Contact BlueSnap support to enable these features on your account. ## Connector configuration After setting up your BlueSnap connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure BlueSnap as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the BlueSnap connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Surcharging Surcharging is a feature enabled for the account, not the credential. Once BlueSnap's support team activates it, all transactions with a non-zero amount require a surcharge token generated by BlueSnap to process. Make sure the credential in the Gr4vy dashboard is also marked with **Enable Surcharge** to match. The amount sent to Gr4vy should always be the raw amount, with no fees included. Gr4vy uses this raw amount to calculate the surcharge via BlueSnap's own API (`/surcharge/calculate`, or `/surcharge/calculate-prorated` for partial captures), generating a surcharge token and the fee amount to add before sending the total to BlueSnap. For a full capture, the captured amount is expected to already equal the authorized total (raw amount + surcharge), so it's sent as-is without generating a new token ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with BlueSnap, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured BlueSnap connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For testing in sandbox environments, you can use standard test card numbers. BlueSnap supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [BlueSnap testing documentation](https://support.bluesnap.com/docs/test-credit-cards) or contact your BlueSnap representative. # Braintree Source: https://docs.gr4vy.com/connections/payments/braintree Connect to Braintree to accept card payments and digital wallets. Braintree is a payment platform from PayPal that supports card payments and popular wallets like Venmo. The platform provides a comprehensive payment processing solution with support for multiple payment methods, digital wallets, and advanced features for merchants worldwide. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------- | -------------------- | --------------------- | ----------------------------------- | | [Card](./braintree-card) | `AD`, `AE`, 247 more | `AED`, `AMD`, 95 more | Card processing via Braintree. | | [Venmo](./braintree-venmo) | `US` | `USD` | Digital wallet payments (USA only). | ## Setup Braintree provides a self-service sign-up for a sandbox account. To sign up for an account visit the [sign-up page](https://www.braintreepayments.com/gb/sandbox) and fill in the details. ## Credentials When setting up Braintree in the dashboard, configure the following credentials, which are obtained from the Braintree Admin Portal: ### Merchant ID The Braintree Merchant ID can be found in the Braintree Admin Portal under the **Settings** -> **Business** -> **Merchant Accounts** tab. ### Merchant account ID The Braintree Merchant Account ID can be found underneath the Merchant ID in the Braintree Admin Portal under the **Settings** -> **Business** -> **Merchant Accounts** tab. Make sure to set the **Merchant Account ID**, not the Merchant ID. If you receive a "You are unauthorized to perform this action" error, verify that you have correctly configured the Merchant Account ID in your connection credentials. ### Public key The Braintree Public Key can be found in the Braintree Admin Portal under the **Settings** -> **API** -> **Keys** tab. ### Private key The Braintree Private Key can be found in the Braintree Admin Portal under the **Settings** -> **API** -> **Keys** tab. # Braintree - Card Source: https://docs.gr4vy.com/connections/payments/braintree-card Connect to Braintree to accept credit and debit card payments. Braintree is a payment platform from PayPal that provides comprehensive card processing solutions. The platform supports card payments with advanced features like delayed capture, partial refunds, and digital wallet integration across multiple currencies and countries. ## Setup Please follow the [common Braintree instructions](./braintree) to get set up with Braintree. After you set up your Braintree account, configure the following settings in your merchant account so you can use all features: * Enable 3D Secure (if required by your region or card type) * Configure payment method preferences * Set up webhook endpoints for transaction notifications ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Braintree, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Braintree connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For testing in sandbox environments, you can use standard test card numbers. Braintree supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Braintree testing documentation](https://developer.paypal.com/braintree/docs/guides/credit-cards/testing-go-live) or contact your Braintree representative. # Braintree - Venmo Source: https://docs.gr4vy.com/connections/payments/braintree-venmo Configure Venmo via Braintree as a payment method in Gr4vy. Braintree is a payment platform from PayPal that provides comprehensive payment processing solutions across multiple payment methods and regions. Venmo is a digital wallet and payments app owned by PayPal that allows buyers to send and receive money from other Venmo users and make purchases at online retailers. Venmo is primarily available in the United States and offers a convenient way for US customers to complete transactions. Venmo is only available to United States Braintree accounts. ## Setup Follow the [Braintree setup instructions](./braintree) before configuring Venmo payments. After setting up your Braintree account, make sure Venmo is enabled as a payment method in your merchant account settings. **Tokenization key:** set up a Braintree Tokenization Key in the Braintree Admin Portal under **Settings** -> **API** -> **Keys**. **Ingest billing and shipping details:** by default, billing and shipping details received from Braintree are not imported. To enable this feature, head over to **Connections** -> **Configured** and select your Venmo connector. Next, go to **Credentials** and toggle **Import billing details** and/or **Import shipping details**. When **Import billing details** is enabled, any of the user's name, email address, and billing address is automatically imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. When **Import shipping details** is enabled, the user's shipping address is automatically **requested** and imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. Please note that the ingestion of billing and shipping details is not available for tokenized payments. ## Supported countries ## Supported currencies ## Capabilities ## Integration For Venmo, the default integration for Braintree is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "venmo", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodVenmo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.VENMO) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'venmo', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "venmo", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "venmo", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/braintree/apm.html?token=..." }, "method": "venmo" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Braintree has [instructions](https://developer.paypal.com/braintree/docs/guides/venmo/testing-go-live) on how to test Venmo. # Buckaroo Source: https://docs.gr4vy.com/connections/payments/buckaroo Connect to Buckaroo to accept card payments and local payment methods. Buckaroo is a leading payment service provider based in the Netherlands, offering a wide range of payment solutions for merchants across Europe. The platform supports various payment methods, including cards, direct debits, and local payment schemes, and is known for its robust integrations, flexible payment options, and comprehensive dashboard for managing transactions and reporting. ## Supported payment methods | Method | Countries | Currencies | Notes | | ------------------------- | -------------------- | ------------------- | --------------------------------- | | [Card](./buckaroo-card) | `AD`, `AE`, 247 more | `EUR`, `GBP`, `USD` | Card processing via Buckaroo. | | [iDEAL](./buckaroo-ideal) | `NL` | `EUR` | Bank redirect in the Netherlands. | ## Setup To use Buckaroo as your payment provider, you must first create a Buckaroo account. Visit [`buckaroo.nl`](https://www.buckaroo.nl/) and follow the registration process to set up your merchant account. Once your account is active, you can access the Buckaroo dashboard to configure stores, generate API keys, and manage payment settings. If you require assistance during onboarding, Buckaroo provides dedicated support and documentation to help merchants complete their setup and integration. ## Credentials When setting up Buckaroo in the dashboard, configure the following credentials, which are obtained from the Buckaroo Plaza dashboard: * **Store key** - This can be found under **Settings** -> **API Keys** -> **Store keys**. Each store configured with Buckaroo under the same account has its own Store Key so make sure you copy the appropriate one. * **Secret key** - The Secret Key is unique per Buckaroo Plaza account. It can be found in the tab next to the Store Key, under **Settings** -> **API Keys** -> **Secret key**. ## Webhook configuration Webhooks need to be enabled for the store under **Settings** -> **Stores** -> **Push settings** -> **Enable push responses**. # Buckaroo - Card Source: https://docs.gr4vy.com/connections/payments/buckaroo-card Connect to Buckaroo to accept credit and debit card payments. Buckaroo is a leading payment service provider based in the Netherlands that provides comprehensive card processing solutions. The platform supports card payments with features like delayed capture, partial refunds, and transaction synchronization across multiple currencies and countries. ## Setup Please follow the [common Buckaroo instructions](./buckaroo) to get set up with Buckaroo. After you set up your Buckaroo account, configure the following settings in your merchant account so you can use all features: * Enable card payments in your store settings * Configure webhook endpoints for transaction notifications * Ensure first name and last name fields are collected during checkout ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Buckaroo, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Buckaroo connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For more test scenarios and additional card numbers, refer to the [Buckaroo testing documentation](https://docs.buckaroo.io/docs/test-transactions) or contact your Buckaroo representative. # Buckaroo - iDEAL Source: https://docs.gr4vy.com/connections/payments/buckaroo-ideal Configure iDEAL via Buckaroo as a payment method in Gr4vy. Buckaroo is a leading payment service provider based in the Netherlands that provides comprehensive payment processing solutions across multiple payment methods and regions. iDEAL is a popular online banking payment method in the Netherlands that allows customers to pay directly from their bank account. It is widely used for e-commerce transactions and provides instant payment confirmation. ## Setup Please follow the [common Buckaroo instructions](./buckaroo) to get set up with Buckaroo. After setting up your Buckaroo account, make sure iDEAL is enabled as a payment method in your store settings. ## Capabilities ## Supported countries ## Supported currencies ## Integration For iDEAL, the default integration for Buckaroo is through a redirect to a hosted payments page. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/buckaroo/apm.html?token=..." }, "method": "ideal" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Buckaroo has [instructions](https://docs.buckaroo.io/docs/ideal) on how to test iDEAL. # Connectors by country Source: https://docs.gr4vy.com/connections/payments/by-country Find available payment connectors and methods for each country. Browse the payment connectors and methods available in each country. Select a region to find connectors that support buyers in your target markets. ### Anguilla (`AI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Antigua and Barbuda (`AG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Argentina (`AR`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Rapipago](/connections/payments/dlocal-rapipago) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Aruba (`AW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bahamas (`BS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Barbados (`BB`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Belize (`BZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bermuda (`BM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bolivia (`BO`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Multipago](/connections/payments/multipago-multipago) | Cash vouchers | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bonaire, Sint Eustatius and Saba (`BQ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bouvet Island (`BV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Brazil (`BR`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Adyen - PIX](/connections/payments/adyen-pix) | Banking | | [dLocal - NuPay](/connections/payments/dlocal-nupay) | Banking | | [dLocal - PIX](/connections/payments/dlocal-pix) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Boleto](/connections/payments/dlocal-boleto) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [dLocal - PicPay](/connections/payments/dlocal-picpay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### British Virgin Islands (`VG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Canada (`CA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Nuvei - Interac](/connections/payments/nuvei-interac) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cayman Islands (`KY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Chile (`CL`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - Khipu](/connections/payments/dlocal-khipu) | Banking | | [dLocal - WebPay](/connections/payments/dlocal-webpay) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Servipag](/connections/payments/dlocal-servipag) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Colombia (`CO`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - Bre-B](/connections/payments/dlocal-breb) | Banking | | [dLocal - PSE](/connections/payments/dlocal-pse) | Banking | | [Nuvei - PSE](/connections/payments/nuvei-pse) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Efecty](/connections/payments/dlocal-efecty) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [dLocal - Nequi](/connections/payments/dlocal-nequi) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Costa Rica (`CR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cuba (`CU`) | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Curaçao (`CW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Dominica (`DM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Dominican Republic (`DO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Ecuador (`EC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### El Salvador (`SV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Falkland Islands (`FK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### French Guiana (`GF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Greenland (`GL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Grenada (`GD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guadeloupe (`GP`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guatemala (`GT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guyana (`GY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Haiti (`HT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Honduras (`HN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Jamaica (`JM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Martinique (`MQ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mexico (`MX`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Arcus - SPEI](/connections/payments/arcusfi-spei) | Banking | | [dLocal - SPEI](/connections/payments/dlocal-spei) | Banking | | [Monato - SPEI](/connections/payments/monato-spei) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Stripe - SPEI](/connections/payments/stripe-spei) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - OXXO](/connections/payments/dlocal-oxxo) | Cash vouchers | | [OXXO](/connections/payments/oxxo-oxxo) | Cash vouchers | | [Stripe - OXXO](/connections/payments/stripe-oxxo) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Montserrat (`MS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Nicaragua (`NI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Panama (`PA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Paraguay (`PY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Peru (`PE`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - BCP](/connections/payments/dlocal-bcp) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Pago Efectivo](/connections/payments/dlocal-pagoefectivo) | Cash vouchers | | [dLocal - Payvalida](/connections/payments/dlocal-payvalida) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Yape](/connections/payments/dlocal-yape) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Puerto Rico (`PR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - ACH Direct Debit](/connections/payments/adyen-ach) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Barthélemy (`BL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Kitts and Nevis (`KN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Lucia (`LC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Martin (`MF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Pierre and Miquelon (`PM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Vincent and the Grenadines (`VC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Sint Maarten (`SX`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### South Georgia and the South Sandwich Islands (`GS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Suriname (`SR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Trinidad and Tobago (`TT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Turks and Caicos Islands (`TC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### U.S. Virgin Islands (`VI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### United States (`US`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - ACH Direct Debit](/connections/payments/adyen-ach) | Banking | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - Pay by Bank (Plaid)](/connections/payments/adyen-paybybank) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - Bank](/connections/payments/nuvei-bank) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (United States)](/connections/payments/trustly-trustly) | Banking | | [Affirm](/connections/payments/affirm-affirm) | BNPL | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Kount KHash](/connections/payments/kountkhash-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Repay - Card](/connections/payments/repay-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Shift4 i4go](/connections/payments/shift4i4go-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [TokenEx](/connections/payments/tokenex-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [USAePay - Card](/connections/payments/usaepay-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Cash App Pay](/connections/payments/adyen-cashapp) | Wallets | | [Braintree - Venmo](/connections/payments/braintree-venmo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Stripe - Onelink](/connections/payments/stripe-onelink) | Wallets | ### Uruguay (`UY`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Abitab](/connections/payments/dlocal-abitab) | Cash vouchers | | [dLocal - Redpagos](/connections/payments/dlocal-redpagos) | Cash vouchers | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Venezuela (`VE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Åland Islands (`AX`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Albania (`AL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Andorra (`AD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Armenia (`AM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Austria (`AT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Azerbaijan (`AZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Belarus (`BY`) | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Belgium (`BE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Nuvei - Wero](/connections/payments/nuvei-wero) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bosnia and Herzegovina (`BA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bulgaria (`BG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Croatia (`HR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cyprus (`CY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Czech Republic (`CZ`) | Connector | Type | | ------------------------------------------------------------------------------------ | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - Online Banking Czech Republic](/connections/payments/adyen-onlinebankingcz) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Denmark (`DK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Estonia (`EE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Faroe Islands (`FO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Finland (`FI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### France (`FR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Georgia (`GE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Germany (`DE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Nuvei - Wero](/connections/payments/nuvei-wero) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Gibraltar (`GI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Greece (`GR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guernsey (`GG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Hungary (`HU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Iceland (`IS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Ireland (`IE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Isle of Man (`IM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Italy (`IT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Jersey (`JE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Kosovo (`XK`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Latvia (`LV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Liechtenstein (`LI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Lithuania (`LT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Luxembourg (`LU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Malta (`MT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Moldova (`MD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Monaco (`MC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Montenegro (`ME`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Netherlands (`NL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [Buckaroo - iDEAL](/connections/payments/buckaroo-ideal) | Banking | | [Cybersource - iDEAL](/connections/payments/cybersource-ideal) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - iDEAL](/connections/payments/nuvei-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - iDEAL](/connections/payments/travelhub-ideal) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### North Macedonia (`MK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Norway (`NO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Vipps](/connections/payments/adyen-vipps) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Poland (`PL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - BLIK](/connections/payments/adyen-blik) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Nuvei - Przelewy24](/connections/payments/nuvei-p24) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Portugal (`PT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Romania (`RO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Russia (`RU`) | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### San Marino (`SM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Serbia (`RS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Slovakia (`SK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Slovenia (`SI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Spain (`ES`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Svalbard and Jan Mayen (`SJ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Sweden (`SE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Swish](/connections/payments/adyen-swish) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Switzerland (`CH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Turkey (`TR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Ukraine (`UA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### United Kingdom (`GB`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Vatican City (`VA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Afghanistan (`AF`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### American Samoa (`AS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Antarctica (`AQ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Australia (`AU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Azupay - PayID](/connections/payments/azupay-payid) | Banking | | [Azupay - PayTo](/connections/payments/azupay-payto) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bangladesh (`BD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bhutan (`BT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### British Indian Ocean Territory (`IO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Brunei (`BN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cambodia (`KH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### China (`CN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Christmas Island (`CX`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cocos (Keeling) Islands (`CC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cook Islands (`CK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Fiji (`FJ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### French Polynesia (`PF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guam (`GU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Heard Island and McDonald Islands (`HM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Hong Kong (`HK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### India (`IN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [dLocal - Netbanking](/connections/payments/dlocal-netbanking) | Banking | | [dLocal - UPI](/connections/payments/dlocal-upi) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Indonesia (`ID`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [dLocal - Dana](/connections/payments/dlocal-dana) | Wallets | | [dLocal - LinkAja](/connections/payments/dlocal-linkaja) | Wallets | | [dLocal - OVO](/connections/payments/dlocal-ovo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Japan (`JP`) | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Konbini](/connections/payments/adyen-konbini) | Cash vouchers | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Smartpay](/connections/payments/smartpay-smartpay) | Wallets | ### Kazakhstan (`KZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Kiribati (`KI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Kyrgyzstan (`KG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Laos (`LA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Macau (`MO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Malaysia (`MY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [dLocal - Boost](/connections/payments/dlocal-boost) | Wallets | | [dLocal - GrabPay](/connections/payments/dlocal-grabpay) | Wallets | | [dLocal - Maybank QR Pay](/connections/payments/dlocal-maybankqrpay) | Wallets | | [dLocal - Touch 'n Go](/connections/payments/dlocal-touchngo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Maldives (`MV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Marshall Islands (`MH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Micronesia (`FM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mongolia (`MN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Myanmar (`MM`) | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Nauru (`NR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Nepal (`NP`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### New Caledonia (`NC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### New Zealand (`NZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Niue (`NU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Norfolk Island (`NF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### North Korea (`KP`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Northern Mariana Islands (`MP`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Pakistan (`PK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Palau (`PW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Papua New Guinea (`PG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Philippines (`PH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - GCash](/connections/payments/adyen-gcash) | Wallets | | [dLocal - GCash](/connections/payments/dlocal-gcash) | Wallets | | [dLocal - GrabPay](/connections/payments/dlocal-grabpay) | Wallets | | [dLocal - Paymaya](/connections/payments/dlocal-paymaya) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Pitcairn Islands (`PN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Samoa (`WS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Singapore (`SG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Solomon Islands (`SB`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### South Korea (`KR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Cybersource - KCP](/connections/payments/cybersource-kcp) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Sri Lanka (`LK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Taiwan (`TW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tajikistan (`TJ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Thailand (`TH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [dLocal - Alipay](/connections/payments/dlocal-alipay) | Wallets | | [dLocal - Rabbit LINE Pay](/connections/payments/dlocal-rabbitlinepay) | Wallets | | [dLocal - ShopeePay](/connections/payments/dlocal-shopeepay) | Wallets | | [dLocal - Thai QR Payment](/connections/payments/dlocal-thaiqr) | Wallets | | [dLocal - TrueMoney](/connections/payments/dlocal-truemoney) | Wallets | | [dLocal - WeChat Pay](/connections/payments/dlocal-wechat) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Timor-Leste (`TL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tokelau (`TK`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tonga (`TO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Turkmenistan (`TM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tuvalu (`TV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### U.S. Minor Outlying Islands (`UM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Uzbekistan (`UZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Vanuatu (`VU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Vietnam (`VN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Wallis and Futuna (`WF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Algeria (`DZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Angola (`AO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Bahrain (`BH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Benin (`BJ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Botswana (`BW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Burkina Faso (`BF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Burundi (`BI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cameroon (`CM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Cape Verde (`CV`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Central African Republic (`CF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Chad (`TD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Comoros (`KM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Côte d'Ivoire (`CI`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Djibouti (`DJ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### DR Congo (`CD`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Egypt (`EG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Equatorial Guinea (`GQ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Eritrea (`ER`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Eswatini (`SZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Ethiopia (`ET`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### French Southern Territories (`TF`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Gabon (`GA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Gambia (`GM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Ghana (`GH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guinea (`GN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Guinea-Bissau (`GW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Iran (`IR`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Iraq (`IQ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Israel (`IL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Jordan (`JO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Kenya (`KE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Kuwait (`KW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Lebanon (`LB`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Lesotho (`LS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Liberia (`LR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Libya (`LY`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Madagascar (`MG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Malawi (`MW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mali (`ML`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mauritania (`MR`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mauritius (`MU`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mayotte (`YT`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Morocco (`MA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Mozambique (`MZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Namibia (`NA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Niger (`NE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Nigeria (`NG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Oman (`OM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Palestine (`PS`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Qatar (`QA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Republic of the Congo (`CG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Réunion (`RE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Rwanda (`RW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saint Helena (`SH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### São Tomé and Príncipe (`ST`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Saudi Arabia (`SA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Senegal (`SN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Seychelles (`SC`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Sierra Leone (`SL`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Somalia (`SO`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### South Africa (`ZA`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [dLocal - Capitec](/connections/payments/dlocal-capitec) | Banking | | [dLocal - Stitch](/connections/payments/dlocal-stitch) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### South Sudan (`SS`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Sudan (`SD`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Syria (`SY`) | Connector | Type | | ----------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tanzania (`TZ`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Togo (`TG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Tunisia (`TN`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Uganda (`UG`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### United Arab Emirates (`AE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Western Sahara (`EH`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Yemen (`YE`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Zambia (`ZM`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ### Zimbabwe (`ZW`) | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | # Connectors by currency Source: https://docs.gr4vy.com/connections/payments/by-currency Find available payment connectors for each supported currency. Browse the payment connectors and methods available for each currency. ## Major currencies **US Dollar**: 61 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Adyen - ACH Direct Debit](/connections/payments/adyen-ach) | Banking | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - Pay by Bank (Plaid)](/connections/payments/adyen-paybybank) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - Bank](/connections/payments/nuvei-bank) | Banking | | [Nuvei - PSE](/connections/payments/nuvei-pse) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Trustly (United States)](/connections/payments/trustly-trustly) | Banking | | [Affirm](/connections/payments/affirm-affirm) | BNPL | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Kount KHash](/connections/payments/kountkhash-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Repay - Card](/connections/payments/repay-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Shift4 i4go](/connections/payments/shift4i4go-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [TokenEx](/connections/payments/tokenex-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [USAePay - Card](/connections/payments/usaepay-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [OXXO](/connections/payments/oxxo-oxxo) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Cash App Pay](/connections/payments/adyen-cashapp) | Wallets | | [Braintree - Venmo](/connections/payments/braintree-venmo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Stripe - Onelink](/connections/payments/stripe-onelink) | Wallets | **Euro**: 49 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [Buckaroo - iDEAL](/connections/payments/buckaroo-ideal) | Banking | | [Cybersource - iDEAL](/connections/payments/cybersource-ideal) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - iDEAL](/connections/payments/nuvei-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - iDEAL](/connections/payments/travelhub-ideal) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Nuvei - Wero](/connections/payments/nuvei-wero) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **British Pound**: 43 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **Canadian Dollar**: 41 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - Interac](/connections/payments/nuvei-interac) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **Australian Dollar**: 41 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Azupay - PayID](/connections/payments/azupay-payid) | Banking | | [Azupay - PayTo](/connections/payments/azupay-payto) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **Japanese Yen**: 35 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Konbini](/connections/payments/adyen-konbini) | Cash vouchers | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Smartpay](/connections/payments/smartpay-smartpay) | Wallets | **Brazilian Real**: 36 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Adyen - PIX](/connections/payments/adyen-pix) | Banking | | [dLocal - NuPay](/connections/payments/dlocal-nupay) | Banking | | [dLocal - PIX](/connections/payments/dlocal-pix) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Boleto](/connections/payments/dlocal-boleto) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [dLocal - PicPay](/connections/payments/dlocal-picpay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | **Indian Rupee**: 32 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [dLocal - Netbanking](/connections/payments/dlocal-netbanking) | Banking | | [dLocal - UPI](/connections/payments/dlocal-upi) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | **Mexican Peso**: 39 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Arcus - SPEI](/connections/payments/arcusfi-spei) | Banking | | [dLocal - SPEI](/connections/payments/dlocal-spei) | Banking | | [Monato - SPEI](/connections/payments/monato-spei) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Stripe - SPEI](/connections/payments/stripe-spei) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - OXXO](/connections/payments/dlocal-oxxo) | Cash vouchers | | [OXXO](/connections/payments/oxxo-oxxo) | Cash vouchers | | [Stripe - OXXO](/connections/payments/stripe-oxxo) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **Singapore Dollar**: 32 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | **Chinese Yuan**: 29 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | **Swiss Franc**: 38 connectors | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | ## All currencies | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Rapipago](/connections/payments/dlocal-rapipago) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Azupay - PayID](/connections/payments/azupay-payid) | Banking | | [Azupay - PayTo](/connections/payments/azupay-payto) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Multipago](/connections/payments/multipago-multipago) | Cash vouchers | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Adyen - PIX](/connections/payments/adyen-pix) | Banking | | [dLocal - NuPay](/connections/payments/dlocal-nupay) | Banking | | [dLocal - PIX](/connections/payments/dlocal-pix) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Boleto](/connections/payments/dlocal-boleto) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [dLocal - PicPay](/connections/payments/dlocal-picpay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - Interac](/connections/payments/nuvei-interac) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - Khipu](/connections/payments/dlocal-khipu) | Banking | | [dLocal - WebPay](/connections/payments/dlocal-webpay) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Servipag](/connections/payments/dlocal-servipag) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - Bre-B](/connections/payments/dlocal-breb) | Banking | | [dLocal - PSE](/connections/payments/dlocal-pse) | Banking | | [Nuvei - PSE](/connections/payments/nuvei-pse) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Efecty](/connections/payments/dlocal-efecty) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [dLocal - Nequi](/connections/payments/dlocal-nequi) | Wallets | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------------------------ | ------- | | [Adyen - Online Banking Czech Republic](/connections/payments/adyen-onlinebankingcz) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - iDEAL](/connections/payments/adyen-ideal) | Banking | | [Adyen - SEPA](/connections/payments/adyen-sepa) | Banking | | [Adyen - Sofort](/connections/payments/adyen-sofort) | Banking | | [Buckaroo - iDEAL](/connections/payments/buckaroo-ideal) | Banking | | [Cybersource - iDEAL](/connections/payments/cybersource-ideal) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - iDEAL](/connections/payments/nuvei-ideal) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - iDEAL](/connections/payments/travelhub-ideal) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Nuvei - Wero](/connections/payments/nuvei-wero) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Dana](/connections/payments/dlocal-dana) | Wallets | | [dLocal - LinkAja](/connections/payments/dlocal-linkaja) | Wallets | | [dLocal - OVO](/connections/payments/dlocal-ovo) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [dLocal - Netbanking](/connections/payments/dlocal-netbanking) | Banking | | [dLocal - UPI](/connections/payments/dlocal-upi) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Konbini](/connections/payments/adyen-konbini) | Cash vouchers | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Smartpay](/connections/payments/smartpay-smartpay) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Cybersource - KCP](/connections/payments/cybersource-kcp) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Arcus - SPEI](/connections/payments/arcusfi-spei) | Banking | | [dLocal - SPEI](/connections/payments/dlocal-spei) | Banking | | [Monato - SPEI](/connections/payments/monato-spei) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Stripe - SPEI](/connections/payments/stripe-spei) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - OXXO](/connections/payments/dlocal-oxxo) | Cash vouchers | | [OXXO](/connections/payments/oxxo-oxxo) | Cash vouchers | | [Stripe - OXXO](/connections/payments/stripe-oxxo) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Mercado Pago](/connections/payments/dlocal-mercadopago) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [dLocal - Boost](/connections/payments/dlocal-boost) | Wallets | | [dLocal - GrabPay](/connections/payments/dlocal-grabpay) | Wallets | | [dLocal - Maybank QR Pay](/connections/payments/dlocal-maybankqrpay) | Wallets | | [dLocal - Touch 'n Go](/connections/payments/dlocal-touchngo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Vipps](/connections/payments/adyen-vipps) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Laybuy](/connections/payments/laybuy-laybuy) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [dLocal - BCP](/connections/payments/dlocal-bcp) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Pago Efectivo](/connections/payments/dlocal-pagoefectivo) | Cash vouchers | | [dLocal - Payvalida](/connections/payments/dlocal-payvalida) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [dLocal - Yape](/connections/payments/dlocal-yape) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - GCash](/connections/payments/adyen-gcash) | Wallets | | [dLocal - GCash](/connections/payments/dlocal-gcash) | Wallets | | [dLocal - GrabPay](/connections/payments/dlocal-grabpay) | Wallets | | [dLocal - Paymaya](/connections/payments/dlocal-paymaya) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Adyen - BLIK](/connections/payments/adyen-blik) | Banking | | [Nuvei - Przelewy24](/connections/payments/nuvei-p24) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Worldline TravelHub - Sofort](/connections/payments/travelhub-sofort) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [Nuvei - Klarna](/connections/payments/nuvei-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Swish](/connections/payments/adyen-swish) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | --------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [dLocal - Alipay](/connections/payments/dlocal-alipay) | Wallets | | [dLocal - Rabbit LINE Pay](/connections/payments/dlocal-rabbitlinepay) | Wallets | | [dLocal - ShopeePay](/connections/payments/dlocal-shopeepay) | Wallets | | [dLocal - Thai QR Payment](/connections/payments/dlocal-thaiqr) | Wallets | | [dLocal - TrueMoney](/connections/payments/dlocal-truemoney) | Wallets | | [dLocal - WeChat Pay](/connections/payments/dlocal-wechat) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Adyen - ACH Direct Debit](/connections/payments/adyen-ach) | Banking | | [Adyen - Bank](/connections/payments/adyen-bank) | Banking | | [Adyen - Pay by Bank (Plaid)](/connections/payments/adyen-paybybank) | Banking | | [GoCardless](/connections/payments/gocardless-gocardless) | Banking | | [Nuvei - Bank](/connections/payments/nuvei-bank) | Banking | | [Nuvei - PSE](/connections/payments/nuvei-pse) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [Trustly (United States)](/connections/payments/trustly-trustly) | Banking | | [Affirm](/connections/payments/affirm-affirm) | BNPL | | [Afterpay](/connections/payments/afterpay-afterpay) | BNPL | | [Klarna](/connections/payments/klarna-klarna) | BNPL | | [PayPal Pay Later](/connections/payments/paypal-paypalpaylater) | BNPL | | [Stripe - Affirm](/connections/payments/stripe-affirm) | BNPL | | [Stripe - Klarna](/connections/payments/stripe-klarna) | BNPL | | [Zip](/connections/payments/zippay-zippay) | BNPL | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Authorize.net - Card](/connections/payments/authorizenet-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Buckaroo - Card](/connections/payments/buckaroo-card) | Cards | | [Chase Orbital - Card](/connections/payments/chaseorbital-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Kount KHash](/connections/payments/kountkhash-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Merchant Warrior - Card](/connections/payments/merchantwarrior-card) | Cards | | [Moneris - Card](/connections/payments/moneris-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [PayPal - Card](/connections/payments/paypal-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Repay - Card](/connections/payments/repay-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Shift4 i4go](/connections/payments/shift4i4go-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [TokenEx](/connections/payments/tokenex-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [USAePay - Card](/connections/payments/usaepay-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [OXXO](/connections/payments/oxxo-oxxo) | Cash vouchers | | [Tapi Cash](/connections/payments/mattilda-tapi) | Cash vouchers | | [The Giving Block](/connections/payments/givingblock-givingblock) | Crypto | | [Adyen - Alipay](/connections/payments/adyen-alipay) | Wallets | | [Adyen - Cash App Pay](/connections/payments/adyen-cashapp) | Wallets | | [Braintree - Venmo](/connections/payments/braintree-venmo) | Wallets | | [PayPal](/connections/payments/paypal-paypal) | Wallets | | [Paysquad](/connections/payments/paysquad-paysquad) | Wallets | | [Stripe - Onelink](/connections/payments/stripe-onelink) | Wallets | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | [dLocal - Abitab](/connections/payments/dlocal-abitab) | Cash vouchers | | [dLocal - Redpagos](/connections/payments/dlocal-redpagos) | Cash vouchers | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [dLocal - Capitec](/connections/payments/dlocal-capitec) | Banking | | [dLocal - Stitch](/connections/payments/dlocal-stitch) | Banking | | [Plaid](/connections/payments/plaid-bank) | Banking | | [Trustly (Europe)](/connections/payments/trustlyeurope-trustlyeurope) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [BlueSnap - Card](/connections/payments/bluesnap-card) | Cards | | [Braintree - Card](/connections/payments/braintree-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [dLocal - Card](/connections/payments/dlocal-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Fiserv IPG - Card](/connections/payments/fiserv-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [NMI - Card](/connections/payments/nmi-card) | Cards | | [Nuvei - Card](/connections/payments/nuvei-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Trust Payments - Card](/connections/payments/trustpayments-card) | Cards | | [Unlimit - Card](/connections/payments/unlimit-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ----------------------------------------------------------------------- | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Adyen - Card](/connections/payments/adyen-card) | Cards | | [Airwallex - Card](/connections/payments/airwallex-card) | Cards | | [Checkout.com - Card](/connections/payments/checkoutcom-card) | Cards | | [Cybersource - Card](/connections/payments/cybersource-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Stripe - Card](/connections/payments/stripe-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | | [Worldline Connect - Card](/connections/payments/worldlineconnect-card) | Cards | | [Worldline TravelHub - Card](/connections/payments/travelhub-card) | Cards | | [Worldpay (VAP) - Card](/connections/payments/worldpayvap-card) | Cards | | [Worldpay (WPG) - Card](/connections/payments/worldpaywpg-card) | Cards | | Connector | Type | | ------------------------------------------------------------------ | ------- | | [Plaid](/connections/payments/plaid-bank) | Banking | | [ACI Worldwide - Card](/connections/payments/aci-card) | Cards | | [Ecommpay - Card](/connections/payments/ecommpay-card) | Cards | | [Fiserv CardPointe - Card](/connections/payments/cardpointe-card) | Cards | | [Mastercard Gateway - Card](/connections/payments/mastercard-card) | Cards | | [Planet - Card](/connections/payments/planet-card) | Cards | | [Powertranz - Card](/connections/payments/powertranz-card) | Cards | | [Shift4 - Card](/connections/payments/shift4-card) | Cards | | [Windcave - Card](/connections/payments/windcave-card) | Cards | # Card schemes Source: https://docs.gr4vy.com/connections/payments/card-schemes Explore the card schemes and networks supported by Gr4vy. Gr4vy supports a wide range of card schemes, including major international networks and regional domestic schemes. When a buyer pays with a card, the card scheme identifies the network that processes the transaction. Card scheme support depends on the [card processor](/connections/payments/overview) you connect to. Most card processors support the major international schemes (Visa, Mastercard, American Express), while regional scheme support varies by processor. ## Major international schemes These card schemes are accepted globally and supported by most card processors. | Scheme | ID | Description | | -------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | **Visa** | `visa` | The world's largest card network by transaction volume. Accepted in over 200 countries and territories. | | **Mastercard** | `mastercard` | A global payment network accepted in over 210 countries and territories. | | **American Express** | `amex` | A global charge and credit card network, popular in the US, UK, and Australia. Amex operates as both card issuer and network. | | **Discover** | `discover` | A major US card network also accepted in select international markets through partnerships with Diners Club, JCB, and UnionPay. | | **JCB** | `jcb` | Japan's largest card network, with growing international acceptance across Asia-Pacific, Europe, and the Americas. | | **UnionPay** | `unionpay` | China's national card network and the world's largest by number of cards issued. Increasingly accepted internationally. | | **Diners Club** | `diners-club` | One of the world's first charge card networks, now part of the Discover Global Network. Widely accepted for travel and entertainment. | | **Maestro** | `maestro` | Mastercard's international debit card brand. Widely used in Europe, particularly in the UK, Germany, Austria, and the Netherlands. | ## Regional and domestic schemes These card schemes serve specific countries or regions. They often provide lower processing costs and higher approval rates for domestic transactions. | Scheme | ID | Region | Description | | -------------------- | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Cartes Bancaires** | `carte-bancaire` | France | France's domestic card scheme, the most widely used payment method in France. Cards are often co-badged with Visa or Mastercard for international use. | | **Bancontact** | `bancontact` | Belgium | Belgium's national debit card scheme, used for the majority of electronic payments in Belgium. | | **Dankort** | `dankort` | Denmark | Denmark's national debit card scheme. Cards are often co-badged with Visa. | | **Elo** | `elo` | Brazil | A Brazilian card network issued by Banco do Brasil, Bradesco, and Caixa Econômica Federal. It covers debit, credit, and prepaid cards. | | **Hipercard** | `hipercard` | Brazil | A Brazilian credit card brand created by the Itaú Unibanco group, widely accepted across Brazil. | | **EFTPOS Australia** | `eftpos-australia` | Australia | Australia's domestic debit card network for point-of-sale and online transactions. | | **RuPay** | `rupay` | India | India's domestic card scheme launched by the National Payments Corporation of India (NPCI). Widely used for domestic debit transactions. | | **MIR** | `mir` | Russia | Russia's national card payment system, launched by the Central Bank of Russia. | ## Debit and co-branded networks These networks often operate alongside major card schemes on co-branded or multi-network cards, primarily in the United States. | Scheme | ID | Description | | ------------ | ---------- | ----------------------------------------------------------------------------------------------------- | | **ACCEL** | `accel` | A US debit network that provides ATM and point-of-sale access. | | **Cirrus** | `cirrus` | Mastercard's global ATM network brand. | | **Culiance** | `culiance` | A US credit union ATM network providing surcharge-free access. | | **NYCE** | `nyce` | A US electronic funds transfer network for ATM and point-of-sale transactions. | | **Pulse** | `pulse` | A US debit network owned by Discover Financial Services. | | **STAR** | `star` | One of the largest US debit payment networks, connecting ATMs and point-of-sale terminals. | | **QCARD** | `qcard` | A New Zealand credit card scheme. | | **UATP** | `uatp` | The Universal Air Travel Plan, a payment network owned by major airlines for travel-related payments. | ## Co-badged cards Many cards carry multiple scheme logos—for example, a French card might show both Cartes Bancaires and Visa. These co-badged cards can be routed through either network, depending on the region and processor configuration. Gr4vy detects the card scheme automatically during processing. Cards that don't match a recognized scheme are reported as `other`. You can use the [card scheme definitions API](/reference/card-schemes/list-card-scheme-definitions) to retrieve the full list of supported schemes programmatically. # Fiserv CardPointe - Card Source: https://docs.gr4vy.com/connections/payments/cardpointe-card Connect to CardPointe to accept credit and debit card payments. CardPointe is a payment platform from Fiserv, a global financial services technology company. The platform provides payment processing solutions for merchants worldwide, supporting card payments with features like delayed capture, partial refunds, over-capture, payment method tokenization, and 3DS authentication across multiple currencies and countries. ## Setup To get started with CardPointe: 1. Speak to the CardPointe Integration Delivery Team to obtain sandbox credentials for your region. See [Integration Process Overview](https://developer.fiserv.com/product/CardPointe/docs/?path=/docs/documentation/IntegrationProcessOverview.md\&branch=main). 2. When setting up CardPointe in the dashboard, configure the following credentials: * **API Username** - The API username associated with your CardPointe merchant account * **API Password** - The API password associated with your CardPointe merchant account * **Merchant ID** - The Merchant ID value set up by the CardPointe Integration Delivery Team * **Site Name** - The site name associated with your CardPointe merchant account (for example `https://{site_name}.cardconnect.com/`) ## Connector configuration After setting up your CardPointe connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure CardPointe as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the CardPointe connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Statement descriptors** - Statement descriptors cannot be set via Gr4vy. Configure your merchant statement descriptor in the CardPointe dashboard under **Administration** -> **Descriptors**. This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with CardPointe, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured CardPointe connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For testing in sandbox environments, you can use standard test card numbers provided by CardPointe: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [CardPointe testing documentation](https://developer.fiserv.com/product/CardPointe) or contact your CardPointe representative. # Chase Source: https://docs.gr4vy.com/connections/payments/chase Connect to Chase to accept card payments through Chase Orbital. Chase is the consumer and commercial banking business of JPMorgan Chase, a global financial services company. Through Chase Orbital, you can process card payments. ## Supported payment methods | Method | Countries | Currencies | Notes | | --------------------------- | -------------------- | -------------------- | ---------------------------------- | | [Card](./chaseorbital-card) | `AD`, `AE`, 247 more | `CAD`, `EUR`, 2 more | Card processing via Chase Orbital. | # Chase Orbital - Card Source: https://docs.gr4vy.com/connections/payments/chaseorbital-card Connect to Chase Orbital to accept card payments. Chase Orbital is a payment gateway from JPMorgan Chase that supports card payments across multiple regions. ## Setup Speak to your Chase Orbital account manager to obtain sandbox credentials for your region. To sign-up for a Chase Orbital test account, visit [developer center account](https://secure.paymentech.com/devcenter/products) and select **Get Access**. ## Connector configuration After setting up your Chase Orbital connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Chase Orbital as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Chase Orbital connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials When setting up Chase Orbital in the dashboard, configure the following credentials. * **Merchant ID** - The Chase Orbital assigned Merchant ID for your account. You can see this in the Chase Orbital Development Center **Dashboard** -> **Overview** -> **Project** -> **Acquirer ID**. * **Username** - The Chase Orbital username shared by your account manager. * **Password** - The Chase Orbital password shared by your account manager. ### Reporting credentials If you use settlement reporting, configure the following reporting credentials from Chase Orbital. * **SFTP username** - Your SFTP username for reporting exports. * **SFTP password** - Your SFTP password for reporting exports. * **SFTP address** - The SFTP host address for reporting exports. * **Merchant ID** - The Merchant ID for the reporting account. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Chase Orbital, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Chase Orbital connection based on your Flow rules or explicit `payment_service_id` parameter. ### Connection options You can send `comments` as part of the `connection_options`. Gr4vy passes the value as the order comments in Chase Orbital. # Checkout.com Source: https://docs.gr4vy.com/connections/payments/checkout Connect to Checkout.com to accept card payments. Checkout.com is a global payment processor providing payment solutions for merchants worldwide. The platform supports multiple payment methods with comprehensive coverage across regions and currencies. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------- | ------------------- | ---------------------- | --------------------------------- | | [Card](./checkoutcom-card) | `AT`, `AU`, 38 more | `AED`, `AFN`, 130 more | Card processing via Checkout.com. | ## Setup Checkout.com provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up page](https://www.checkout.com/get-test-account) and fill in the details. ### Enable full card processing When a card payment is routed through this connection, Gr4vy sends the full card number (PAN) to Checkout.com, so your Checkout.com account must be enabled for full card processing. If this is not enabled, payments fail with a `Full card payments disabled` error. Contact your Checkout.com account manager to confirm that full card processing is enabled for the merchant ID (MID) used by this connection before going live. ## Add to the Gr4vy dashboard To add Checkout.com as a connection in the Gr4vy dashboard: 1. In the Gr4vy dashboard, navigate to **Connections** -> **Add connection**. 2. Search for and select **Checkout.com**. 3. Enter a display name for this connection, for example `Checkout.com`. 4. Enter the credentials described in the [Credentials](#credentials) section below. 5. Click **Save** to create the connection. After saving, your Checkout.com connector ID is available under **Connections** -> **Configured connections**. You need this ID when configuring routing rules in [Flow](/guides/dashboard/flow/overview) or when passing an explicit `payment_service_id` in API requests. ## Credentials When setting up Checkout.com in the dashboard, get the following credentials from Checkout.com and configure them: ### Public key Get the Checkout.com public key from the Checkout.com Developer Dashboard under the **Developers** -> **Overview** heading. Then click **+ Create a new key** and select **Public API key**. Checkout.com Public Key Checkout.com Public Key setup ### Secret key Navigate to the same section and select **+ Create a new key**, then select **Secret API key**. Checkout.com Secret Key setup ### Webhook secret key The webhook secret key is used to verify webhook signatures from Checkout.com. You obtain this value after registering the Gr4vy webhook URL in the Checkout.com dashboard. See [Webhooks](#webhooks) for setup steps. ### Payout funding account Use this value to enable payouts and original credit transactions. ## Webhooks Webhooks are required for this connection. Checkout.com uses webhooks to notify Gr4vy of payment events such as captures, refunds, and voids. ### Get webhook URL In the Gr4vy dashboard, navigate to **Connections** -> **Configured connections**, select your Checkout.com connection, then scroll to the **Synchronization** section and copy the webhook URL. ### Register webhook 1. In the Checkout.com Dashboard, navigate to **Developers** -> **Webhooks**. 2. Click **New webhook**. 3. Paste the Gr4vy webhook URL in the **URL** field. 4. Under **Event types**, select the following events: * `payment_approved` * `payment_captured` * `payment_capture_declined` * `payment_declined` * `payment_refunded` * `payment_refund_declined` * `payment_returned` * `payment_voided` * `payment_void_declined` 5. Click **Save**. After saving, copy the signature key shown in the webhook details. Paste this value into the **Webhook secret key** field in your Gr4vy Checkout.com connection credentials. # Checkout.com - Card Source: https://docs.gr4vy.com/connections/payments/checkoutcom-card Connect to Checkout.com to accept card payments. Checkout.com is a global payment platform that supports card payments across multiple regions. ## Setup Please follow the [common Checkout.com instructions](./checkout) to create an account. ## Connector configuration After setting up your Checkout.com connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Checkout.com as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Checkout.com connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials Please follow the [common Checkout.com instructions](./checkout) for how to find each of the required credentials. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Checkout.com, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Checkout.com connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For testing in sandbox environments, use the test cards listed in the [Checkout.com testing documentation](https://www.checkout.com/docs/developer-resources/testing/test-cards). The Checkout.com sandbox stores payments for 30 days. You must complete a test payment within 30 days of creating the test payment. # CyberSource Source: https://docs.gr4vy.com/connections/payments/cybersource Connect to CyberSource to accept card payments and local payment methods. Cybersource is a Visa solution that provides global card processing, risk management, and payment acceptance tools for enterprises and online businesses. The platform supports comprehensive payment processing with advanced features for merchants worldwide. ## Supported payment methods | Method | Countries | Currencies | Notes | | ---------------------------- | ------------------- | --------------------- | --------------------------------- | | [Card](./cybersource-card) | `AT`, `AU`, 38 more | `AED`, `AFN`, 95 more | Card processing via Cybersource. | | [iDEAL](./cybersource-ideal) | `NL` | `EUR` | Bank redirect in the Netherlands. | | [KCP](./cybersource-kcp) | `KR` | `KRW` | Bank redirect in South Korea. | ## Setup To sign-up for a Cybersource account, request a [sandbox account](https://developer.cybersource.com/hello-world/sandbox.html), this can take 1-2 days. ## Credentials Cybersource supports two authentication methods. The existing method uses HTTP Signature with a shared secret key. Cybersource is retiring this in favour of JWT authentication with Message Level Encryption (MLE), which encrypts request and response payloads at the app layer to protect sensitive data. All Cybersource REST-based merchants must migrate to JWT with MLE by **September 30, 2026**. To enable MLE in Gr4vy, you must obtain all four new credentials from Cybersource and configure them on your connection. Until then, connections configured with HTTP Signature credentials continue to work as before. All configurations require your **Merchant ID**, which is the Cybersource-assigned ID for your account, found in the Cybersource Business Center. The remaining credentials depend on which authentication method you are using. ### HTTP signature (soon to be deprecated) **Merchant Key ID** and **Merchant Secret Key:** create a REST API Shared Secret Key. This is also documented on the [Cybersource Knowledge Base](https://support.cybersource.com/knowledgebase/Knowledgearticle/?code=000002926). 1. Sign in to the Cybersource Business Center (Test or Production) where the key is used 2. Select Payment Configuration > Key Management 3. Select Generate Key at the top right 4. From the list, make sure to check the radio button for REST APIs - REST - Shared Secret Key 5. Click Generate Key at the bottom 6. Click on Download Key or copy the keys using the copy function next to Key and Shared Secret After creating a Shared Secret Key, obtain the `Key ID`: 1. Go to Payment Configuration > Key Management 2. Find the key from the list 3. The `Key ID` is listed below the `Key Detail` title ### JWT and message level encryption When all four fields below are configured, Gr4vy automatically uses the JWT + MLE path. **P12 Certificate:** the certificate file used to sign JWT authentication headers and to encrypt the request payload sent to Cybersource. Generated in Cybersource Business Center under Key Management as a **REST–Certificate**. To generate a P12 certificate for the [sandbox](https://businesscentertest.cybersource.com) or [production](https://businesscenter.cybersource.com) environment: 1. Sign in to Cybersource Business Center 2. On the left navigation panel, go to Payment Configuration > Key Management 3. Click **+ Generate key** 4. On the Create Key panel, select **REST–Certificate**, scroll down and click Generate key 5. Click **Download key** 6. Set a password on the prompt and note it down—this is your P12 certificate password 7. The `.p12` file downloads automatically—upload it to the Gr4vy dashboard as your P12 certificate **P12 Certificate Password:** the password set when the P12 certificate was generated in the preceding steps. Refer to the [Cybersource documentation](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-security-p12-intro.html) for further guidance on creating a certificate, uploading an existing one and testing your certificates. **MLE Response P12:** the P12 file Gr4vy uses to decrypt Cybersource's encrypted API responses. Cybersource generates the key pair—keeping the public key to encrypt responses—and you download the P12 containing the private key. To generate a response MLE key: 1. In Cybersource Business Center, go to Payment Configuration > Key Management 2. Click **+ Generate key** and select **REST–API Response MLE** 3. Click **Download key** 4. Set a password on the prompt and note it down—this is your MLE Response P12 password 5. Upload the downloaded `.p12` file here Refer to the [Cybersource documentation](https://developer.cybersource.com/docs/cybs/en-us/security-keys/user/all/ada/security-keys/restgs-security-mle-reply.html) for further guidance. **MLE Response P12 Password:** the password set when the MLE Response P12 was generated in the preceding steps. # Cybersource - Card Source: https://docs.gr4vy.com/connections/payments/cybersource-card Connect to CyberSource to accept credit and debit card payments. Cybersource is a Visa solution that provides comprehensive card processing solutions globally. The platform supports card payments with advanced features like delayed capture, over-capture, partial refunds, network tokenization, and digital wallet integration across multiple currencies and countries. ## Setup Please follow the [common Cybersource instructions](./cybersource) to get set up with CyberSource. Some Cybersource features need to be enabled by their support team to be used/tested: * **3-D Secure** - Needs to be activated on your merchant ID, using the external 3DS server * **Tokenization** - Needs to be activated on your merchant ID, ensuring support for both Instrument Identifiers and Payment Instruments is added * **Metadata** - You must define Merchant Defined Data Fields via the Terminal Settings on the Cybersource dashboard. Metadata keys must be integers or they are ignored. These keys are mapped to your merchant-defined data fields * **Cybersource Decision Manager** - Must be turned off within the Payment Configuration options of the merchant account for the connector to work as expected. If this feature is required, please use the [Cybersource Decision Manager Anti-Fraud Connector](/connections/anti-fraud/cybersource) ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with CyberSource, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured CyberSource connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For test scenarios and additional card numbers, refer to the [CyberSource testing documentation](https://developer.cybersource.com/hello-world/testing-guide.html) or contact your CyberSource representative. # Cybersource - iDEAL Source: https://docs.gr4vy.com/connections/payments/cybersource-ideal Configure iDEAL via CyberSource as a payment method in Gr4vy. Cybersource is a Visa solution that provides comprehensive payment processing solutions across multiple payment methods and regions. iDEAL is a popular online banking payment method in the Netherlands that allows customers to pay directly from their bank account. It is widely used for e-commerce transactions and provides instant payment confirmation. ## Setup Please follow the [common Cybersource instructions](./cybersource) to get set up with CyberSource. After setting up your Cybersource account, make sure iDEAL is enabled as a payment method on your account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For iDEAL, the default integration for CyberSource is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/cybersource/apm.html?token=..." }, "method": "ideal" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Pending transactions Cybersource does not support webhooks for iDEAL transactions yet. This means that any payment in a pending status requires a query to the Cybersource API to get the latest status. The system automatically polls for status updates. ### Merchant name By default the merchant name is set to `Default merchant name` for an iDEAL payment. To set this to a custom value, use the `statement_descriptor.name` field: ```json theme={"system"} { "amount": 1800, "currency": "EUR", "country": "NL", "intent": "capture", "payment_method": { "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com" }, "statement_descriptor": { "name": "Test 123" } } ``` ## Testing Cybersource has [instructions](https://developer.cybersource.com/hello-world/testing-guide.html) on how to test iDEAL. # Cybersource - KCP Source: https://docs.gr4vy.com/connections/payments/cybersource-kcp Configure KCP via CyberSource as a payment method in Gr4vy. Cybersource is a Visa solution that provides comprehensive payment processing solutions across multiple payment methods and regions. KCP (Korea Cyber Payment) is a popular online payment method in South Korea that allows customers to pay using various Korean payment options including credit cards, bank transfers, and mobile payments. It is widely used for e-commerce transactions in Korea. ## Setup Please follow the [common Cybersource instructions](./cybersource) to get set up with CyberSource. After setting up your Cybersource account, make sure KCP is enabled as a payment method on your account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For KCP, the default integration for CyberSource is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "KRW", Country = "KR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "kcp", Country = "KR", Currency = "KRW", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "KRW" country := "KR" method := components.RedirectPaymentMethodCreateMethodKcp redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("KRW") .country("KR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KCP) .country("KR") .currency("KRW") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'KRW', country: 'KR', paymentMethod: new RedirectPaymentMethodCreate( method: 'kcp', country: 'KR', currency: 'KRW', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="KRW", country="KR", payment_method={ "method": "kcp", "country": "KR", "currency": "KRW", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "KRW", country: "KR", paymentMethod: { method: "kcp", country: "KR", currency: "KRW", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/cybersource/apm.html?token=..." }, "method": "kcp" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Pending transactions Cybersource does not support webhooks for KCP transactions yet. This means that any payment in a pending status requires a query to the Cybersource API to get the latest status. The system automatically polls for status updates. ### Canceled transactions The KCP sandbox allows for canceling a transaction, but on return to the server the status of the transaction is checked with Cybersource. It has been noticed that sometimes the server returns a completed status for canceled transactions, resulting in a captured status. This is likely only an issue in sandbox, and this issue has been raised with KCP and Cybersource. ## Testing Cybersource has [instructions](https://developer.cybersource.com/hello-world/testing-guide.html) on how to test KCP. # dLocal Source: https://docs.gr4vy.com/connections/payments/dlocal Connect to dLocal to accept local payment methods across emerging markets. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. ## Supported payment methods | Method | Countries | Currencies | Notes | | ----------------------------------------- | ---------------------- | -------------------------- | --------------- | | [Abitab](./dlocal-abitab) | `UY` | `UYU` | Cash payment | | [Alipay](./dlocal-alipay) | `TH` | `THB` | Mobile wallet | | [BCP](./dlocal-bcp) | `PE` | `PEN` | Bank transfer | | [Bre-B](./dlocal-breb) | `CO` | `COP` | Bank transfer | | [Boleto](./dlocal-boleto) | `BR` | `BRL` | Cash payment | | [Boost](./dlocal-boost) | `MY` | `MYR` | Mobile wallet | | [Capitec](./dlocal-capitec) | `ZA` | `ZAR` | Bank transfer | | [Card](./dlocal-card) | `AR`, `BO`, 35 more | `ARS`, `BOB`, 35 more | - | | [Dana](./dlocal-dana) | `ID` | `IDR` | Mobile wallet | | [Efecty](./dlocal-efecty) | `CO` | `COP` | Cash payment | | [GCash](./dlocal-gcash) | `PH` | `PHP` | Mobile wallet | | [GrabPay](./dlocal-grabpay) | `MY`, `PH` | `MYR`, `PHP` | Mobile wallet | | [Khipu](./dlocal-khipu) | `CL` | `CLP` | Bank transfer | | [LinkAja](./dlocal-linkaja) | `ID` | `IDR` | Mobile wallet | | [Maybank QR Pay](./dlocal-maybankqrpay) | `MY` | `MYR` | QR payment | | [Mercado Pago](./dlocal-mercadopago) | `BR`, `CL`, `CO`, `MX` | `BRL`, `CLP`, `COP`, `MXN` | Mobile wallet | | [Netbanking](./dlocal-netbanking) | `IN` | `INR` | Bank transfer | | [Nequi](./dlocal-nequi) | `CO` | `COP` | Mobile wallet | | [NuPay](./dlocal-nupay) | `BR` | `BRL` | Mobile wallet | | [OVO](./dlocal-ovo) | `ID` | `IDR` | Mobile wallet | | [OXXO](./dlocal-oxxo) | `MX` | `MXN` | Cash payment | | [Pago Efectivo](./dlocal-pagoefectivo) | `PE` | `PEN` | Cash payment | | [Paymaya](./dlocal-paymaya) | `PH` | `PHP` | Mobile wallet | | [Payvalida](./dlocal-payvalida) | `PE` | `PEN` | Mobile wallet | | [PicPay](./dlocal-picpay) | `BR` | `BRL` | Mobile wallet | | [PIX](./dlocal-pix) | `BR` | `BRL` | Instant payment | | [PSE](./dlocal-pse) | `CO` | `COP` | Bank transfer | | [Rabbit LINE Pay](./dlocal-rabbitlinepay) | `TH` | `THB` | Mobile wallet | | [Rapipago](./dlocal-rapipago) | `AR` | `ARS` | Cash payment | | [Redpagos](./dlocal-redpagos) | `UY` | `UYU` | Cash payment | | [Servipag](./dlocal-servipag) | `CL` | `CLP` | Cash payment | | [ShopeePay](./dlocal-shopeepay) | `TH` | `THB` | Mobile wallet | | [SPEI](./dlocal-spei) | `MX` | `MXN` | Bank transfer | | [Stitch](./dlocal-stitch) | `ZA` | `ZAR` | Bank transfer | | [Thai QR Payment](./dlocal-thaiqr) | `TH` | `THB` | QR payment | | [Touch 'n Go](./dlocal-touchngo) | `MY` | `MYR` | Mobile wallet | | [TrueMoney](./dlocal-truemoney) | `TH` | `THB` | Mobile wallet | | [UPI](./dlocal-upi) | `IN` | `INR` | Bank transfer | | [WebPay](./dlocal-webpay) | `CL` | `CLP` | Bank transfer | | [WeChat Pay](./dlocal-wechat) | `TH` | `THB` | Mobile wallet | | [Yape](./dlocal-yape) | `PE` | `PEN` | Mobile wallet | ## Setup To create a dLocal account please [contact the dLocal Sales Team](https://dlocal.com/contact-sales/). ## Credentials When setting up dLocal in the dashboard, configure the following credentials, which can all be obtained from the **Settings** -> **Integration** section of the dLocal dashboard. * **X login** - API key necessary to authenticate your request. * **X trans key** - API key necessary to authenticate your request. * **Secret Key** - Use for the creation of the Authorization. * **Merchant name** - Your merchant name Please refer to [the dLocal documentation](https://docs.dlocal.com/docs/get-api-credentials) For more information on their API credentials ## Required fields Many of the payment methods supported dLocal require some of the buyer data to be passed, for example the buyer's name, email, or tax ID. Once configured, you can use the [payment options API](/reference/payment-options/list-payment-options) to query the exact `required_fields` for each method. ## Supported methods Please contact the dLocal support team to get any of the payment methods enabled on your account. If not enabled, you may see a transaction fail in the system. ## Refunds In many cases, a refund requires the buyer to provide their bank details to process a refund. In these situations, the buyer receives an email with a link to complete the reversal of the payment. Until that link has been followed, a refund is marked as `processing` in the system. # dLocal - Abitab Source: https://docs.gr4vy.com/connections/payments/dlocal-abitab Configure Abitab via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Abitab is a widely used cash payment network in Uruguay that allows consumers to make payments at physical locations throughout the country. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Abitab. Next, make sure to enable Abitab as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Abitab, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "UYU", Country = "UY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "abitab", Country = "UY", Currency = "UYU", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "UYU" country := "UY" method := components.RedirectPaymentMethodCreateMethodAbitab redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("UYU") .country("UY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ABITAB) .country("UY") .currency("UYU") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'UYU', country: 'UY', paymentMethod: new RedirectPaymentMethodCreate( method: 'abitab', country: 'UY', currency: 'UYU', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="UYU", country="UY", payment_method={ "method": "abitab", "country": "UY", "currency": "UYU", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "UYU", country: "UY", paymentMethod: { method: "abitab", country: "UY", currency: "UYU", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Alipay Source: https://docs.gr4vy.com/connections/payments/dlocal-alipay Configure Alipay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Alipay is a leading payment platform in Asia, enabling secure online and mobile payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Alipay. Next, make sure to enable Alipay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Alipay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "THB", Country = "TH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "alipay", Country = "TH", Currency = "THB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "THB" country := "TH" method := components.RedirectPaymentMethodCreateMethodAlipay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("THB") .country("TH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ALIPAY) .country("TH") .currency("THB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'THB', country: 'TH', paymentMethod: new RedirectPaymentMethodCreate( method: 'alipay', country: 'TH', currency: 'THB', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="THB", country="TH", payment_method={ "method": "alipay", "country": "TH", "currency": "THB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "THB", country: "TH", paymentMethod: { method: "alipay", country: "TH", currency: "THB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - BCP Source: https://docs.gr4vy.com/connections/payments/dlocal-bcp Configure BCP via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. BCP (Banco de Crédito del Perú) is one of Peru's largest banks, offering online bank transfer payment options. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with BCP. Next, make sure to enable BCP as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For BCP, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PEN", Country = "PE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "bcp", Country = "PE", Currency = "PEN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PEN" country := "PE" method := components.RedirectPaymentMethodCreateMethodBcp redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PEN") .country("PE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BCP) .country("PE") .currency("PEN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PEN', country: 'PE', paymentMethod: new RedirectPaymentMethodCreate( method: 'bcp', country: 'PE', currency: 'PEN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PEN", country="PE", payment_method={ "method": "bcp", "country": "PE", "currency": "PEN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PEN", country: "PE", paymentMethod: { method: "bcp", country: "PE", currency: "PEN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Boleto Source: https://docs.gr4vy.com/connections/payments/dlocal-boleto Configure Boleto via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Boleto Bancário is a popular cash payment method in Brazil that generates a voucher with a barcode for payment at banks, ATMs, or online banking. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Boleto. Next, make sure to enable Boleto as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Boleto, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "boleto", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodBoleto redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BOLETO) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'boleto', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "boleto", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "boleto", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Boost Source: https://docs.gr4vy.com/connections/payments/dlocal-boost Configure Boost via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Boost is a popular e-wallet in Malaysia that enables mobile payments, money transfers, and bill payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Boost. Next, make sure to enable Boost as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Boost, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MYR", Country = "MY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "boost", Country = "MY", Currency = "MYR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MYR" country := "MY" method := components.RedirectPaymentMethodCreateMethodBoost redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MYR") .country("MY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BOOST) .country("MY") .currency("MYR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MYR', country: 'MY', paymentMethod: new RedirectPaymentMethodCreate( method: 'boost', country: 'MY', currency: 'MYR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MYR", country="MY", payment_method={ "method": "boost", "country": "MY", "currency": "MYR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MYR", country: "MY", paymentMethod: { method: "boost", country: "MY", currency: "MYR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Bre-B Source: https://docs.gr4vy.com/connections/payments/dlocal-breb Configure Bre-B via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Bre-B is a bank transfer payment method in Colombia. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Bre-B. Next, make sure to enable Bre-B as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Bre-B, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "COP", Country = "CO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "breb", Country = "CO", Currency = "COP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "COP" country := "CO" method := components.RedirectPaymentMethodCreateMethodBreb redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("COP") .country("CO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.BREB) .country("CO") .currency("COP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'COP', country: 'CO', paymentMethod: new RedirectPaymentMethodCreate( method: 'breb', country: 'CO', currency: 'COP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="COP", country="CO", payment_method={ "method": "breb", "country": "CO", "currency": "COP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "COP", country: "CO", paymentMethod: { method: "breb", country: "CO", currency: "COP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Capitec Source: https://docs.gr4vy.com/connections/payments/dlocal-capitec Configure Capitec via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Capitec is a bank payment method in South Africa. You can use it to accept bank-initiated payments through a hosted redirect flow, then track final payment outcomes through transaction polling or webhooks. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Capitec. Next, make sure to enable Capitec as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration * **Capture** - Delayed capture is not supported * **Delete tokens** - Token deletion is not supported * **Void** - Transaction void is not supported ## For Capitec, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "ZAR", Country = "ZA", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "capitec", Country = "ZA", Currency = "ZAR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "ZAR" country := "ZA" method := components.RedirectPaymentMethodCreateMethodCapitec redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("ZAR") .country("ZA") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.CAPITEC) .country("ZA") .currency("ZAR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'ZAR', country: 'ZA', paymentMethod: new RedirectPaymentMethodCreate( method: 'capitec', country: 'ZA', currency: 'ZAR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="ZAR", country="ZA", payment_method={ "method": "capitec", "country": "ZA", "currency": "ZAR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "ZAR", country: "ZA", paymentMethod: { method: "capitec", country: "ZA", currency: "ZAR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` to complete the payment. After approval the buyer returns to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Card Source: https://docs.gr4vy.com/connections/payments/dlocal-card Connect to dLocal to accept credit and debit card payments. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. dLocal provides card processing services across Latin America, Asia, and Africa, supporting major card brands and local payment networks. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with card. Next, make sure to enable card as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For card payments, the recommended integration is to use Gr4vy Embed or Secure Fields to collect card details securely. [Learn how to integrate with Gr4vy Embed](/guides/payments/embed) [Learn how to integrate with Secure Fields](/guides/payments/secure-fields) # dLocal - Dana Source: https://docs.gr4vy.com/connections/payments/dlocal-dana Configure DANA via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. DANA is a leading e-wallet in Indonesia that provides digital payment solutions for online and offline transactions. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Dana. Next, make sure to enable Dana as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Dana, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "IDR", Country = "ID", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "dana", Country = "ID", Currency = "IDR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "IDR" country := "ID" method := components.RedirectPaymentMethodCreateMethodDana redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("IDR") .country("ID") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.DANA) .country("ID") .currency("IDR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'IDR', country: 'ID', paymentMethod: new RedirectPaymentMethodCreate( method: 'dana', country: 'ID', currency: 'IDR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="IDR", country="ID", payment_method={ "method": "dana", "country": "ID", "currency": "IDR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "IDR", country: "ID", paymentMethod: { method: "dana", country: "ID", currency: "IDR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Efecty Source: https://docs.gr4vy.com/connections/payments/dlocal-efecty Configure Efecty via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Efecty is a cash payment network in Colombia with thousands of locations across the country where consumers can make payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Efecty. Next, make sure to enable Efecty as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Efecty, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "COP", Country = "CO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "efecty", Country = "CO", Currency = "COP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "COP" country := "CO" method := components.RedirectPaymentMethodCreateMethodEfecty redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("COP") .country("CO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.EFECTY) .country("CO") .currency("COP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'COP', country: 'CO', paymentMethod: new RedirectPaymentMethodCreate( method: 'efecty', country: 'CO', currency: 'COP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="COP", country="CO", payment_method={ "method": "efecty", "country": "CO", "currency": "COP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "COP", country: "CO", paymentMethod: { method: "efecty", country: "CO", currency: "COP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - GCash Source: https://docs.gr4vy.com/connections/payments/dlocal-gcash Configure GCash via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. GCash is the leading mobile wallet in the Philippines, offering digital payment services and financial solutions. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with GCash. Next, make sure to enable GCash as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For GCash, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gcash", Country = "PH", Currency = "PHP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" method := components.RedirectPaymentMethodCreateMethodGcash redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GCASH) .country("PH") .currency("PHP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', paymentMethod: new RedirectPaymentMethodCreate( method: 'gcash', country: 'PH', currency: 'PHP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", payment_method={ "method": "gcash", "country": "PH", "currency": "PHP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", paymentMethod: { method: "gcash", country: "PH", currency: "PHP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Recurring transactions ### Enrollment To enroll a buyer in recurring transactions, create an initial transaction with tokenization enabled and pass the `dlocal-gcash` connection options. * Set `store` to `true` to save the payment method. * Set `payment_source` to `recurring`. * Pass `connection_options.dlocal-gcash.wallet` with recurring enrollment details. * Include `wallet.username` in connection options. dLocal expects this value for recurring enrollment. For provider-side requirements for GCash recurring (dLocal `RG`), see [dLocal — Philippines: GCash Recurring](https://docs.dlocal.com/docs/philippines#gcash-recurring). Use one of the following SDK requests: ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gcash", Country = "PH", Currency = "PHP", RedirectUrl = "https://example.com/callback", } ), Store = true, PaymentSource = "recurring", ConnectionOptions = new Dictionary() { ["dlocal-gcash"] = new Dictionary() { ["wallet"] = new Dictionary() { ["username"] = "Jane2002", ["email"] = "jane@example.com", ["name"] = "Jane Doe" } } } } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" method := components.RedirectPaymentMethodCreateMethodGcash redirectUrl := "https://example.com/callback" store := true paymentSource := components.TransactionPaymentSourceRecurring redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, Store: &store, PaymentSource: &paymentSource, ConnectionOptions: map[string]any{ "dlocal-gcash": map[string]any{ "wallet": map[string]string{ "username": "Jane2002", "email": "jane@example.com", "name": "Jane Doe", }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} Map walletOptions = new HashMap<>(); walletOptions.put("username", "Jane2002"); walletOptions.put("email", "jane@example.com"); walletOptions.put("name", "Jane Doe"); Map gcashOptions = new HashMap<>(); gcashOptions.put("wallet", walletOptions); Map connectionOptions = new HashMap<>(); connectionOptions.put("dlocal-gcash", gcashOptions); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GCASH) .country("PH") .currency("PHP") .redirectUrl("https://example.com/callback") .build())) .store(true) .paymentSource(TransactionPaymentSource.RECURRING) .connectionOptions(connectionOptions) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', paymentMethod: new RedirectPaymentMethodCreate( method: 'gcash', country: 'PH', currency: 'PHP', redirectUrl: 'https://example.com/callback' ), store: true, paymentSource: 'recurring', connectionOptions: [ 'dlocal-gcash' => [ 'wallet' => [ 'username' => 'Jane2002', 'email' => 'jane@example.com', 'name' => 'Jane Doe' ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", payment_method={ "method": "gcash", "country": "PH", "currency": "PHP", "redirect_url": "https://example.com/callback", }, store=True, payment_source="recurring", connection_options={ "dlocal-gcash": { "wallet": { "username": "Jane2002", "email": "jane@example.com", "name": "Jane Doe" } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", paymentMethod: { method: "gcash", country: "PH", currency: "PHP", redirectUrl: "https://example.com/callback" }, store: true, paymentSource: "recurring", connectionOptions: { "dlocal-gcash": { wallet: { username: "Jane2002", email: "jane@example.com", name: "Jane Doe" } } } }) ``` After you create the enrollment transaction, redirect the buyer to the `approval_url` to complete enrollment. The payment method token can be finalized asynchronously after dLocal webhook processing, so rely on webhooks for the final token state. ### Subsequent payment After enrollment succeeds, create subsequent recurring charges with the saved payment method ID. * Set `payment_method.method` to `id` and pass the saved payment method ID. * Set `payment_source` to `recurring`. * Set `merchant_initiated` and `is_subsequent_payment` to `true`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring", } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring' ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring" ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring" }) ``` ### Connection options You can pass wallet fields using the [dLocal GCash connection options](https://docs.gr4vy.com/reference/transactions/new-transaction#body-connection-options-dlocal-gcash). The example below shows typical enrollment values for `wallet`: ``` "connection_options": { "dlocal-gcash": { "wallet": { "username": "Jane2002", "email": "jane@example.com", "name": "Jane Doe" } } } ``` * `wallet.username` - Wallet account username used for recurring enrollment. This should be provided for GCash recurring enrollment. * `wallet.email` - Wallet email passed through to dLocal. * `wallet.name` - Wallet account holder name passed through to dLocal. # dLocal - GrabPay Source: https://docs.gr4vy.com/connections/payments/dlocal-grabpay Configure GrabPay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. GrabPay is a widely used mobile wallet in Southeast Asia, integrated with the Grab super app for payments across multiple countries. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with GrabPay. Next, make sure to enable GrabPay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For GrabPay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MYR", Country = "MY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "grabpay", Country = "MY", Currency = "MYR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MYR" country := "MY" method := components.RedirectPaymentMethodCreateMethodGrabpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MYR") .country("MY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GRABPAY) .country("MY") .currency("MYR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MYR', country: 'MY', paymentMethod: new RedirectPaymentMethodCreate( method: 'grabpay', country: 'MY', currency: 'MYR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MYR", country="MY", payment_method={ "method": "grabpay", "country": "MY", "currency": "MYR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MYR", country: "MY", paymentMethod: { method: "grabpay", country: "MY", currency: "MYR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Khipu Source: https://docs.gr4vy.com/connections/payments/dlocal-khipu Configure Khipu via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Khipu is a bank transfer payment method in Chile that allows consumers to pay directly from their bank accounts. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Khipu. Next, make sure to enable Khipu as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Khipu, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CLP", Country = "CL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "khipu", Country = "CL", Currency = "CLP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CLP" country := "CL" method := components.RedirectPaymentMethodCreateMethodKhipu redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CLP") .country("CL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KHIPU) .country("CL") .currency("CLP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CLP', country: 'CL', paymentMethod: new RedirectPaymentMethodCreate( method: 'khipu', country: 'CL', currency: 'CLP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CLP", country="CL", payment_method={ "method": "khipu", "country": "CL", "currency": "CLP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CLP", country: "CL", paymentMethod: { method: "khipu", country: "CL", currency: "CLP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - LinkAja Source: https://docs.gr4vy.com/connections/payments/dlocal-linkaja Configure LinkAja via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. LinkAja is an e-wallet in Indonesia that provides digital payment solutions for consumers and merchants. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with LinkAja. Next, make sure to enable LinkAja as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For LinkAja, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "IDR", Country = "ID", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "linkaja", Country = "ID", Currency = "IDR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "IDR" country := "ID" method := components.RedirectPaymentMethodCreateMethodLinkaja redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("IDR") .country("ID") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.LINKAJA) .country("ID") .currency("IDR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'IDR', country: 'ID', paymentMethod: new RedirectPaymentMethodCreate( method: 'linkaja', country: 'ID', currency: 'IDR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="IDR", country="ID", payment_method={ "method": "linkaja", "country": "ID", "currency": "IDR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "IDR", country: "ID", paymentMethod: { method: "linkaja", country: "ID", currency: "IDR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Maybank QR Pay Source: https://docs.gr4vy.com/connections/payments/dlocal-maybankqrpay Configure Maybank QR Pay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Maybank QRPay is a mobile payment solution in Malaysia that enables QR code-based transactions. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with MayBank QR Pay. Next, make sure to enable MayBank QR Pay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Maybank QR Pay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MYR", Country = "MY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "maybankqrpay", Country = "MY", Currency = "MYR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MYR" country := "MY" method := components.RedirectPaymentMethodCreateMethodMaybankqrpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MYR") .country("MY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.MAYBANKQRPAY) .country("MY") .currency("MYR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MYR', country: 'MY', paymentMethod: new RedirectPaymentMethodCreate( method: 'maybankqrpay', country: 'MY', currency: 'MYR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MYR", country="MY", payment_method={ "method": "maybankqrpay", "country": "MY", "currency": "MYR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MYR", country: "MY", paymentMethod: { method: "maybankqrpay", country: "MY", currency: "MYR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Mercado Pago Source: https://docs.gr4vy.com/connections/payments/dlocal-mercadopago Configure Mercado Pago via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Mercado Pago is a leading payment platform in Latin America, offering comprehensive payment solutions across multiple countries. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Mercado Pago. Next, make sure to enable Mercado Pago as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Mercado Pago, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "mercadopago", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodMercadopago redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.MERCADOPAGO) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'mercadopago', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "mercadopago", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "mercadopago", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Nequi Source: https://docs.gr4vy.com/connections/payments/dlocal-nequi Configure Nequi via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Nequi is a popular mobile wallet in Colombia that provides digital payment and financial services. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Nequi. Next, make sure to enable Nequi as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Nequi, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "COP", Country = "CO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "nequi", Country = "CO", Currency = "COP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "COP" country := "CO" method := components.RedirectPaymentMethodCreateMethodNequi redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("COP") .country("CO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.NEQUI) .country("CO") .currency("COP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'COP', country: 'CO', paymentMethod: new RedirectPaymentMethodCreate( method: 'nequi', country: 'CO', currency: 'COP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="COP", country="CO", payment_method={ "method": "nequi", "country": "CO", "currency": "COP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "COP", country: "CO", paymentMethod: { method: "nequi", country: "CO", currency: "COP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Wallet Nequi may require some additional information to be passed via dLocal to enable the wallet payment. For this purpose, a `wallet` option is available in the API. To enable this feature, pass in the following connection options for dLocal when making a payment. ```json theme={"system"} POST /transactions { "amount": 2000000, "country": "CO", "currency": "COP", "intent": "capture", "connection_options": { "dlocal-nequi": { "wallet": { "name": "John Smith", // defaults to the billing name "email": "john@example.com", // defaults to the billing email "username": "johndoe", // defaults to the billing email "token": "abc123", // defaults to null "verify": true //defaults to false } } }, } ``` Please contact dLocal for more information on how to exactly use these wallet options. # dLocal - Netbanking Source: https://docs.gr4vy.com/connections/payments/dlocal-netbanking Configure Netbanking via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. NetBanking is an online bank transfer payment method in India that allows consumers to pay directly from their bank accounts. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Netbanking. Next, make sure to enable Netbanking as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Netbanking, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "INR", Country = "IN", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "netbanking", Country = "IN", Currency = "INR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "INR" country := "IN" method := components.RedirectPaymentMethodCreateMethodNetbanking redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("INR") .country("IN") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.NETBANKING) .country("IN") .currency("INR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'INR', country: 'IN', paymentMethod: new RedirectPaymentMethodCreate( method: 'netbanking', country: 'IN', currency: 'INR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="INR", country="IN", payment_method={ "method": "netbanking", "country": "IN", "currency": "INR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "INR", country: "IN", paymentMethod: { method: "netbanking", country: "IN", currency: "INR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - NuPay Source: https://docs.gr4vy.com/connections/payments/dlocal-nupay Configure NuPay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. NuPay is a bank transfer payment method in Brazil provided by Nubank, one of the country's largest digital banks. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with NuPay. Next, make sure to enable NuPay as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For NuPay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "nupay", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodNupay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.NUPAY) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'nupay', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "nupay", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "nupay", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - OVO Source: https://docs.gr4vy.com/connections/payments/dlocal-ovo Configure OVO via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. OVO is a leading e-wallet in Indonesia that offers digital payment solutions and loyalty rewards. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with OVO. Next, make sure to enable OVO as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For OVO, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "IDR", Country = "ID", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ovo", Country = "ID", Currency = "IDR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "IDR" country := "ID" method := components.RedirectPaymentMethodCreateMethodOvo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("IDR") .country("ID") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OVO) .country("ID") .currency("IDR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'IDR', country: 'ID', paymentMethod: new RedirectPaymentMethodCreate( method: 'ovo', country: 'ID', currency: 'IDR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="IDR", country="ID", payment_method={ "method": "ovo", "country": "ID", "currency": "IDR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "IDR", country: "ID", paymentMethod: { method: "ovo", country: "ID", currency: "IDR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - OXXO Source: https://docs.gr4vy.com/connections/payments/dlocal-oxxo Configure OXXO via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. OXXO is the most popular cash payment method in Mexico, with thousands of convenience store locations where consumers can pay their bills. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with OXXO. Next, make sure to enable OXXO as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For OXXO, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodOxxo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Pago Efectivo Source: https://docs.gr4vy.com/connections/payments/dlocal-pagoefectivo Configure Pago Efectivo via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Pago Efectivo is a payment method in Peru that allows consumers to pay online purchases through cash or bank transfer. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Pago Efectivo. Next, make sure to enable Pago Efectivo as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Pago Efectivo, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PEN", Country = "PE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pagoefectivo", Country = "PE", Currency = "PEN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PEN" country := "PE" method := components.RedirectPaymentMethodCreateMethodPagoefectivo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PEN") .country("PE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAGOEFECTIVO) .country("PE") .currency("PEN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PEN', country: 'PE', paymentMethod: new RedirectPaymentMethodCreate( method: 'pagoefectivo', country: 'PE', currency: 'PEN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PEN", country="PE", payment_method={ "method": "pagoefectivo", "country": "PE", "currency": "PEN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PEN", country: "PE", paymentMethod: { method: "pagoefectivo", country: "PE", currency: "PEN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Paymaya Source: https://docs.gr4vy.com/connections/payments/dlocal-paymaya Configure Paymaya via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Maya (formerly PayMaya) is a leading mobile wallet in the Philippines that provides digital financial services. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Paymaya. Next, make sure to enable Paymaya as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PayMaya, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PHP", Country = "PH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paymaya", Country = "PH", Currency = "PHP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PHP" country := "PH" method := components.RedirectPaymentMethodCreateMethodPaymaya redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PHP") .country("PH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYMAYA) .country("PH") .currency("PHP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PHP', country: 'PH', paymentMethod: new RedirectPaymentMethodCreate( method: 'paymaya', country: 'PH', currency: 'PHP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PHP", country="PH", payment_method={ "method": "paymaya", "country": "PH", "currency": "PHP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PHP", country: "PH", paymentMethod: { method: "paymaya", country: "PH", currency: "PHP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Payvalida Source: https://docs.gr4vy.com/connections/payments/dlocal-payvalida Configure Payvalida via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Payvalida is a payment method in Peru that enables consumers to pay for online purchases through cash or digital channels. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Payvalida. Next, make sure to enable Payvalida as a payment method on your configured account. ## Supported countries ## Supported currencies ## Capabilities # dLocal - PicPay Source: https://docs.gr4vy.com/connections/payments/dlocal-picpay Configure PicPay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. PicPay is a popular mobile wallet in Brazil that provides digital payment services and peer-to-peer transfers. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with PicPay. Next, make sure to enable PicPay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PicPay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "picpay", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodPicpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PICPAY) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'picpay', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "picpay", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "picpay", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - PIX Source: https://docs.gr4vy.com/connections/payments/dlocal-pix Configure PIX via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. PIX is Brazil's instant payment system, created by the Central Bank of Brazil, enabling real-time transfers and payments 24/7. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with PIX. Next, make sure to enable PIX as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PIX, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pix", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodPix redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PIX) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'pix', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "pix", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "pix", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Recurring transactions ### Enrollment To enroll a buyer in Pix Automático, create an initial payment with tokenization enabled and pass `dlocal-pix` connection options. * Set `store` to `true` to save the payment method. * Pass `connection_options.dlocal-pix.subscription` with the recurring enrollment details. Use one of the following SDK requests: ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pix", Country = "BR", Currency = "BRL", RedirectUrl = "https://example.com/callback", } ), Store = true, ConnectionOptions = new Dictionary() { ["dlocal-pix"] = new Dictionary() { ["subscription"] = new Dictionary() { ["frequency"] = "MONTHLY", ["amount"] = new Dictionary() { ["type"] = "FIXED", ["value"] = "10.00" }, ["start_date"] = "2026-03-01", ["end_date"] = "2027-03-01" } } } } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" method := components.RedirectPaymentMethodCreateMethodPix redirectUrl := "https://example.com/callback" store := true redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, Store: &store, ConnectionOptions: map[string]any{ "dlocal-pix": map[string]any{ "subscription": map[string]any{ "frequency": "MONTHLY", "amount": map[string]string{ "type": "FIXED", "value": "10.00", }, "start_date": "2026-03-01", "end_date": "2027-03-01", }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} Map amountOptions = new HashMap<>(); amountOptions.put("type", "FIXED"); amountOptions.put("value", "10.00"); Map subscriptionOptions = new HashMap<>(); subscriptionOptions.put("frequency", "MONTHLY"); subscriptionOptions.put("amount", amountOptions); subscriptionOptions.put("start_date", "2026-03-01"); subscriptionOptions.put("end_date", "2027-03-01"); Map pixOptions = new HashMap<>(); pixOptions.put("subscription", subscriptionOptions); Map connectionOptions = new HashMap<>(); connectionOptions.put("dlocal-pix", pixOptions); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PIX) .country("BR") .currency("BRL") .redirectUrl("https://example.com/callback") .build())) .store(true) .connectionOptions(connectionOptions) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new RedirectPaymentMethodCreate( method: 'pix', country: 'BR', currency: 'BRL', redirectUrl: 'https://example.com/callback' ), store: true, connectionOptions: [ 'dlocal-pix' => [ 'subscription' => [ 'frequency' => 'MONTHLY', 'amount' => [ 'type' => 'FIXED', 'value' => '10.00' ], 'start_date' => '2026-03-01', 'end_date' => '2027-03-01' ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method={ "method": "pix", "country": "BR", "currency": "BRL", "redirect_url": "https://example.com/callback", }, store=True, connection_options={ "dlocal-pix": { "subscription": { "frequency": "MONTHLY", "amount": { "type": "FIXED", "value": "10.00" }, "start_date": "2026-03-01", "end_date": "2027-03-01" } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "pix", country: "BR", currency: "BRL", redirectUrl: "https://example.com/callback" }, store: true, connectionOptions: { "dlocal-pix": { subscription: { frequency: "MONTHLY", amount: { type: "FIXED", value: "10.00" }, start_date: "2026-03-01", end_date: "2027-03-01" } } } }) ``` After you create the enrollment transaction, redirect the buyer to the `approval_url` to complete the Pix Automático enrollment. Once the buyer approves it, the payment method is saved and available for subsequent recurring charges. ### Subsequent payment After enrollment succeeds, create subsequent charges with the saved payment method ID. * Set `payment_method.method` to `id` and pass the saved payment method ID. * Set `payment_source` to `recurring`. * Set `merchant_initiated` and `is_subsequent_payment` to `true`. * Optionally set `connection_options.dlocal-pix.scheduled_date` in `YYYY-MM-DD` format. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BRL", Country = "BR", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring", ConnectionOptions = new Dictionary() { ["dlocal-pix"] = new Dictionary() { ["scheduled_date"] = "2026-03-05" } } } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BRL" country := "BR" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, ConnectionOptions: map[string]any{ "dlocal-pix": map[string]string{ "scheduled_date": "2026-03-05", }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BRL") .country("BR") .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .connectionOptions(Map.of( "dlocal-pix", Map.of( "scheduled_date", "2026-03-05" ) )) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BRL', country: 'BR', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring', connectionOptions: [ 'dlocal-pix' => [ 'scheduled_date' => '2026-03-05' ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BRL", country="BR", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring", connection_options={ "dlocal-pix": { "scheduled_date": "2026-03-05" } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "BRL", country: "BR", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring", connectionOptions: { "dlocal-pix": { scheduled_date: "2026-03-05" } } }) ``` ### Connection options * `subscription.frequency` - Recurrence interval. Supported values are `WEEKLY`, `MONTHLY`, `QUARTERLY`, `SEMI_ANNUAL`, and `ANNUAL`. * `subscription.amount.type` - Amount model. Use `FIXED` for a fixed amount or `VARIABLE` for a variable amount. * `subscription.amount.value` - Fixed amount in local currency. Use this when `subscription.amount.type` is `FIXED`. * `subscription.amount.min_value` - Minimum enrollment limit in local currency. Use this when `subscription.amount.type` is `VARIABLE`. * `subscription.start_date` - Subscription start date in `YYYY-MM-DD` format. * `subscription.end_date` - Subscription end date in `YYYY-MM-DD` format. For subsequent recurring charges, you can pass `connection_options.dlocal-pix.scheduled_date` in `YYYY-MM-DD` format. If you omit it, dLocal defaults to 2 days in the future. ## Sandbox testing In production, Gr4vy passes `merchant_reference` to dLocal as the payment description. In sandbox, Gr4vy sends `100:approved` as the payment description so dLocal can return an approved transaction. # dLocal - PSE Source: https://docs.gr4vy.com/connections/payments/dlocal-pse Configure PSE via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. PSE (Pagos Seguros en Línea) is Colombia's leading online bank transfer payment method connecting consumers with their banks. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with PSE. Next, make sure to enable PSE as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PSE, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "COP", Country = "CO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pse", Country = "CO", Currency = "COP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "COP" country := "CO" method := components.RedirectPaymentMethodCreateMethodPse redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("COP") .country("CO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PSE) .country("CO") .currency("COP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'COP', country: 'CO', paymentMethod: new RedirectPaymentMethodCreate( method: 'pse', country: 'CO', currency: 'COP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="COP", country="CO", payment_method={ "method": "pse", "country": "CO", "currency": "COP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "COP", country: "CO", paymentMethod: { method: "pse", country: "CO", currency: "COP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Rabbit LINE Pay Source: https://docs.gr4vy.com/connections/payments/dlocal-rabbitlinepay Configure Rabbit LINE Pay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Rabbit LINE Pay is a mobile wallet in Thailand that combines LINE's messaging platform with payment capabilities. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Rabbit LINE Pay. Next, make sure to enable Rabbit LINE Pay as a payment method on your configured account. ## Supported countries ## Supported currencies ## Capabilities # dLocal - Rapipago Source: https://docs.gr4vy.com/connections/payments/dlocal-rapipago Configure Rapipago via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Rapipago is a popular cash payment network in Argentina with thousands of locations where consumers can make payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Rapipago. Next, make sure to enable Rapipago as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Rapipago, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "ARS", Country = "AR", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "rapipago", Country = "AR", Currency = "ARS", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "ARS" country := "AR" method := components.RedirectPaymentMethodCreateMethodRapipago redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("ARS") .country("AR") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.RAPIPAGO) .country("AR") .currency("ARS") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'ARS', country: 'AR', paymentMethod: new RedirectPaymentMethodCreate( method: 'rapipago', country: 'AR', currency: 'ARS', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="ARS", country="AR", payment_method={ "method": "rapipago", "country": "AR", "currency": "ARS", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "ARS", country: "AR", paymentMethod: { method: "rapipago", country: "AR", currency: "ARS", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Redpagos Source: https://docs.gr4vy.com/connections/payments/dlocal-redpagos Configure Redpagos via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Redpagos is a bank and payment network in Uruguay that allows consumers to make cash and online payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Redpagos. Next, make sure to enable Redpagos as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Redpagos, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "UYU", Country = "UY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "redpagos", Country = "UY", Currency = "UYU", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "UYU" country := "UY" method := components.RedirectPaymentMethodCreateMethodRedpagos redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("UYU") .country("UY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.REDPAGOS) .country("UY") .currency("UYU") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'UYU', country: 'UY', paymentMethod: new RedirectPaymentMethodCreate( method: 'redpagos', country: 'UY', currency: 'UYU', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="UYU", country="UY", payment_method={ "method": "redpagos", "country": "UY", "currency": "UYU", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "UYU", country: "UY", paymentMethod: { method: "redpagos", country: "UY", currency: "UYU", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Servipag Source: https://docs.gr4vy.com/connections/payments/dlocal-servipag Configure Servipag via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Servipag is a payment service in Chile that enables consumers to make cash and online payments through a network of locations. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Servipag. Next, make sure to enable Servipag as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Servipag, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CLP", Country = "CL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "servipag", Country = "CL", Currency = "CLP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CLP" country := "CL" method := components.RedirectPaymentMethodCreateMethodServipag redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CLP") .country("CL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SERVIPAG) .country("CL") .currency("CLP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CLP', country: 'CL', paymentMethod: new RedirectPaymentMethodCreate( method: 'servipag', country: 'CL', currency: 'CLP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CLP", country="CL", payment_method={ "method": "servipag", "country": "CL", "currency": "CLP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CLP", country: "CL", paymentMethod: { method: "servipag", country: "CL", currency: "CLP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `processing`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - ShopeePay Source: https://docs.gr4vy.com/connections/payments/dlocal-shopeepay Configure ShopeePay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. ShopeePay is a popular e-wallet in Southeast Asia, integrated with the Shopee e-commerce platform. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with ShopeePay. Next, make sure to enable ShopeePay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For ShopeePay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "THB", Country = "TH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "shopeepay", Country = "TH", Currency = "THB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "THB" country := "TH" method := components.RedirectPaymentMethodCreateMethodShopeepay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("THB") .country("TH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SHOPEEPAY) .country("TH") .currency("THB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'THB', country: 'TH', paymentMethod: new RedirectPaymentMethodCreate( method: 'shopeepay', country: 'TH', currency: 'THB', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="THB", country="TH", payment_method={ "method": "shopeepay", "country": "TH", "currency": "THB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "THB", country: "TH", paymentMethod: { method: "shopeepay", country: "TH", currency: "THB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - SPEI Source: https://docs.gr4vy.com/connections/payments/dlocal-spei Configure SPEI via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico's interbank electronic payment system for bank transfers. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with SPEI. Next, make sure to enable SPEI as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For SPEI, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodSpei redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Stitch Source: https://docs.gr4vy.com/connections/payments/dlocal-stitch Configure Stitch via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Stitch is a bank transfer payment method in South Africa that enables secure direct payments from consumers' bank accounts. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Stitch. Next, make sure to enable Stitch as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Stitch, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "ZAR", Country = "ZA", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "stitch", Country = "ZA", Currency = "ZAR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "ZAR" country := "ZA" method := components.RedirectPaymentMethodCreateMethodStitch redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("ZAR") .country("ZA") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.STITCH) .country("ZA") .currency("ZAR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'ZAR', country: 'ZA', paymentMethod: new RedirectPaymentMethodCreate( method: 'stitch', country: 'ZA', currency: 'ZAR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="ZAR", country="ZA", payment_method={ "method": "stitch", "country": "ZA", "currency": "ZAR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "ZAR", country: "ZA", paymentMethod: { method: "stitch", country: "ZA", currency: "ZAR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Thai QR Payment Source: https://docs.gr4vy.com/connections/payments/dlocal-thaiqr Configure Thai QR Payment via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Thai QR Payment is the national QR code payment standard in Thailand, enabling interoperable payments across banks and e-wallets. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Thai QR Payment. Next, make sure to enable Thai QR Payment as a payment method on the configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Thai QR, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "THB", Country = "TH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "thaiqr", Country = "TH", Currency = "THB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "THB" country := "TH" method := components.RedirectPaymentMethodCreateMethodThaiqr redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("THB") .country("TH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.THAIQR) .country("TH") .currency("THB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'THB', country: 'TH', paymentMethod: new RedirectPaymentMethodCreate( method: 'thaiqr', country: 'TH', currency: 'THB', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="THB", country="TH", payment_method={ "method": "thaiqr", "country": "TH", "currency": "THB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "THB", country: "TH", paymentMethod: { method: "thaiqr", country: "TH", currency: "THB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Touch 'n Go Source: https://docs.gr4vy.com/connections/payments/dlocal-touchngo Configure Touch 'n Go via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Touch 'n Go is a popular e-wallet in Malaysia that offers payment solutions across online and offline channels. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Touch 'n Go. Next, make sure to enable Touch 'n Go as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Touch 'n Go, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MYR", Country = "MY", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "touchngo", Country = "MY", Currency = "MYR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MYR" country := "MY" method := components.RedirectPaymentMethodCreateMethodTouchngo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MYR") .country("MY") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.TOUCHNGO) .country("MY") .currency("MYR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MYR', country: 'MY', paymentMethod: new RedirectPaymentMethodCreate( method: 'touchngo', country: 'MY', currency: 'MYR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MYR", country="MY", payment_method={ "method": "touchngo", "country": "MY", "currency": "MYR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MYR", country: "MY", paymentMethod: { method: "touchngo", country: "MY", currency: "MYR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - TrueMoney Source: https://docs.gr4vy.com/connections/payments/dlocal-truemoney Configure TrueMoney via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. TrueMoney is a leading e-wallet in Thailand that provides mobile payment and financial services. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with TrueMoney. Next, make sure to enable TrueMoney as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For TrueMoney, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "THB", Country = "TH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "truemoney", Country = "TH", Currency = "THB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "THB" country := "TH" method := components.RedirectPaymentMethodCreateMethodTruemoney redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("THB") .country("TH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.TRUEMONEY) .country("TH") .currency("THB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'THB', country: 'TH', paymentMethod: new RedirectPaymentMethodCreate( method: 'truemoney', country: 'TH', currency: 'THB', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="THB", country="TH", payment_method={ "method": "truemoney", "country": "TH", "currency": "THB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "THB", country: "TH", paymentMethod: { method: "truemoney", country: "TH", currency: "THB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - UPI Source: https://docs.gr4vy.com/connections/payments/dlocal-upi Configure UPI via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. UPI (Unified Payments Interface) is India's instant payment system that enables real-time bank-to-bank transfers through mobile devices. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with UPI. Next, make sure to enable UPI as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For UPI, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "INR", Country = "IN", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "upi", Country = "IN", Currency = "INR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "INR" country := "IN" method := components.RedirectPaymentMethodCreateMethodUpi redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("INR") .country("IN") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.UPI) .country("IN") .currency("INR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'INR', country: 'IN', paymentMethod: new RedirectPaymentMethodCreate( method: 'upi', country: 'IN', currency: 'INR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="INR", country="IN", payment_method={ "method": "upi", "country": "IN", "currency": "INR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "INR", country: "IN", paymentMethod: { method: "upi", country: "IN", currency: "INR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Recurring transactions Recurring UPI payments are not confirmed in real-time. A transaction takes at least 24 hours (up to 48 hours) to be confirmed due to a mandatory upcoming payment notification rule in India. As a result, the UPI integration waits for an asynchronous callback (webhook) to receive the final payment status. The same process applies to the tokenization of a payment method, which only works for recurring or installments transactions. You can specify the payment frequency using the [dLocal UPI connection options](https://docs.gr4vy.com/reference/transactions/new-transaction#body-connection-options-dlocal-upi). The example below demonstrates how to configure a monthly payment that recurs for one year. ``` "connectionOptions": { "dlocal-upi": { "wallet": { "recurring_info": { "subscription_end_at": "20261016", "subscription_frequency": 1, "subscription_frequency_unit": "MONTH", "subscription_start_at": "20251016" } } } } ``` ## Usage with Embed When storing a UPI payment method with Embed, dLocal requires it to be set up as a recurring transaction. You can do this by setting the `paymentSource` to `recurring`. If this isn't configured correctly, the transaction errors with "Payment method tokenization is only supported for recurring transactions." ## Sandbox testing When testing dLocal UPI in a sandbox environment, you are redirected to an enrollment experience for recurring transactions. This process may not return immediately and can take several minutes to begin processing the transaction. You may need to refresh the approval URL multiple times before the transaction is successfully initiated. # dLocal - WebPay Source: https://docs.gr4vy.com/connections/payments/dlocal-webpay Configure WebPay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Webpay is a popular payment gateway in Chile that enables online payments through bank connections. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with WebPay. Next, make sure to enable WebPay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Webpay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CLP", Country = "CL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "webpay", Country = "CL", Currency = "CLP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CLP" country := "CL" method := components.RedirectPaymentMethodCreateMethodWebpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CLP") .country("CL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.WEBPAY) .country("CL") .currency("CLP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CLP', country: 'CL', paymentMethod: new RedirectPaymentMethodCreate( method: 'webpay', country: 'CL', currency: 'CLP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CLP", country="CL", payment_method={ "method": "webpay", "country": "CL", "currency": "CLP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CLP", country: "CL", paymentMethod: { method: "webpay", country: "CL", currency: "CLP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - WeChat Pay Source: https://docs.gr4vy.com/connections/payments/dlocal-wechat Configure WeChat Pay via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. WeChat Pay is a leading payment platform in Asia integrated with the WeChat messaging platform, enabling payments across multiple countries. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with WeChat Pay. Next, make sure to enable WeChat Pay as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For WeChat Pay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "THB", Country = "TH", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "wechat", Country = "TH", Currency = "THB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "THB" country := "TH" method := components.RedirectPaymentMethodCreateMethodWechat redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("THB") .country("TH") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.WECHAT) .country("TH") .currency("THB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'THB', country: 'TH', paymentMethod: new RedirectPaymentMethodCreate( method: 'wechat', country: 'TH', currency: 'THB', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="THB", country="TH", payment_method={ "method": "wechat", "country": "TH", "currency": "THB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "THB", country: "TH", paymentMethod: { method: "wechat", country: "TH", currency: "THB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # dLocal - Yape Source: https://docs.gr4vy.com/connections/payments/dlocal-yape Configure Yape via dLocal as a payment method in Gr4vy. dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. Yape is a popular mobile wallet in Peru that provides instant money transfers and digital payments. ## Setup Please follow the [common dLocal instructions](./dlocal) to get set up with Yape. Next, make sure to enable Yape as a payment method on your configured account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Yape, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PEN", Country = "PE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "yape", Country = "PE", Currency = "PEN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PEN" country := "PE" method := components.RedirectPaymentMethodCreateMethodYape redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PEN") .country("PE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.YAPE) .country("PE") .currency("PEN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PEN', country: 'PE', paymentMethod: new RedirectPaymentMethodCreate( method: 'yape', country: 'PE', currency: 'PEN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PEN", country="PE", payment_method={ "method": "yape", "country": "PE", "currency": "PEN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PEN", country: "PE", paymentMethod: { method: "yape", country: "PE", currency: "PEN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the status is set to `buyer_approval_pending`. Redirect the buyer to the `approval_url` so they can complete the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # Ecommpay - Card Source: https://docs.gr4vy.com/connections/payments/ecommpay-card Connect to Ecommpay to accept card payments. Ecommpay is a global payments company that helps online businesses accept and manage payments. It operates in multiple regions and industries, providing a platform for merchants and payment service providers. ## Setup [Contact Ecommpay](https://ecommpay.com/contact/) to obtain sandbox credentials for your region. Then, in the Gr4vy dashboard, add your Ecommpay connection using your **Project ID** and **Secret key**. ## Connector configuration After setting up your Ecommpay connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Ecommpay as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Ecommpay connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ### Tokenization callbacks Your Ecommpay contact must enable tokenization for your project. After it is enabled, set up a dedicated tokenization callback. Gr4vy automatically handles Ecommpay's transaction webhooks, but tokenization results use a separate callback. To configure the tokenization callback: 1. In the Ecommpay dashboard, go to **Settings** -> **Callbacks**. 2. Create a new callback using the synchronization URL from your Ecommpay connector settings in the Gr4vy dashboard. 3. Set the callback result type to "tokenize." ## Credentials When setting up Ecommpay in the dashboard, configure the following credentials. * **Project ID** - The numeric project identifier from your Ecommpay dashboard. * **Secret key** - The secret key from your Ecommpay dashboard. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Asynchronous processing** - Ecommpay acknowledges requests immediately and completes transactions asynchronously. Gr4vy polls for status updates after the initial call, sending up to three checks at roughly the 1, 3, and 5 second marks. Webhooks are monitored as a fail-safe. One transaction can appear as multiple API requests plus a webhook event in the dashboard. * **CVV required** - A CVV is required for all card payments, except for stored credential follow-up payments and merchant-initiated transactions where the initial payment included a CVV. * **Closed loop** - Ecommpay can only process card tokens generated through Ecommpay. * **3DS required** - Ecommpay requires 3D Secure (3DS) authentication for all card payments. Use [Gr4vy hosted 3DS](/guides/features/3ds/hosted) to satisfy this requirement. This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with Ecommpay, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Ecommpay connection based on your Flow rules or explicit `payment_service_id` parameter. ### Required fields Ecommpay requires the following fields in the `billing_details` of a card payment: * **Email address** - Required for checkout. * **Phone number** - Required for checkout. ### Payouts (travel MCC) The Gr4vy integration supports payouts for travel-related merchant category codes when enabled for your Ecommpay account. For setup details and API usage, see the [Payouts overview](/guides/features/payouts/overview). # Fiserv Source: https://docs.gr4vy.com/connections/payments/fiserv Connect to Fiserv to accept card payments with IPG or CardPointe. Fiserv supports card processing through two connectors, IPG and CardPointe. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------------------- | -------------------- | ---------------------- | -------------------------------------- | | [Card (IPG)](./fiserv-card) | `AD`, `AE`, 247 more | `AED`, `AUD`, 47 more | Card processing via Fiserv IPG. | | [Card (CardPointe)](./cardpointe-card) | `AD`, `AE`, 248 more | `AED`, `AFN`, 163 more | Card processing via Fiserv CardPointe. | # Fiserv IPG - Card Source: https://docs.gr4vy.com/connections/payments/fiserv-card Connect to Fiserv IPG to accept card payments. Fiserv IPG (Internet Payment Gateway) is a payment processing platform from Fiserv, a global financial services technology company. It provides card payment processing for businesses worldwide. ## Setup Fiserv IPG provides self-service sign-up for a sandbox account. To sign up for an account, visit the [Fiserv registration page](https://portal.fiserv.dev/user/registration/). ## Connector configuration After setting up your Fiserv IPG connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Fiserv IPG as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Fiserv IPG connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials When setting up Fiserv IPG in the dashboard, configure the following credentials from the [Fiserv portal](https://portal.fiserv.dev/user/login). * **API key** - The API key from the Fiserv dashboard under **API Keys**. * **Secret key** - The secret key found under the API key in the Fiserv dashboard under **API Keys**. * **Store ID** - Your Fiserv store identifier. * **Payment facilitator fields** - When operating as a payment facilitator, provide the sub-merchant details described in [Payment facilitator (Omnipay)](#payment-facilitator-omnipay). Fiserv ## Payment facilitator (Omnipay) Payment facilitator support uses Fiserv's Omnipay platform and is enabled per connection, by request only. It is not available by default. Contact Gr4vy to have it configured, and note that your Fiserv account must also be enabled for payment facilitator (sub-merchant) processing on Fiserv's side. Fiserv's Omnipay platform supports the payment facilitator (PayFac) processing model, also referred to as the aggregator model. This differs from the merchant of record model. When enabled, the Fiserv connector sends sub-merchant details with each transaction so funds and reporting are attributed to the correct sub-merchant. The following sub-merchant fields are configured as connector credentials on the enabled connection: * **MCC** - The merchant category code for the sub-merchant. * **Legal name** - The sub-merchant's registered legal name. * **Email** - The sub-merchant's contact email. * **Merchant ID** - The sub-merchant identifier. * **Address** - The sub-merchant's address, including address lines, city, region, postal code, and country. The sub-merchant object is only accepted if your Fiserv account is enabled to operate as a payment facilitator. If it is not, Fiserv rejects the transaction with `Sub merchant data not supported`. Ask Fiserv to enable payment facilitator processing on your account before going live. You can test against a Fiserv sandbox account in the meantime. ### Zero-dollar authorizations On the Fiserv connector, zero-dollar (account verification) authorizations use Fiserv's dedicated card verification API rather than a standard authorization for a zero amount. This is Fiserv's recommended method for verifying a card without placing a charge, and it applies to all Fiserv card connections, not only payment facilitator connections. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Google Pay CVV** - To accept Google Pay transactions, your Fiserv merchant account or store ID must have the CVV field set as non-mandatory. * **Settlement split** - Omnipay's `settlementSplit` (dividing funds across multiple accounts) is not currently supported. Payment facilitator connections receive the full settlement amount. ## Integration To accept card payments with Fiserv, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Fiserv connection based on your Flow rules or explicit `payment_service_id` parameter. # The Giving Block Source: https://docs.gr4vy.com/connections/payments/givingblock-givingblock Connect to The Giving Block to accept cryptocurrency payments. The Giving Block enables cryptocurrency fundraising for nonprofits, charities, universities, and faith-based organizations. It uses a redirect flow where the buyer completes the crypto payment on The Giving Block hosted page. ## Setup The Giving Block does not provide self-service sign-up. [Contact their sales team](https://thegivingblock.com) to set up an account. ## Credentials When setting up The Giving Block in the dashboard, configure the following credentials: * **Login** - The API login username. This is different from the dashboard login. * **Password** - The API password. This is different from the dashboard password. * **Encryption key** - Used to decrypt webhooks sent from The Giving Block. * **Encryption IV** - Used alongside the encryption key to decrypt webhooks. * **USD Organisation ID** (optional) - The organization ID for processing USD transactions. Found in The Giving Block dashboard under **Organizations**. * **GBP Organisation ID** (optional) - The organization ID for processing GBP transactions. Found in The Giving Block dashboard under **Organizations**. At least one organization ID is required for each currency you want to process transactions for. Make sure to configure the correct organization ID for each currency. If incorrectly configured, a transaction may be adjusted to the captured amount in the wrong currency. ### Webhooks The Giving Block connector requires webhooks to receive transaction status updates. After setting up the connector: 1. Copy the webhook URL from the Gr4vy dashboard. 2. Share the URL with The Giving Block support team to configure it for your account. ## Capabilities ## Supported countries ## Supported currencies ## Limitations The following connector-specific limitations apply: * **Amount adjustment** - The captured amount of a transaction is automatically adjusted to the actual settled fiat amount received in the webhook from The Giving Block. * **Changing transaction identifier** - The `payment_service_transaction_id` changes between when the transaction is created and when it is captured. ## Integration The default integration for The Giving Block uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "givingblock", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodGivingblock redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GIVINGBLOCK) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'givingblock', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "givingblock", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "givingblock", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 7 days. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "givingblock" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the crypto payment. Once the buyer completes the payment, the transaction progresses to a `capture_succeeded` state. ### Connection options The Giving Block connector supports passing a default cryptocurrency when creating a transaction. ```csharp C# highlight={6-12} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", ConnectionOptions = new TransactionCreateConnectionOptions() { GivingblockGivingblock = new ConnectionOptionsGivingblockGivingblock() { DefaultCryptocurrency = "ETH", }, }, PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "givingblock", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go highlight={4-8} theme={"system"} connectionOptions := components.TransactionCreateConnectionOptions{ GivingblockGivingblock: &components.ConnectionOptionsGivingblockGivingblock{ DefaultCryptocurrency: gr4vy.String("ETH"), }, } transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, ConnectionOptions: &connectionOptions, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={5-7} theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .connectionOptions(TransactionCreateConnectionOptions.builder() .givingblockGivingblock(ConnectionOptionsGivingblockGivingblock.builder() .defaultCryptocurrency("ETH") .build()) .build()) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GIVINGBLOCK) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); ``` ```php PHP highlight={5-7} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', connectionOptions: new TransactionCreateConnectionOptions( givingblockGivingblock: new ConnectionOptionsGivingblockGivingblock( defaultCryptocurrency: 'ETH' ) ), paymentMethod: new RedirectPaymentMethodCreate( method: 'givingblock', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); ``` ```python Python highlight={5-9} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", connection_options={ "givingblock-givingblock": { "defaultCryptocurrency": "ETH", }, }, payment_method={ "method": "givingblock", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript highlight={5-9} theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", connectionOptions: { "givingblock-givingblock": { defaultCryptocurrency: "ETH", }, }, paymentMethod: { method: "givingblock", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` This automatically sets the default crypto currency used when the user is redirected to The Giving Block, allowing for a more smooth experience between your UI, where a user may have already selected a currency earlier. ### Currency conversion rates The Giving Block connector supports fetching the latest crypto rates used to calculate fiat amounts to crypto amounts. This calls the [list currencies](https://docs.thegivingblock.com/api-reference#list-currencies) API with a default request that includes rates and the organization ID. ```csharp C# theme={"system"} var res = await client.PaymentServiceDefinitions.SessionAsync( paymentServiceDefinitionId: "givingblock-givingblock", requestBody: new Dictionary() { { "includeRates", true }, } ); ``` ```go Go theme={"system"} res, err := client.PaymentServiceDefinitions.Session( ctx, "givingblock-givingblock", map[string]any{ "includeRates": true, }, ) ``` ```java Java theme={"system"} var res = client.paymentServiceDefinitions().session() .paymentServiceDefinitionId("givingblock-givingblock") .requestBody(Map.ofEntries( Map.entry("includeRates", true) )) .call(); ``` ```php PHP theme={"system"} $response = $client->paymentServiceDefinitions->session( paymentServiceDefinitionId: 'givingblock-givingblock', requestBody: [ 'includeRates' => true, ] ); ``` ```python Python theme={"system"} res = client.payment_service_definitions.session( payment_service_definition_id="givingblock-givingblock", request_body={ "includeRates": True, }, ) ``` ```ts TypeScript theme={"system"} const res = await client.paymentServiceDefinitions.session({ includeRates: true, }, "givingblock-givingblock") ``` You can customize the request with additional [request parameters](https://docs.thegivingblock.com/api-reference#list-currencies) supported by this API. If you have more than one The Giving Block connector configured, target a specific connector by using `client.paymentServices.session` with the `payment_service_id` instead. ```csharp C# theme={"system"} var res = await client.PaymentServices.SessionAsync( paymentServiceId: "fffd152a-9532-4087-9a4f-de58754210f0", requestBody: new Dictionary() { { "includeRates", true }, } ); ``` ```go Go theme={"system"} res, err := client.PaymentServices.Session( ctx, "fffd152a-9532-4087-9a4f-de58754210f0", map[string]any{ "includeRates": true, }, ) ``` ```java Java theme={"system"} var res = client.paymentServices().session() .paymentServiceId("fffd152a-9532-4087-9a4f-de58754210f0") .requestBody(Map.ofEntries( Map.entry("includeRates", true) )) .call(); ``` ```php PHP theme={"system"} $response = $client->paymentServices->session( paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0', requestBody: [ 'includeRates' => true, ] ); ``` ```python Python theme={"system"} res = client.payment_services.session( payment_service_id="fffd152a-9532-4087-9a4f-de58754210f0", request_body={ "includeRates": True, }, ) ``` ```ts TypeScript theme={"system"} const res = await client.paymentServices.session({ includeRates: true, }, "fffd152a-9532-4087-9a4f-de58754210f0") ``` # GoCardless Source: https://docs.gr4vy.com/connections/payments/gocardless-gocardless Connect to GoCardless to accept bank payments through a redirect flow. GoCardless is a bank payment provider that lets buyers authorize payments through their bank. ## Setup GoCardless provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up page](https://manage-sandbox.gocardless.com/signup) and fill in the details. ## Credentials When setting up GoCardless in the dashboard, configure the following credentials, which are obtained from GoCardless: * **Webhook secret**: Optional value used to validate incoming webhooks. Create a webhook in GoCardless using the URL shown after you set up the connector. * **Purpose code**: Optional value used for AUD PayTo transactions when required by your bank. ### Create access token Find the access token in the GoCardless Admin Portal under **Developers** -> **API Settings** -> **Access Tokens**. If there are no access tokens in the list, create a new access token by clicking **Create an access token**. ## Supported countries ## Supported currencies ## Capabilities ## Limitations The following connector-specific limitations apply: * **USD and CAD transactions require tokenization** - USD and CAD transactions use ACH and PAD respectively by default, which do not support Instant Bank Pay. Set `store=true` before you create a USD or CAD transaction. * **Purpose code required for AUD PayTo** - Provide a Purpose code either as a credential (global) or a connection option (per transaction). The credential value takes precedence. * **Statement descriptor is required** - A `statement_descriptor` must be provided in the API request, containing either a `name` or a `description`. * **Concurrent refunds not supported** - Submit a new refund only after the previous refund finishes processing. * **Metadata limits** - GoCardless supports up to three metadata keys. One key is reserved, so extra keys are ignored. * **Tokenized transactions start as pending** - Transactions made with a saved payment method initially have a `pending` status while GoCardless establishes the mandate. This process can take several days based on the bank scheme. Rely on webhooks or polling to confirm the final status. ## Integration GoCardless supports redirect integration only. Create a transaction with a redirect payment method, then send the buyer to the approval URL. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "GBP", Country = "GB", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "gocardless", Country = "GB", Currency = "GBP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "GBP" country := "GB" method := components.RedirectPaymentMethodCreateMethodGocardless redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("GBP") .country("GB") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.GOCARDLESS) .country("GB") .currency("GBP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'GBP', country: 'GB', paymentMethod: new RedirectPaymentMethodCreate( method: 'gocardless', country: 'GB', currency: 'GBP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="GBP", country="GB", payment_method={ "method": "gocardless", "country": "GB", "currency": "GBP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "GBP", country: "GB", paymentMethod: { method: "gocardless", country: "GB", currency: "GBP", redirectUrl: "https://example.com/callback" } }) ``` After you create the transaction, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. Redirect the buyer to the `approval_url` to approve the payment, then rely on webhooks or polling to confirm the final status. # Klarna Source: https://docs.gr4vy.com/connections/payments/klarna-klarna Set up Klarna and charge recurring subscriptions using merchant-initiated transactions (MIT) with a saved payment method. Klarna is a buy now, pay later (BNPL) payment method that offers flexible payment options and supports recurring payments through merchant-initiated transactions (MIT). ## Setup A Klarna account can be requested from the [Klarna Business Portal](https://portal.klarna.com/products/signup/basic-info). ## Credentials To connect a Klarna account, obtain the following credentials from the Klarna Business Portal. * **Username:** An API username which can be generated by navigating to **Preferences** → **Settings** → **Manage Klarna API Credentials** * **Password:** An API password which can be generated by navigating to **Preferences** → **Settings** → **Manage Klarna API Credentials** * **Region:** The region of the Klarna account. Enter `EU` for Europe, `NA` for North America, or `OC` for Oceania * **Client ID** *(optional)*: Required only for [Express Checkout](#express-checkout). Obtain from your Klarna Business Portal and enter it here so Gr4vy can return it via the Create Session API to initialize the Klarna Payments Buttons SDK. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Klarna, the default integration uses a redirect to the Klarna hosted payments page. A direct integration using the Klarna JavaScript SDK or mobile SDKs is also supported. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = new PaymentMethodRequest() { Method = "klarna", RedirectUrl = "https://example.com/callback", Country = "US", Currency = "USD", }, } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" transactionCreate := components.TransactionCreate{ Amount: &amount, Currency: currency, Country: &country, PaymentMethod: &components.PaymentMethodRequest{ Method: "klarna", RedirectUrl: "https://example.com/callback", Country: "US", Currency: "USD", }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(new PaymentMethodRequest.Builder() .method("klarna") .redirectUrl("https://example.com/callback") .country("US") .currency("USD") .build()) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new PaymentMethodRequest( method: 'klarna', redirectUrl: 'https://example.com/callback', country: 'US', currency: 'USD', ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "klarna", "redirect_url": "https://example.com/callback", "country": "US", "currency": "USD", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "klarna", redirectUrl: "https://example.com/callback", country: "US", currency: "USD", }, }); ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/klarna/apm.html?token=..." }, "method": "klarna" } ``` Redirect the buyer to the `approval_url` to complete the Klarna approval flow. Once approved, the transaction moves to `authorization_succeeded`. ### Direct integration Gr4vy supports direct integration with Klarna using the [Klarna Payments SDK](https://docs.klarna.com/klarna-payments/sdk-reference/) or mobile SDKs, allowing you to embed the payment UI directly in your app while using Gr4vy to manage the transaction lifecycle. Two modes are supported: **Standard Checkout** (session-based) and **Express Checkout** (button-based, no session required). #### Standard Checkout To initiate Standard Checkout, create a transaction with `integration_client` set to `web`, `ios`, or `android`. For mobile, use your app deep link for `redirect_url` (for example, `yourapp://`). After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "client_token": "...", "purchase_country": "US", "purchase_currency": "USD", "amount": 1000 }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "client_token": "...", "purchase_country": "US", "purchase_currency": "USD", "amount": 1000 }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "client_token": "...", "purchase_country": "US", "purchase_currency": "USD", "amount": 1000 }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/some-token", "integration_client": "android" } ``` Use the `client_token` from the session data to initialize the Klarna SDK. Refer to the [Klarna SDK documentation](https://docs.klarna.com/klarna-payments/sdk-reference/) for web integration. **Web** ```html theme={"system"} ``` **iOS (Swift)** — See the [iOS SDK guide](https://docs.klarna.com/klarna-payments/ios-sdk/). ```swift theme={"system"} let paymentView = KlarnaPaymentView(category: "pay_over_time", eventHandler: self) paymentView.initialize(clientToken: sessionData.client_token, returnUrl: URL(string: "yourapp://")!) ``` **Android (Kotlin)** — See the [Android SDK guide](https://docs.klarna.com/klarna-payments/android-sdk/). ```kotlin theme={"system"} val paymentView = KlarnaPaymentView(context, "pay_over_time") paymentView.initialize(clientToken, "yourapp://") ``` **Complete the transaction** After the customer authorizes the payment through the Klarna SDK, Klarna returns an `authorization_token`. To finalize the transaction, send this token to Gr4vy as a query parameter on the `default_completion_url` returned in the session response. ```bash Terminal theme={"system"} curl -X GET \ "&authorization_token=" ``` Once the request completes successfully, the transaction moves to `authorization_succeeded`. It can then be captured, voided, or refunded through Gr4vy. #### Express Checkout Klarna Express Checkout embeds the Klarna payment button directly in your page using the [Klarna Payments Buttons SDK](https://docs.klarna.com/acquirer/klarna/express-checkout/). The buyer authorizes the payment inside the SDK widget — no redirect to a hosted page is required. After authorization, your backend creates the Gr4vy transaction in a single call using the `authorization_token` returned by the SDK. **Get the client ID** The Klarna Payments Buttons SDK requires a `client_id` to initialize. You can obtain this in one of two ways: * **Via the Gr4vy API** — Call the Create Payment Service Session endpoint for your Klarna connection. Gr4vy returns a `clientId` from the connector credentials without making any Klarna API call. ```bash Terminal theme={"system"} POST /payment-services/{payment_service_id}/sessions ``` ```json Response theme={"system"} { "client_id": "klarna_live_client_..." } ``` * **Hardcoded** — Copy the `client_id` from your Klarna Business Portal and embed it directly in your frontend. This is suitable when the client ID does not change per session. **Embed the Express Checkout button** Load the Klarna SDK and render the Express Checkout button. The `klarnaAsyncCallback` function must be defined before the SDK script tag so it is available when the SDK initializes. ```html theme={"system"}
``` **Mobile** For mobile applications, use the [Klarna Mobile SDK](https://docs.klarna.com/acquirer/klarna/express-checkout/integrate-express-checkout/mobile-sdk-integration/). The SDK is initialized with a `client_id` and renders a `KlarnaExpressCheckoutButton`. **iOS (Swift)** — See the [iOS integration guide](https://docs.klarna.com/acquirer/klarna/express-checkout/integrate-express-checkout/mobile-sdk-integration/ios/). ```swift theme={"system"} let options = KlarnaExpressCheckoutButtonOptions( sessionOptions: .ClientSideSession(clientId: "", sessionData: orderData), returnUrl: "yourapp://", delegate: self ) ``` **Android (Kotlin)** — See the [Android integration guide](https://docs.klarna.com/acquirer/klarna/express-checkout/integrate-express-checkout/mobile-sdk-integration/android/). ```kotlin theme={"system"} val sessionOptions = KlarnaExpressCheckoutSessionOptions.ClientSideSession( clientId = "", sessionData = orderData, ) ``` **React Native** — See the [React Native integration guide](https://docs.klarna.com/acquirer/klarna/express-checkout/integrate-express-checkout/mobile-sdk-integration/react-native/). ```tsx theme={"system"} " }} returnUrl="yourapp://klarna-redirect" onAuthorized={handleAuthorization} /> ``` **Create the transaction** Once your server receives the `authorization_token`, create a Gr4vy transaction and pass the token in `connection_options` under the `klarna-klarna` key. Gr4vy forwards the token to Klarna to place the order directly — the transaction moves to `authorization_succeeded` without any redirect. ```csharp C# theme={"system"} var res = await sdk.Transactions.CreateAsync(transactionCreate: new TransactionCreate() { Amount = 2999, Currency = "USD", Country = "US", PaymentMethod = new PaymentMethodRequest() { Method = "klarna", }, CartItems = new List { new CartItem() { Name = "Example Product", Quantity = 1, UnitAmount = 2999, Sku = "item-001", Type = "physical", }, }, ConnectionOptions = new Dictionary { ["klarna-klarna"] = new Dictionary { ["authorization_token"] = "", }, }, }); ``` ```go Go theme={"system"} res, err := s.Transactions.Create(context.Background(), &components.TransactionCreate{ Amount: gr4vy.Int64(2999), Currency: "USD", Country: gr4vy.String("US"), PaymentMethod: &components.PaymentMethodRequest{ Method: "klarna", }, CartItems: []components.CartItem{ { Name: "Example Product", Quantity: 1, UnitAmount: gr4vy.Int64(2999), Sku: gr4vy.String("item-001"), Type: gr4vy.String("physical"), }, }, ConnectionOptions: map[string]interface{}{ "klarna-klarna": map[string]interface{}{ "authorization_token": "", }, }, }) ``` ```php PHP theme={"system"} $res = $sdk->transactions->create(new Components\TransactionCreate( amount: 2999, currency: 'USD', country: 'US', paymentMethod: new Components\PaymentMethodRequest( method: 'klarna', ), cartItems: [ new Components\CartItem( name: 'Example Product', quantity: 1, unitAmount: 2999, sku: 'item-001', type: 'physical', ), ], connectionOptions: [ 'klarna-klarna' => [ 'authorization_token' => '', ], ], )); ``` ```python Python theme={"system"} res = s.transactions.create( components.TransactionCreate( amount=2999, currency="USD", country="US", payment_method=components.PaymentMethodRequest( method="klarna", ), cart_items=[ components.CartItem( name="Example Product", quantity=1, unit_amount=2999, sku="item-001", type="physical", ), ], connection_options={ "klarna-klarna": { "authorization_token": "", } }, ), ) ``` ```ts TypeScript theme={"system"} const res = await gr4vy.transactions.create({ amount: 2999, currency: "USD", country: "US", paymentMethod: { method: "klarna", }, cartItems: [ { name: "Example Product", quantity: 1, unitAmount: 2999, sku: "item-001", type: "physical", }, ], connectionOptions: { "klarna-klarna": { authorizationToken: "", }, }, }); ``` The `authorization_token` returned by the Klarna SDK expires within approximately 60 minutes. Create the Gr4vy transaction immediately after receiving it. ## Subscriptions (MIT) Klarna supports storing the buyer's payment method during the first (customer-present) payment and charging future renewals as merchant-initiated transactions (MIT) using the saved payment method, typically with no redirect. Webhooks must be configured for the Klarna payment service. After the buyer approves the payment, Klarna sends an `authorization_token` via webhook which Gr4vy uses to create the reusable customer token. Without this webhook, `store: true` will not work. ### First payment Set `store` to `true` to save the Klarna payment method for the buyer. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; // Load your private key from disk, env, or your secret manager var privateKey = "..."; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var res = await sdk.Transactions.CreateAsync(transactionCreate: new TransactionCreate() { Amount = 5000, Currency = "USD", Country = "US", PaymentMethod = new PaymentMethodRequest() { Method = "klarna", RedirectUrl = "https://yourapp.com/callback", Country = "US", Currency = "USD" }, Store = true, PaymentSource = "recurring", MerchantInitiated = false, IsSubsequentPayment = false, }); // handle response ``` ```go Go theme={"system"} package main import( "context" "log" "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/components" ) func main() { // Load your private key from disk, env, or your secret manager privateKey := "..." s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithBearerAuth(gr4vy.WithToken(privateKey)), gr4vy.WithMerchantAccountID("default"), ) amount := int64(5000) store := true merchantInitiated := false isSubsequentPayment := false res, err := s.Transactions.Create(context.Background(), &components.TransactionCreate{ Amount: &amount, Currency: "USD", Country: "US", PaymentMethod: &components.PaymentMethodRequest{ Method: "klarna", RedirectUrl: "https://yourapp.com/callback", Country: "US", Currency: "USD", }, Store: &store, PaymentSource: "recurring", MerchantInitiated: &merchantInitiated, IsSubsequentPayment: &isSubsequentPayment, }) if err != nil { log.Fatal(err) } if res.StatusCode == 201 { // handle response } } ``` ```java Java theme={"system"} import com.gr4vy.Gr4vy; import com.gr4vy.models.components.*; import com.gr4vy.models.operations.*; public class Main { public static void main(String[] args) { // Load your private key from disk, env, or your secret manager String privateKey = "..."; Gr4vy sdk = new Gr4vy.Builder() .id("example") .server(Server.SANDBOX) .bearerAuth(Auth.withToken(privateKey)) .merchantAccountId("default") .build(); TransactionCreate transactionCreate = new TransactionCreate.Builder() .amount(5000) .currency("USD") .country("US") .paymentMethod(new PaymentMethodRequest.Builder() .method("klarna") .redirectUrl("https://yourapp.com/callback") .country("US") .currency("USD") .build()) .store(true) .paymentSource("recurring") .merchantInitiated(false) .isSubsequentPayment(false) .build(); try { CreateTransactionResponse res = sdk.transactions().create(transactionCreate); if (res.statusCode == 201) { // handle response } } catch (Exception e) { // handle exception } } } ``` ```php PHP theme={"system"} setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $res = $sdk->transactions->create(new Components\TransactionCreate( amount: 5000, currency: 'USD', country: 'US', paymentMethod: new Components\PaymentMethodRequest( method: 'klarna', redirectUrl: 'https://yourapp.com/callback', country: 'US', currency: 'USD', ), store: true, paymentSource: 'recurring', merchantInitiated: false, isSubsequentPayment: false, )); if ($res->statusCode === 201) { // handle response } ``` ```python Python theme={"system"} import gr4vy from gr4vy import auth from gr4vy.models import components # Load your private key from disk, env, or your secret manager private_key = "..." s = gr4vy.Gr4vy( id="example", server=gr4vy.SERVER_SANDBOX, bearer_auth=auth.with_token(private_key), merchant_account_id="default", ) res = s.transactions.create( components.TransactionCreate( amount=5000, currency="USD", country="US", payment_method=components.PaymentMethodRequest( method="klarna", redirect_url="https://yourapp.com/callback", country="US", currency="USD", ), store=True, payment_source="recurring", merchant_initiated=False, is_subsequent_payment=False, ), ) if res.status_code == 201: # handle response pass ``` ```ts TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; // Load your private key from disk, env, or your secret manager const privateKey = process.env.GR4VY_PRIVATE_KEY ?? "..."; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", bearerAuth: withToken({ privateKey }), merchantAccountId: "default", }); const res = await gr4vy.transactions.create({ amount: 5000, currency: "USD", country: "US", paymentMethod: { method: "klarna", redirectUrl: "https://yourapp.com/callback", country: "US", currency: "USD", }, store: true, paymentSource: "recurring", merchantInitiated: false, isSubsequentPayment: false, }); if (res.statusCode === 201) { // handle response } ``` ### Subsequent payment After the payment method is saved, use the payment method ID to charge future renewals. * Set `payment_method.method` to `id` and pass the saved payment method ID. * Set `payment_source` to `recurring`. * Set `merchant_initiated` and `is_subsequent_payment` to `true`. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; // Load your private key from disk, env, or your secret manager var privateKey = "..."; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var res = await sdk.Transactions.CreateAsync(transactionCreate: new TransactionCreate() { Amount = 5000, Currency = "USD", Country = "US", PaymentMethod = new PaymentMethodRequest() { Method = "id", Id = "c2495b14-ca95-4199-87c3-27cbfefcbe9e" }, PaymentSource = "recurring", MerchantInitiated = true, IsSubsequentPayment = true, }); // handle response ``` ```go Go theme={"system"} package main import( "context" "log" "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/components" ) func main() { // Load your private key from disk, env, or your secret manager privateKey := "..." s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithBearerAuth(gr4vy.WithToken(privateKey)), gr4vy.WithMerchantAccountID("default"), ) amount := int64(5000) merchantInitiated := true isSubsequentPayment := true res, err := s.Transactions.Create(context.Background(), &components.TransactionCreate{ Amount: &amount, Currency: "USD", Country: "US", PaymentMethod: &components.PaymentMethodRequest{ Method: "id", Id: "c2495b14-ca95-4199-87c3-27cbfefcbe9e", }, PaymentSource: "recurring", MerchantInitiated: &merchantInitiated, IsSubsequentPayment: &isSubsequentPayment, }) if err != nil { log.Fatal(err) } if res.StatusCode == 201 { // handle response } } ``` ```java Java theme={"system"} import com.gr4vy.Gr4vy; import com.gr4vy.models.components.*; import com.gr4vy.models.operations.*; public class Main { public static void main(String[] args) { // Load your private key from disk, env, or your secret manager String privateKey = "..."; Gr4vy sdk = new Gr4vy.Builder() .id("example") .server(Server.SANDBOX) .bearerAuth(Auth.withToken(privateKey)) .merchantAccountId("default") .build(); TransactionCreate transactionCreate = new TransactionCreate.Builder() .amount(5000) .currency("USD") .country("US") .paymentMethod(new PaymentMethodRequest.Builder() .method("id") .id("c2495b14-ca95-4199-87c3-27cbfefcbe9e") .build()) .paymentSource("recurring") .merchantInitiated(true) .isSubsequentPayment(true) .build(); try { CreateTransactionResponse res = sdk.transactions().create(transactionCreate); if (res.statusCode == 201) { // handle response } } catch (Exception e) { // handle exception } } } ``` ```php PHP theme={"system"} setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $res = $sdk->transactions->create(new Components\TransactionCreate( amount: 5000, currency: 'USD', country: 'US', paymentMethod: new Components\PaymentMethodRequest( method: 'id', id: 'c2495b14-ca95-4199-87c3-27cbfefcbe9e', ), paymentSource: 'recurring', merchantInitiated: true, isSubsequentPayment: true, )); if ($res->statusCode === 201) { // handle response } ``` ```python Python theme={"system"} import gr4vy from gr4vy import auth from gr4vy.models import components # Load your private key from disk, env, or your secret manager private_key = "..." s = gr4vy.Gr4vy( id="example", server=gr4vy.SERVER_SANDBOX, bearer_auth=auth.with_token(private_key), merchant_account_id="default", ) res = s.transactions.create( components.TransactionCreate( amount=5000, currency="USD", country="US", payment_method=components.PaymentMethodRequest( method="id", id="c2495b14-ca95-4199-87c3-27cbfefcbe9e", ), payment_source="recurring", merchant_initiated=True, is_subsequent_payment=True, ), ) if res.status_code == 201: # handle response pass ``` ```ts TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; // Load your private key from disk, env, or your secret manager const privateKey = process.env.GR4VY_PRIVATE_KEY ?? "..."; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", bearerAuth: withToken({ privateKey }), merchantAccountId: "default", }); const res = await gr4vy.transactions.create({ amount: 5000, currency: "USD", country: "US", paymentMethod: { method: "id", id: "c2495b14-ca95-4199-87c3-27cbfefcbe9e", }, paymentSource: "recurring", merchantInitiated: true, isSubsequentPayment: true, }); if (res.statusCode === 201) { // handle response } ``` # Latitude / Gem Source: https://docs.gr4vy.com/connections/payments/latitude Connect to Latitude or Gem to accept buy now, pay later payments in Australia and New Zealand. Latitude and Gem are buy now, pay later (BNPL) payment providers by Latitude Financial. Latitude operates in Australia and Gem operates in New Zealand. Both use a redirect flow where the buyer approves the payment on a hosted page. Each provider has two connector variants: | Provider | Instant Settlement | Deferred Settlement | | ------------- | ------------------- | --------------------- | | Latitude (AU) | `latitude-latitude` | `latitude-latitudeds` | | Gem (NZ) | `gem-gem` | `gem-gemds` | * **Instant Settlement** - Funds are captured immediately during the transaction. * **Deferred Settlement** - Funds are authorized first and captured manually later. ## Setup Contact the Latitude [merchant support](https://resources.latitudefinancial.com/docs/interest-free/operations/merchant-support) team to obtain credentials. ## Credentials When setting up Latitude in the dashboard, configure the following credentials: * **Merchant ID** - The merchant ID obtained from the Latitude Merchant Integration Support team. * **Merchant Secret** - The merchant secret obtained from the Latitude Merchant Integration Support team. ## Features Both connectors support the following features: * **Partial refunds** - Refund a portion of the captured amount * **Refunds** - Refund transactions in full * **Transaction sync** - Automatic synchronization of transaction status updates The **Deferred Settlement** connector additionally supports: * **Delayed capture** - Authorize a payment and capture it at a later time * **Partial capture** - Capture a portion of the authorized amount * **Void** - Cancel an authorized transaction before capture ## Supported countries | Country code | Provider | | ------------ | -------- | | `AU` | Latitude | | `NZ` | Gem | ## Supported currencies | Currency code | Provider | | ------------- | -------- | | `AUD` | Latitude | | `NZD` | Gem | ## Limitations The following features are not supported by this connector: * **Over capture** - Capturing more than the authorized amount is not supported * **Partial authorization** - Accepting a partial amount is not supported * **Payment method tokenization** - Storing payment methods for future use is not supported * **Zero auth** - Zero-dollar verification transactions are not supported * **Settlement reporting** - Automatic settlement reporting is not supported Additional limitations: * **Cart items required** - Cart items must be included with every transaction. * **Transaction refresh** - Only transactions with a `buyer_approval_pending` status can be refreshed through the dashboard. Instant Settlement transactions update to `capture_succeeded`, while Deferred Settlement transactions update to `authorization_succeeded`. ## Required fields Latitude requires the following buyer information with every transaction: * First name * Last name * Address line 1 * City * Postal code * Country ## Integration The default integration for Latitude uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. Use `latitude` or `gem` as the method for Instant Settlement, or `latitudeds` or `gemds` for Deferred Settlement. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "AUD", Country = "AU", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "latitude", Country = "AU", Currency = "AUD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "AUD" country := "AU" method := components.RedirectPaymentMethodCreateMethodLatitude redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("AUD") .country("AU") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.LATITUDE) .country("AU") .currency("AUD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'AUD', country: 'AU', paymentMethod: new RedirectPaymentMethodCreate( method: 'latitude', country: 'AU', currency: 'AUD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="AUD", country="AU", payment_method={ "method": "latitude", "country": "AU", "currency": "AUD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "AUD", country: "AU", paymentMethod: { method: "latitude", country: "AU", currency: "AUD", redirectUrl: "https://example.com/callback", }, }); ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "latitude" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a `capture_succeeded` (Instant Settlement) or `authorization_succeeded` (Deferred Settlement) state. ## Connection options The Latitude connector supports passing a promotion reference when creating a transaction. See the Latitude [purchase request API](https://resources.latitudefinancial.com/docs/interest-free/integration-guides/apis/api-specifications-purchase/) for details. ```csharp C# highlight={6-12} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "AUD", ConnectionOptions = new TransactionCreateConnectionOptions() { LatitudeLatitude = new ConnectionOptionsLatitudeLatitude() { PromotionReference = "2012", }, }, PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "latitude", Country = "AU", Currency = "AUD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go highlight={1-5,12} theme={"system"} connectionOptions := components.TransactionCreateConnectionOptions{ LatitudeLatitude: &components.ConnectionOptionsLatitudeLatitude{ PromotionReference: gr4vy.String("2012"), }, } transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, ConnectionOptions: &connectionOptions, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={5-9} theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("AUD") .connectionOptions(TransactionCreateConnectionOptions.builder() .latitudeLatitude(ConnectionOptionsLatitudeLatitude.builder() .promotionReference("2012") .build()) .build()) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.LATITUDE) .country("AU") .currency("AUD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); ``` ```php PHP highlight={5-9} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'AUD', country: 'AU', connectionOptions: new TransactionCreateConnectionOptions( latitudeLatitude: new ConnectionOptionsLatitudeLatitude( promotionReference: '2012' ) ), paymentMethod: new RedirectPaymentMethodCreate( method: 'latitude', country: 'AU', currency: 'AUD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); ``` ```python Python highlight={5-9} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="AUD", country="AU", connection_options={ "latitude-latitude": { "promotion_reference": "2012", }, }, payment_method={ "method": "latitude", "country": "AU", "currency": "AUD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript highlight={5-9} theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "AUD", country: "AU", connectionOptions: { "latitude-latitude": { promotionReference: "2012", }, }, paymentMethod: { method: "latitude", country: "AU", currency: "AUD", redirectUrl: "https://example.com/callback", }, }); ``` # Laybuy Source: https://docs.gr4vy.com/connections/payments/laybuy-laybuy Connect to Laybuy to accept buy now, pay later payments. Laybuy is a buy now, pay later (BNPL) payment method that allows buyers to split purchases into weekly installments. Laybuy uses a redirect flow where the buyer approves the payment on the Laybuy hosted page. ## Setup Laybuy provides a self-service sign-up for a sandbox account. To sign up, visit the [sign-up page](https://sandbox.signup.laybuy.com/). ## Credentials When setting up Laybuy in the dashboard, configure the following credentials. Both values can be found in the Laybuy Admin Portal under **Account** > **API Details**. * **Merchant ID** - The Laybuy merchant ID. * **API Key** - The Laybuy API key. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Cart items required** - Cart items must be included with every transaction and must match the transaction amount. ## Required fields Laybuy requires the following buyer information with every transaction: * First name * Last name * Email address * Phone number ## Integration The default integration for Laybuy uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "GBP", Country = "GB", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "laybuy", Country = "GB", Currency = "GBP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "GBP" country := "GB" method := components.RedirectPaymentMethodCreateMethodLaybuy redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("GBP") .country("GB") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.LAYBUY) .country("GB") .currency("GBP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'GBP', country: 'GB', paymentMethod: new RedirectPaymentMethodCreate( method: 'laybuy', country: 'GB', currency: 'GBP', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="GBP", country="GB", payment_method={ "method": "laybuy", "country": "GB", "currency": "GBP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "GBP", country: "GB", paymentMethod: { method: "laybuy", country: "GB", currency: "GBP", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "laybuy" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a `capture_succeeded` state. # Mastercard Gateway - Card Source: https://docs.gr4vy.com/connections/payments/mastercard-card Connect to Mastercard Gateway to accept card payments. Mastercard Gateway is a payment processing platform that provides card payment processing solutions for merchants worldwide. It supports advanced features like network tokenization, over-capture, and recurring payments. ## Setup Speak to your Mastercard account manager to obtain your credentials. ## Connector configuration After setting up your Mastercard Gateway connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Mastercard Gateway as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Mastercard Gateway connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials When setting up Mastercard Gateway in the dashboard, configure the following credentials. * **Merchant ID** - The Mastercard merchant ID shared by your account manager. To access the Mastercard Gateway test simulator, add the prefix `TEST` to your merchant ID. * **Password** - The API password created in the Mastercard dashboard (not your dashboard login password). This field is optional and can be left empty when using PKI authentication. * **Sandbox hostname** - A custom hostname for connecting to the test Mastercard gateway. * **Notification secret** - The secret used to sign webhook notifications. Webhooks are not verified if not provided. * **Skip the automatic void of the authorization remainder after a partial capture** - When enabled, prevents automatic voiding of remaining authorization after a partial capture. ### Sandbox hostname By default the connection connects to Mastercard's production hostname, `ap-gateway.mastercard.com`. This domain is used both in the sandbox and production environments, regardless of whether a test merchant ID or regular merchant ID is used. Mastercard also provides a test gateway that can be used in the sandbox by setting the **Sandbox host** to `test-gateway.mastercard.com`. ### Merchant privileges You might need to request the activation of some privileges on your Mastercard account manager depending on your setup. The following features are known to require specific configuration. * 3DS pass-through. * Apple Pay/Google Pay token pass-through. * Over-capture (Excessive capture) * Recurring payments * Webhooks notifications ### Webhooks Besides requesting the merchant privileges, you might need to activate the webhook notification on the Mastercard dashboard. This can be done by clicking the "Webhooks Notifications" option of the "Admin" dropdown and clicking "Enabled" If this option is not shown in the dropdown then you might need to enable the option to that specific operator. This can be done by clicking the "Operators" option of the "Admin" dropdown and editing that operator, where you find the "May Configure email and Webhook Notifications" option. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Automatic void after partial capture** - By default, Mastercard Gateway automatically voids the remaining authorization after a partial capture. You can turn off this behavior in the connector credentials. * **Merchant privileges required** - Some features require specific configuration by your Mastercard account manager, including 3DS pass-through, Apple Pay and Google Pay token pass-through, over-capture, recurring payments, and webhook notifications. ## Integration To accept card payments with Mastercard Gateway, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Mastercard Gateway connection based on your Flow rules or explicit `payment_service_id` parameter. ### Recurring payments In order to facilitate recurring payments, the system requires a scheme transaction ID (trace ID) to be return by Mastercard. This is a feature that needs to be enabled by Mastercard. Once set up, the system receives a `transactionIdentifier` for every Mastercard, Visa, American Express, JCB, and other transactions, as well as an additional `financialNetworkCode` and `financialNetworkDate` for Mastercard payments. The system sends these values to the Mastercard gateway as a `traceId` on subsequent calls to facilitate recurring payments. An error may be raised by the gateway if passing in the `traceId` has not been enabled Please contact Mastercard to have this feature enabled. ### PKI authentication Mastercard offers PKI authentication (mutual SSL) as an alternative to username and password authentication, which allows one platform to authenticate on behalf of many merchants. To set up PKI authentication, please register a certificate with a Mastercard accepted certificate authority and provide the certificate, certificate chain, and the private key. Then register the certificate in the Mastercard dashboard. Once set up, you can leave the password empty when setting up the Mastercard connector in the dashboard, and the connector automatically uses PKI authentication. Mastercard also provides a test PKI gateway that can be used in the sandbox by setting the **Sandbox host** to `pki.mtf.gateway.mastercard.com`. ## Test cards Please use the [test cards](https://test-gateway.mastercard.com/api/documentation/integrationGuidelines/supportedFeatures/testAndGoLive.html) by Mastercard. Please note that these only work for `TEST` merchant IDs. In a non-test environment, when using the test gateways some additional test cards are available. Please work directly with Mastercard to get these test values. # Merchant Warrior - Card Source: https://docs.gr4vy.com/connections/payments/merchantwarrior-card Connect to Merchant Warrior to accept card payments. Merchant Warrior is an Australian payment gateway offering secure card processing and payment solutions for businesses across multiple regions including Australia, New Zealand, and Asia-Pacific markets. ## Setup Registration for Merchant Warrior is available through [their website](https://www.merchantwarrior.com/register). ## Connector configuration After signing up with Merchant Warrior, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Merchant Warrior dashboard: * **Merchant UUID** - Your unique merchant identifier * **API Key** - Your API authentication key * **API Passphrase** - Your API authentication passphrase ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Dynamic statement descriptors** - Statement descriptors passed through the API are not sent to Merchant Warrior. Ensure you have a suitable descriptor configured with Merchant Warrior directly. ## Integration To accept card payments with Merchant Warrior, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Merchant Warrior connection based on your Flow rules or explicit `payment_service_id` parameter. ### Required fields Merchant Warrior requires the following buyer information for all transactions: * First name * Last name * Email address * Billing address (including line 1, city, state, postal code, and country) If values are not provided for email or address fields, Gr4vy automatically populates them with placeholder values (`NA` for address fields and `NA@example.com` for email). However, it's highly recommended to provide actual values when available. ### Recurring payments When initiating a new recurring payment series, the CVV (Card Verification Value) is mandatory. For subsequent transactions within the same recurring series, the CVV is no longer required. # Monato - SPEI Source: https://docs.gr4vy.com/connections/payments/monato-spei Configure SPEI via Monato as a payment method in Gr4vy. Monato supports SPEI as a redirect payment method in Mexico. ## Setup Monato does not provide self-service sandbox sign-up. Contact [Monato](https://www.monato.com/) to create your account and enable SPEI. ## Credentials When you configure Monato SPEI in the dashboard, provide the following credentials. * **Client ID** (`client_id`): Monato client ID. * **Client Secret** (`client_secret`): Monato client secret. * **API Key** (`api_key`): API key for Monato credential token access. * **Approval URL** (`approval_url`, optional): Custom URL for the approval experience when you pass `connection_options`. If you do not provide `approval_url`, Gr4vy uses the hosted approval page. ## Supported countries ## Supported currencies ## Integration Monato SPEI uses a redirect flow. ### Redirect integration Create a transaction with the required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodSpei redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After you create a transaction, the API response includes `payment_method.approval_url` and a `processing` status. ```json theme={"system"} { "type": "transaction", "status": "processing", "payment_method": { "type": "payment-method", "approval_url": "https://..." }, "method": "spei" } ``` Use `payment_method.approval_url` to show the approval UI in a popup, iframe, or redirect. Approval links expire after 7 days. ### Recurring payments Monato SPEI supports payment method tokenization for recurring payments. To set up recurring payments: * Store the payment method during the first SPEI transaction by setting `store: true`. * Create subsequent charges with the stored `payment_method.id` and set `is_subsequent_payment`, `merchant_initiated`, and `payment_source`. Use the following pattern for subsequent recurring charges. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "f758d736-9a81-4bd0-85a9-2d3ee361b863" } ), IsSubsequentPayment = true, MerchantInitiated = true, PaymentSource = "recurring" } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" paymentSource := components.TransactionPaymentSourceRecurring tokenPaymentMethodCreate := components.TokenPaymentMethodCreate{ ID: "f758d736-9a81-4bd0-85a9-2d3ee361b863", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, IsSubsequentPayment: gr4vy.Bool(true), MerchantInitiated: gr4vy.Bool(true), PaymentSource: &paymentSource, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("f758d736-9a81-4bd0-85a9-2d3ee361b863") .build())) .isSubsequentPayment(true) .merchantInitiated(true) .paymentSource(TransactionPaymentSource.RECURRING) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', intent: 'capture', paymentMethod: new TokenPaymentMethodCreate( id: 'f758d736-9a81-4bd0-85a9-2d3ee361b863' ), isSubsequentPayment: true, merchantInitiated: true, paymentSource: 'recurring' ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", intent="capture", payment_method=models.TokenPaymentMethodCreate( id="f758d736-9a81-4bd0-85a9-2d3ee361b863" ), is_subsequent_payment=True, merchant_initiated=True, payment_source="recurring" ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", intent: "capture", paymentMethod: { method: "id", id: "f758d736-9a81-4bd0-85a9-2d3ee361b863" }, isSubsequentPayment: true, merchantInitiated: true, paymentSource: "recurring" }) ``` Because this connector requires webhooks, confirm webhook delivery is active before you rely on recurring status updates. #### Recurring caveats When you implement recurring payments with Monato SPEI, keep these caveats in mind. 1. For one-off transactions, `payment_service_transaction_id` is the CLABE value. 2. For recurring transactions, `payment_service_transaction_id` is the CLABE plus the Gr4vy transaction ID. This combination gives each recurring transaction a unique value, because SPEI does not provide a stable unique transaction ID. 3. Because of this format, Gr4vy can not automatically reconcile recurring webhooks from SPEI. You should proxy `MONEY_IN` events, find the matching transaction in Gr4vy, and then include `transaction_id` in the webhook body you send to Gr4vy. Use the following payload pattern when you proxy `MONEY_IN` for recurring transactions. ```json theme={"system"} { "id_msg": "a7a126e8-fa74-411c-ad2b-b000f277bb0d", "msg_name": "MONEY_IN", "msg_date": "2029-04-02", "body": { "id": "0196da9a-8947-703e-9a3b-bf8c7d9f6059", "beneficiary_account": "646180529600044117", "beneficiary_name": "John Smith", "beneficiary_rfc": "XYZ123456789", "payer_account": "137180210044008609", "payer_name": "Juan Perez", "payer_rfc": "XYZ987654321", "payer_institution": "40002", "amount": "123.00", "transaction_date": "20250402", "tracking_key": "50118609TBRNZ00I07219647", "payment_concept": "Payment for invoice 4567", "numeric_reference": "2504021", "transaction_id": "f0894971-7898-4c70-a10e-a7aa65d515b8" } } ``` ## Custom expiration date By default, Monato SPEI approval links expire after 7 days. You can set a custom expiration per transaction using the top-level `approval_expires_at` field on the transaction request. The value must be a future datetime in ISO 8601 format. Monato SPEI does not pass the expiration date to the PSP. The value is stored in Gr4vy and used to manage the transaction lifecycle on the platform side. ```csharp C# highlight={6} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", ApprovalExpiresAt = DateTimeOffset.Parse("2026-04-10T23:59:59Z"), PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go highlight={6} theme={"system"} transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, ApprovalExpiresAt: gr4vy.Time(time.Date(2026, 4, 10, 23, 59, 59, 0, time.UTC)), } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={5} theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .approvalExpiresAt(OffsetDateTime.parse("2026-04-10T23:59:59Z")) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); ``` ```php PHP highlight={5} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', approvalExpiresAt: new \DateTime('2026-04-10T23:59:59Z'), paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); ``` ```python Python highlight={5} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", approval_expires_at=datetime(2026, 4, 10, 23, 59, 59, tzinfo=timezone.utc), payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript highlight={5} theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", approvalExpiresAt: new Date("2026-04-10T23:59:59Z"), paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` ## Webhooks This connector requires webhooks. Contact Monato support to configure webhook delivery. Monato sends `MONEY_IN` when a payment is captured. ## Testing Contact Monato support and request a SPEI test transaction (`MONEY_IN`) using the CLABE from the payment session flow. # Moneris - Card Source: https://docs.gr4vy.com/connections/payments/moneris-card Connect to Moneris to accept card payments. Moneris is a leading payment processor in Canada, offering comprehensive payment processing solutions for businesses across North America. Moneris provides secure card payment processing for Canadian and US merchants. ## Setup Registration for Moneris is available through [their website](https://api-developer.moneris.com/signin). ## Connector configuration After signing up with Moneris, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Moneris developer portal: * **Merchant ID** - Your unique merchant identifier * **Client ID** - Your API client identifier * **Client Secret Key** - Your API client secret for authentication ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **CVV required for all transactions** - The CVV is mandatory for all transactions, including merchant-initiated transactions (MIT), due to a known issue in the Moneris API. This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with Moneris, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Moneris connection based on your Flow rules or explicit `payment_service_id` parameter. # Multipago Source: https://docs.gr4vy.com/connections/payments/multipago-multipago Connect to Multipago to accept wallet payments in Bolivia. Multipago is a wallet payment provider in Bolivia that supports credit cards, QR payments, and bank transfers. Multipago uses a redirect flow where the buyer completes the payment on the Multipago hosted page. ## Setup Multipago does not provide self-service sign-up. Contact the [Multipago support team](mailto:soporte@multipago.com) to create an account. ## Credentials When setting up Multipago in the dashboard, configure the following credentials: * **Provider** - The merchant account ID, formatted as a short human-readable string. * **UID** - The account key, formatted as a random string. Contact your Multipago representative for these details. ## Capabilities ## Supported countries ## Supported currencies ## Required fields Multipago requires the following buyer information with every transaction: * First name * Last name * Email address * Phone number * Tax ID ## Webhooks Multipago requires webhook setup to receive transaction status updates. Contact Multipago to configure the webhook URL for your account. ## Integration The default integration for Multipago uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "BOB", Country = "BO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "multipago", Country = "BO", Currency = "BOB", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "BOB" country := "BO" method := components.RedirectPaymentMethodCreateMethodMultipago redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("BOB") .country("BO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.MULTIPAGO) .country("BO") .currency("BOB") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'BOB', country: 'BO', paymentMethod: new RedirectPaymentMethodCreate( method: 'multipago', country: 'BO', currency: 'BOB', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="BOB", country="BO", payment_method={ "method": "multipago", "country": "BO", "currency": "BOB", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "BOB", country: "BO", paymentMethod: { method: "multipago", country: "BO", currency: "BOB", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "multipago" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer completes the payment, the transaction progresses to a `capture_succeeded` state. # NMI - Card Source: https://docs.gr4vy.com/connections/payments/nmi-card Connect to NMI to accept card payments. NMI (Network Merchants Inc.) is a payment gateway provider offering secure card processing solutions for merchants worldwide. NMI provides flexible payment processing with extensive integration options and support for multiple payment types. ## Setup Before you configure the connector, sign up for an NMI test account. NMI offers two account types with different sign-up processes - see [Test accounts](#test-accounts) for details on each and how to sign up. ## Connector configuration After signing up with NMI, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your NMI administrator portal: * **API Key** - Your NMI security key, found in the NMI administrator portal under **Options** → **Settings** → **Security keys** * **Use the dedicated NMI Sandbox endpoint (sandbox.nmi.com)** - Turn this on if the preceding API Key is a security key from a self-service Sandbox account. Leave it off (the default) if the API Key is from a Standard Test Merchant Account. Turning this on routes the connection to `sandbox.nmi.com` instead of NMI's main gateway. Learn more about [NMI test accounts](#test-accounts). NMI Security Key Using the wrong setting for your account type causes NMI to decline every transaction. If your security key is from a Standard Test Merchant Account, leave this toggle off. If it is from a self-service Sandbox account, turn it on. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Open loop requires account feature** - Open-loop recurring payments are not enabled by default. This feature requires your NMI account to have open-loop payments enabled. If your NMI account supports this feature, enable it in the Gr4vy dashboard when configuring your connector credentials. ## Integration To accept card payments with NMI, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured NMI connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing If you test against a self-service Sandbox account (`sandbox.nmi.com`), NMI applies processor-level restrictions that do not apply to a Standard Test Merchant Account. These restrictions come from NMI, not from the Gr4vy connector, but they can look like connector issues if you do not expect them. See [Test accounts](#test-accounts) for background on the difference between the two account types. * **Test cards only** - NMI only accepts a specific set of test card numbers on a Sandbox account. Check the documentation in your NMI Sandbox account for the current list of supported test cards. * **Receipt emails** - Transaction receipt emails can only be delivered to the email address associated with your NMI Sandbox account. Emails addressed to any other recipient are not delivered. * **No custom descriptors** - Custom statement descriptors are not applied to transactions processed through a Sandbox account. These restrictions do not apply to a Standard Test Merchant Account. ## Test accounts NMI offers two kinds of test accounts, and they are not interchangeable: * **Standard Test Merchant Account** - runs on NMI's main gateway at `secure.networkmerchants.com`. An NMI Partner provisions this account for you, so contact your NMI Partner or sales representative to request one. * **Sandbox account** - runs on a dedicated sandbox at `sandbox.nmi.com`. NMI provides self-service sign-up for this account type. To sign up, visit the [sign-up page](https://guide.nmi.com/app/magic-login?mode=signup) and create an account. Each account type has its own security key, and a security key issued for one endpoint does not work on the other. Keep track of which type of account you have. When you configure the connector's credentials in Gr4vy, your account type determines whether you turn on the **Use the dedicated NMI Sandbox endpoint (sandbox.nmi.com)** setting. Turn it on for a Sandbox account API key, and leave it off for a Standard Test Merchant Account API key. Choosing the wrong setting for your account type causes NMI to decline every transaction, so this is the detail to get right when you configure credentials. This setting is unrelated to Gr4vy's production or sandbox environment. Both NMI account types described here are test accounts, regardless of whether this toggle is on or off. The two account types also differ during testing - see [Testing](#testing) for the restrictions that apply to a Sandbox account. # Nuvei Source: https://docs.gr4vy.com/connections/payments/nuvei Connect to Nuvei to accept card payments and local payment methods. Nuvei is a global payment provider that supports cards, local payment methods, and alternative payment options across multiple regions. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------- | ------------------- | --------------------- | ------------------------------------------ | | [Bank](./nuvei-bank) | `US` | `USD` | ACH bank payments via direct bank details. | | [Card](./nuvei-card) | `AD`, `AE`, 82 more | `AED`, `ALL`, 77 more | Card processing via Nuvei. | | [iDEAL](./nuvei-ideal) | `NL` | `EUR` | Bank redirect in the Netherlands. | | [Interac](./nuvei-interac) | `CA` | `CAD` | Bank redirect in Canada. | | [Klarna](./nuvei-klarna) | `AT`, `BE`, 19 more | `CHF`, `CZK`, 7 more | BNPL redirect payments. | | [Przelewy24](./nuvei-p24) | `PL` | `PLN` | Bank redirect in Poland. | | [PSE](./nuvei-pse) | `CO` | `COP`, `USD` | Bank redirect in Colombia. | | [Wero](./nuvei-wero) | `BE`, `DE` | `EUR` | Digital wallet payments. | ## Setup Nuvei do not provide self-service sign-up for a sandbox account. To sign up, please [contact the Nuvei sales team](https://nuvei.com/merchant-sales-inquiries/). ## Credentials When setting up Nuvei in the dashboard, configure the following credentials, which are obtained from Nuvei. * Merchant ID * Client ID * Secret key * Merchant Site ID Most of these can be found by logging into the Nuvei Admin Portal and going to **Settings** -> **Account** Nuvei # Nuvei - Bank Source: https://docs.gr4vy.com/connections/payments/nuvei-bank Configure ACH bank payments via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that offers comprehensive payment processing solutions across multiple payment methods and regions. The Nuvei bank connector enables you to process ACH bank payments by submitting bank account details directly via the API. See [Direct bank payments](/connections/payments/bank) for an overview of the direct integration flow. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure ACH bank payments are enabled as a payment method on your account. Nuvei requires the following fields to be collected during checkout for bank transactions: * First name and last name * Billing country ## Capabilities ## Supported countries ## Supported currencies ## Integration To process a bank payment via Nuvei, submit bank account details directly with `payment_method.method` set to `bank` and `payment_method.scheme` set to `ach`. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateACHBankPaymentMethodCreate( new ACHBankPaymentMethodCreate() { AccountNumber = "1234567890", RoutingNumber = "011000138", AccountType = "checking", AccountHolder = new BankAccountHolder() { FirstName = "John", LastName = "Doe" } } ), Buyer = new GuestBuyer() { BillingDetails = new BillingDetails() { FirstName = "John", LastName = "Doe" } }, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" paymentServiceId := "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" achPaymentMethod := components.ACHBankPaymentMethodCreate{ AccountNumber: "1234567890", RoutingNumber: "011000138", AccountType: components.AccountTypeChecking, AccountHolder: components.BankAccountHolder{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, } paymentMethod := components.CreateTransactionCreatePaymentMethodACHBankPaymentMethodCreate(achPaymentMethod) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Buyer: &components.GuestBuyer{ BillingDetails: &components.BillingDetails{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, }, PaymentServiceID: &paymentServiceId, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(ACHBankPaymentMethodCreate.builder() .accountNumber("1234567890") .routingNumber("011000138") .accountType(AccountType.CHECKING) .accountHolder(BankAccountHolder.builder() .firstName("John") .lastName("Doe") .build()) .build())) .buyer(GuestBuyer.builder() .billingDetails(BillingDetails.builder() .firstName("John") .lastName("Doe") .build()) .build()) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new ACHBankPaymentMethodCreate( accountNumber: '1234567890', routingNumber: '011000138', accountType: 'checking', accountHolder: new BankAccountHolder( firstName: 'John', lastName: 'Doe' ) ), buyer: new GuestBuyer( billingDetails: new BillingDetails( firstName: 'John', lastName: 'Doe' ) ), paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ); $response = $sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "bank", "scheme": "ach", "account_number": "1234567890", "routing_number": "011000138", "account_type": "checking", "account_holder": { "first_name": "John", "last_name": "Doe" } }, buyer={ "billing_details": { "first_name": "John", "last_name": "Doe" } }, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "bank", scheme: "ach", accountNumber: "1234567890", routingNumber: "011000138", accountType: "checking", accountHolder: { firstName: "John", lastName: "Doe" } }, buyer: { billingDetails: { firstName: "John", lastName: "Doe" } }, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); ``` ## Testing Refer to [Nuvei's documentation](https://docs.nuvei.com/) for available test account numbers and ACH test scenarios in the sandbox environment. # Nuvei - Card Source: https://docs.gr4vy.com/connections/payments/nuvei-card Connect to Nuvei to accept credit and debit card payments. Nuvei is a global payment provider that provides comprehensive card processing solutions. The platform supports card payments with advanced features like delayed capture, over-capture, partial refunds, network tokenization, and digital wallet integration across multiple currencies and countries. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After you set up your Nuvei account, configure the following settings in your merchant account so you can use all features: * Enable card payments in your account * Ensure billing country and email address fields are collected during checkout (required by Nuvei) * Configure webhook endpoints for transaction notifications * For Apple Pay and Google Pay, ensure pass-through tokens are enabled on your account * For recurring payments without CVV, contact Nuvei support to enable this feature ### Gated features The following features are supported but may need to be enabled on the Nuvei account: * **Apple Pay and Google Pay pass-through** - The ability for decrypted tokens to be passed through to Nuvei is required * **Recurring payments without CVV** - By default Nuvei does not support a card on file payment with a Nuvei token without a CVV. Contact Nuvei support to enable this feature ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Idempotency** - Nuvei does not support retrying the same transaction to get the original response. * **Co-badged card routing** - Merchant-preferred routing for co-badged cards is not supported. ## Integration To accept card payments with Nuvei, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Nuvei connection based on your Flow rules or explicit `payment_service_id` parameter. ### Recurring payments The Nuvei card connector can operate as either [an open or a closed-loop](../../guides/features/recurring-payments/open-loop.mdx) connector. In a closed-loop configuration Nuvei tokens are used for every transaction, which means it is not possible to process a subsequent payment with another provider. In an open-loop situation card data from the vault is used for every transaction, allowing processing of transactions in a recurring payments with a different payment service for every transaction. By default, the Nuvei connector works in a closed-loop configuration, as Nuvei requires open-loop to be enabled for the account before transactions can be processed that way. Please contact the support team for additional guidance. ## Testing For testing in sandbox environments, you can use standard test card numbers. Nuvei supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4000 0000 0000 0002` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Nuvei testing documentation](https://docs.nuvei.com/documentation/integration/testing/test-credit-debit-cards/) or contact your Nuvei representative. # Nuvei - iDEAL Source: https://docs.gr4vy.com/connections/payments/nuvei-ideal Configure iDEAL via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. iDEAL is a popular online banking payment method in the Netherlands that allows customers to pay directly from their bank account. It is widely used for e-commerce transactions and provides instant payment confirmation. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure iDEAL is enabled as a payment method on your account. Nuvei requires the following fields to be collected during checkout for iDEAL transactions: * First name and last name * Billing country * Email address ## Capabilities ## Supported countries ## Supported currencies ## Integration For iDEAL, the default integration for Nuvei is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "ideal" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Nuvei has [instructions](https://docs.nuvei.com/documentation/europe-guides/ideal/) on how to test iDEAL. # Nuvei - Interac Source: https://docs.gr4vy.com/connections/payments/nuvei-interac Configure Interac via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. Interac is Canada's domestic payment network for bank-account-based payments. Interac via Nuvei lets Canadian buyers pay directly from their bank account through a redirect flow, giving them a familiar local alternative to cards at checkout. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure Interac is enabled as a payment method on your account. Nuvei requires the following fields to be collected during checkout for Interac transactions: * First name and last name * Email address * Mobile phone number * Buyer IP address (must be a Canadian IP address) ## Capabilities ## Supported countries ## Supported currencies ## Integration For Interac, the default integration for Nuvei is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "CAD", Country = "CA", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "interac", Country = "CA", Currency = "CAD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "CAD" country := "CA" method := components.RedirectPaymentMethodCreateMethodInterac redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("CAD") .country("CA") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.INTERAC) .country("CA") .currency("CAD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'CAD', country: 'CA', paymentMethod: new RedirectPaymentMethodCreate( method: 'interac', country: 'CA', currency: 'CAD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="CAD", country="CA", payment_method={ "method": "interac", "country": "CA", "currency": "CAD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "CAD", country: "CA", paymentMethod: { method: "interac", country: "CA", currency: "CAD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "interac" } ``` Redirect the buyer to the `approval_url` so they can authenticate with their bank and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Testing Interac transactions requires a Canadian buyer IP address (`deviceDetails.ipAddress`), so end-to-end testing from outside Canada needs a Canadian network connection. Nuvei has [instructions](https://docs.nuvei.com/documentation/us-and-canada-guides/interac-combined/) on how to test Interac Combined. # Nuvei - Klarna Source: https://docs.gr4vy.com/connections/payments/nuvei-klarna Configure Klarna via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. Klarna is a buy now, pay later (BNPL) payment method that lets buyers pay over time through a redirect approval flow. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, ask Nuvei to complete the following Klarna-specific account configuration: 1. Enable Klarna as a payment method on your merchant account. 2. Enable sale mode for all Klarna transactions on your merchant account. Nuvei defaults Klarna to auth-settle mode, and Gr4vy supports only sale mode. ## Capabilities ## Supported countries ## Supported currencies ## Integration For Klarna, the default integration for Nuvei is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "GBP", Country = "GB", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "klarna", Country = "GB", Currency = "GBP", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "GBP" country := "GB" method := components.RedirectPaymentMethodCreateMethodKlarna redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("GBP") .country("GB") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KLARNA) .country("GB") .currency("GBP") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'GBP', country: 'GB', paymentMethod: new RedirectPaymentMethodCreate( method: 'klarna', country: 'GB', currency: 'GBP', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="GBP", country="GB", payment_method={ "method": "klarna", "country": "GB", "currency": "GBP", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "GBP", country: "GB", paymentMethod: { method: "klarna", country: "GB", currency: "GBP", redirectUrl: "https://example.com/callback", }, }); ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "klarna" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Required fields Nuvei requires the following fields to be collected during checkout for Klarna transactions: * First name and last name * Billing country * Email address # Nuvei - Przelewy24 Source: https://docs.gr4vy.com/connections/payments/nuvei-p24 Configure Przelewy24 via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. Przelewy24 (P24) is a popular online payment method in Poland that allows customers to pay using various Polish payment options including bank transfers and online banking. It is widely used for e-commerce transactions in Poland. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure Przelewy24 is enabled as a payment method on your account. Nuvei requires the following fields to be collected during checkout for Przelewy24 transactions: * First name and last name * Billing country * Email address ## Capabilities ## Supported countries ## Supported currencies ## Integration For Przelewy24, the default integration for Nuvei is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "PLN", Country = "PL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "p24", Country = "PL", Currency = "PLN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "PLN" country := "PL" method := components.RedirectPaymentMethodCreateMethodP24 redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("PLN") .country("PL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.P24) .country("PL") .currency("PLN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'PLN', country: 'PL', paymentMethod: new RedirectPaymentMethodCreate( method: 'p24', country: 'PL', currency: 'PLN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="PLN", country="PL", payment_method={ "method": "p24", "country": "PL", "currency": "PLN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "PLN", country: "PL", paymentMethod: { method: "p24", country: "PL", currency: "PLN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "p24" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Nuvei has [instructions](https://docs.nuvei.com/documentation/europe-guides/przelewy24/) on how to test Przelewy24. # Nuvei - PSE Source: https://docs.gr4vy.com/connections/payments/nuvei-pse Configure PSE via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. PSE is a popular online payment method in Colombia that allows customers to pay directly from their bank account using the Colombian banking system. It is widely used for e-commerce transactions in Colombia. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure PSE is enabled as a payment method on your account. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PSE, the default integration for Nuvei is through a redirect to a hosted payments page. The PSE connection via Nuvei requires a few fields in the transaction request: * `buyer.billing_details.first_name` and `buyer.billing_details.last_name` - Customer name * `buyer.billing_details.email_address` - Customer's email * `connection_options.nuvei-pse.userType` - Customer type ("N" for personal, "J" for a legal entity) * `connection_options.nuvei-pse.userFisNumber` - Customer's document type * `connection_options.nuvei-pse.fiscalNumber` - Customer's document number * `connection_options.nuvei-pse.bankCode` - The bank code of the selected bank Start by creating a new transaction with the required fields: ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 4000, Currency = "COP", Country = "CO", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "pse", Country = "CO", Currency = "COP", RedirectUrl = "https://example.com/callback", } ), Buyer = new TransactionCreateBuyer() { BillingDetails = new BillingDetails() { FirstName = "John", LastName = "Doe", EmailAddress = "john.doe@example.com" } }, ConnectionOptions = new Dictionary() { ["nuvei-pse"] = new Dictionary() { ["userType"] = "N", ["userFisNumber"] = "CC", ["fiscalNumber"] = "1148217216", ["bankCode"] = "1022" } } } ); ``` ```go Go theme={"system"} amount := int64(4000) currency := "COP" country := "CO" method := components.RedirectPaymentMethodCreateMethodPse redirectUrl := "https://example.com/callback" firstName := "John" lastName := "Doe" emailAddress := "john.doe@example.com" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, Buyer: &components.TransactionCreateBuyer{ BillingDetails: &components.BillingDetails{ FirstName: &firstName, LastName: &lastName, EmailAddress: &emailAddress, }, }, ConnectionOptions: map[string]any{ "nuvei-pse": map[string]string{ "userType": "N", "userFisNumber": "CC", "fiscalNumber": "1148217216", "bankCode": "1022", }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} Map pseOptions = new HashMap<>(); pseOptions.put("userType", "N"); pseOptions.put("userFisNumber", "CC"); pseOptions.put("fiscalNumber", "1148217216"); pseOptions.put("bankCode", "1022"); Map connectionOptions = new HashMap<>(); connectionOptions.put("nuvei-pse", pseOptions); CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(4000L) .currency("COP") .country("CO") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PSE) .country("CO") .currency("COP") .redirectUrl("https://example.com/callback") .build())) .buyer(TransactionCreateBuyer.builder() .billingDetails(BillingDetails.builder() .firstName("John") .lastName("Doe") .emailAddress("john.doe@example.com") .build()) .build()) .connectionOptions(connectionOptions) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 4000, currency: 'COP', country: 'CO', paymentMethod: new RedirectPaymentMethodCreate( method: 'pse', country: 'CO', currency: 'COP', redirectUrl: 'https://example.com/callback' ), buyer: new TransactionCreateBuyer( billingDetails: new BillingDetails( firstName: 'John', lastName: 'Doe', emailAddress: 'john.doe@example.com' ) ), connectionOptions: [ 'nuvei-pse' => [ 'userType' => 'N', 'userFisNumber' => 'CC', 'fiscalNumber' => '1148217216', 'bankCode' => '1022' ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=4000, currency="COP", country="CO", payment_method={ "method": "pse", "country": "CO", "currency": "COP", "redirect_url": "https://example.com/callback", }, buyer={ "billing_details": { "first_name": "John", "last_name": "Doe", "email_address": "john.doe@example.com" } }, connection_options={ "nuvei-pse": { "userType": "N", "userFisNumber": "CC", "fiscalNumber": "1148217216", "bankCode": "1022" } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 4000, currency: "COP", country: "CO", paymentMethod: { method: "pse", country: "CO", currency: "COP", redirectUrl: "https://example.com/callback" }, buyer: { billingDetails: { firstName: "John", lastName: "Doe", emailAddress: "john.doe@example.com" } }, connectionOptions: { "nuvei-pse": { userType: "N", userFisNumber: "CC", fiscalNumber: "1148217216", bankCode: "1022" } } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "pse" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing It is recommended to use `bankCode` 1022 for testing. Nuvei has [instructions](https://docs.nuvei.com/documentation/latin-america-guides/pse/) on how to test PSE. # Nuvei - Wero Source: https://docs.gr4vy.com/connections/payments/nuvei-wero Configure Wero via Nuvei as a payment method in Gr4vy. Nuvei is a global payment provider that provides comprehensive payment processing solutions across multiple payment methods and regions. Wero is a digital wallet payment method available in Belgium and Germany that allows customers to make instant payments using their Wero account. It provides a fast and secure checkout experience for online purchases. ## Setup Please follow the [common Nuvei instructions](./nuvei) to get set up with Nuvei. After setting up your Nuvei account, make sure Wero is enabled as a payment method on your account. Nuvei requires the following fields to be collected during checkout for Wero transactions: * First name and last name * Billing country * Email address ## Capabilities ## Supported countries ## Supported currencies ## Integration For Wero, the default integration for Nuvei is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "wero", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" method := components.RedirectPaymentMethodCreateMethodWero redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.WERO) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', paymentMethod: new RedirectPaymentMethodCreate( method: 'wero', country: 'DE', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", payment_method={ "method": "wero", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", paymentMethod: { method: "wero", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/nuvei/apm.html?token=..." }, "method": "wero" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Testing Wero transactions in the Nuvei sandbox requires using the **Wero Simulator**. 1. **Initiate a Transaction:** Start a Wero payment in your checkout using the Nuvei sandbox credentials. 2. **Locate the Short Code:** On the Wero checkout page (or in the redirection), identify the **10-character Short Code** (for example, `536-6CRN-CBT`). * *Note:* You do not need to decode the full QR string; the simulator requires the short text code. 3. **Access the Simulator:** Open the [Wero Example Consumer PSP portal](https://example-consumer-psps.int.epi.engineering/) for the integration environment. 4. **Create a Test Consumer:** * In the simulator, go to **Quick Tools** > **Local Profiles**. * Create a new consumer or select an existing one. * Ensure the consumer has a linked **Account** (Payment Mean). If not, add one (select **SCT Inst** and any country/bank). 5. **Approve Payment:** * Click on the **Consents** tab for your consumer. * Click **Give Consent**. * Enter the **Short Code** you retrieved in Step 2. * Confirm the transaction. Your Nuvei Wero transaction should now be approved and automatically complete. # Connections Source: https://docs.gr4vy.com/connections/payments/overview Connect to payment processors, payment methods, anti-fraud services, and digital wallets. Connect to payment processors, payment methods, anti-fraud services, and digital wallets all from one platform. Gr4vy acts as your integration layer, handling the technical complexity while you maintain direct relationships with your providers. Integrate with payment service providers (PSPs) and gateways that support multiple payment methods. One integration, many options. Connect to card processors to accept credit and debit cards globally. Choose from multiple providers and route transactions intelligently. Accept ACH, SEPA, BACS, regional bank payments, buy now pay later, wallets, and cash vouchers from customers worldwide. Integrate Apple Pay, Google Pay, and Click to Pay for a seamless, secure checkout experience on web and mobile. Add fraud detection and prevention to your payments with industry-leading anti-fraud services. Find which connectors and payment methods are available in your target markets and currencies. Explore the card schemes and networks supported by Gr4vy, from Visa and Mastercard to regional schemes. ## How it works As the account holder, you manage: * **Your accounts** with each provider * **Your contracts and fees** directly with the provider * **Your credentials** securely in the Gr4vy dashboard Gr4vy manages: * The technical integration with each provider * Credential encryption and secure storage * Webhook handling and synchronization * Unified API and dashboard experience For provider-specific questions about contracts, fees, or payouts, contact your provider's support team directly. # OXXO Source: https://docs.gr4vy.com/connections/payments/oxxo-oxxo Connect to OXXO to accept cash payments at convenience stores in Mexico. OXXO is a cash payment method in Mexico that allows buyers to pay at physical OXXO convenience stores using a unique reference code. Due to being a physical payment method, there may be a delay in processing the payment. ## Setup To create an OXXO account, [request credentials](https://developers.digitalfemsa.io/docs/welcome). ## Credentials When setting up OXXO in the dashboard, configure the following credentials: * **Private key** - The private key from OXXO. * **Child company ID** (optional) - The child company ID if applicable. * **Webhook public key** (optional) - The public key used to verify webhook signatures. * **Approval URL** (optional) - A custom frontend URL for rendering your own barcode page. See [Custom voucher page](#custom-voucher-page) below. * **Company name** (optional) - The company name displayed on the voucher. * **RFC** (optional) - The RFC (tax ID) displayed on the voucher. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Cart items required** - Cart items must be included with every transaction and must match the transaction amount. If they do not match, a single cart item for the correct amount replaces the original items. ## Integration The default integration for OXXO uses a hosted payment page where the charge is created once the buyer accepts. The payment reference expires after 7 days. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodOxxo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the status is set to `processing`. The payment reference expires after 7 days. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "oxxo" } ``` Redirect the buyer to the `approval_url` where they receive the OXXO payment reference. Once the buyer pays at an OXXO store and the payment is confirmed through a webhook, the transaction progresses to a `capture_succeeded` state. ### Custom voucher page By default, OXXO delays the charge until the buyer accepts on the hosted page. To charge upfront and render your own barcode page, set a custom approval URL either at the connection level (in the connector credentials) or per transaction using connection options. When a custom approval URL is set, the OXXO reference is appended as a query parameter, for example: `https://merchant.com/voucher?reference=123456`. ```csharp C# highlight={6-12} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", ConnectionOptions = new TransactionCreateConnectionOptions() { OxxoOxxo = new ConnectionOptionsOxxoOxxo() { ApprovalUrl = "https://merchant.com/voucher", }, }, PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go highlight={7-11,23} theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodOxxo redirectUrl := "https://example.com/callback" connectionOptions := components.TransactionCreateConnectionOptions{ OxxoOxxo: &components.ConnectionOptionsOxxoOxxo{ ApprovalUrl: gr4vy.String("https://merchant.com/voucher"), }, } redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, ConnectionOptions: &connectionOptions, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={5-9} theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .connectionOptions(TransactionCreateConnectionOptions.builder() .oxxoOxxo(ConnectionOptionsOxxoOxxo.builder() .approvalUrl("https://merchant.com/voucher") .build()) .build()) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); ``` ```php PHP highlight={5-9} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', connectionOptions: new TransactionCreateConnectionOptions( oxxoOxxo: new ConnectionOptionsOxxoOxxo( approvalUrl: 'https://merchant.com/voucher' ) ), paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); ``` ```python Python highlight={5-9} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", connection_options={ "oxxo-oxxo": { "approval_url": "https://merchant.com/voucher", }, }, payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript highlight={5-9} theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "MXN", country: "MX", connectionOptions: { "oxxo-oxxo": { approvalUrl: "https://merchant.com/voucher", }, }, paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` ### Required fields OXXO requires the following buyer information with every transaction: * First name * Last name * Email address * Phone number ### Custom expiration date By default, OXXO payment references expire after 7 days. You can override this per transaction using the top-level `approval_expires_at` field on the transaction request. The value must be a future datetime in ISO 8601 format and must not exceed the connector's maximum allowed expiration window. ```csharp C# highlight={6} theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", ApprovalExpiresAt = DateTimeOffset.Parse("2026-04-10T23:59:59Z"), PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go highlight={6} theme={"system"} transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, ApprovalExpiresAt: gr4vy.Time(time.Date(2026, 4, 10, 23, 59, 59, 0, time.UTC)), } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java highlight={5} theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .approvalExpiresAt(OffsetDateTime.parse("2026-04-10T23:59:59Z")) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); ``` ```php PHP highlight={5} theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', approvalExpiresAt: new \DateTime('2026-04-10T23:59:59Z'), paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); ``` ```python Python highlight={5} theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", approval_expires_at=datetime(2026, 4, 10, 23, 59, 59, tzinfo=timezone.utc), payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript highlight={5} theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "MXN", country: "MX", approvalExpiresAt: new Date("2026-04-10T23:59:59Z"), paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` ### Webhooks OXXO requires webhook setup to receive payment confirmations. Configure the webhook public key in the connector credentials to verify incoming webhook signatures. # PayPal Source: https://docs.gr4vy.com/connections/payments/paypal Connect to PayPal to accept PayPal, PayPal Pay Later, and card payments. PayPal is a digital wallet that enables buyers to pay using their PayPal balance, bank accounts, or cards. PayPal also offers card acquiring, which processes credit and debit card payments directly. ## Supported payment methods | Method | Countries | Currencies | Notes | | ------------------------------------------- | -------------------- | --------------------- | ------------------------------------------------------------ | | [PayPal](./paypal-paypal) | `AD`, `AE`, 166 more | `AUD`, `BRL`, 24 more | Buyer pays with PayPal balance, bank, or card. | | [PayPal Pay Later](./paypal-paypalpaylater) | `AD`, `AE`, 166 more | `AUD`, `BRL`, 24 more | Pay Later availability depends on buyer eligibility. | | [PayPal (card)](./paypal-card) | `AD`, `AE`, 166 more | `AUD`, `BRL`, 24 more | Card acquiring through PPCP, with no PayPal wallet redirect. | ## Setup PayPal provides a self-service sign-up for a sandbox account. To sign up for an account visit the [sign-up page](https://www.paypal.com/webapps/mpp/account-selection) and fill in the details, ensuring to choose `Business Account` when prompted. ## Credentials When setting up PayPal in the dashboard, configure the following credentials, which are obtained from PayPal: * **Client ID**: Find this in the [PayPal Developer Portal](https://developer.paypal.com) under **Apps & Credentials** -> **REST API Apps** -> **Your App**. * **Client secret**: Find this in the [PayPal Developer Portal](https://developer.paypal.com) under **Apps & Credentials** -> **REST API Apps** -> **Your App**. * **Webhook ID**: Create a webhook in the [PayPal Merchant Dashboard](https://www.paypal.com/signin) using the URL shown after you set up the connector. PayPal returns a webhook ID used to verify incoming webhook authenticity. * **BN code**: Optional field that identifies the integration partner to PayPal. Use your own value if you are already an integration partner. * **Merchant ID**: Find this in the [PayPal Merchant Dashboard](https://www.paypal.com/signin) under **Account settings** -> **Business Information**. # PayPal - Card Source: https://docs.gr4vy.com/connections/payments/paypal-card Connect to PayPal to accept credit and debit card payments. PayPal Complete Payments (PPCP) is PayPal's card acquiring product. It processes credit and debit card payments directly, without sending the buyer through the PayPal wallet flow, which lets you use PayPal as your card acquirer. This connector is separate from the [PayPal](./paypal-paypal) and [PayPal Pay Later](./paypal-paypalpaylater) connectors, and can run alongside them using the same PayPal credentials. ## Setup Follow the [PayPal setup instructions](./paypal) before configuring PayPal card payments. Your PayPal account needs to be enabled for PPCP card processing. Contact PayPal to confirm your account is enabled for **Advanced Credit and Debit Card Payments** before configuring the connector. ## Connector configuration After setting up your PayPal card connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure PayPal card as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the PayPal card connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Stored cards Cards can be stored with PayPal and charged again for recurring, installment, and card-on-file payments. Gr4vy stores the card in PayPal's vault and reuses the resulting vault identifier on subsequent transactions. For merchant-initiated transactions, Gr4vy passes the scheme transaction identifier from the original payment to PayPal, so the payment is correctly identified as a subsequent transaction in a stored credential series. ## 3-D Secure This connector supports hosted 3-D Secure. When authentication is required, the buyer is sent to PayPal's hosted challenge in a popup window and returned to your checkout once authentication completes. Externally authenticated 3DS data is not passed through to PayPal, so 3DS performed by your own MPI cannot be forwarded on the transaction. ## Limitations The following features are not supported by this connector: * **Direct capture** - Transactions are authorized and captured as two separate steps; a combined authorization and capture is not supported * **Zero authorization** - Verifying a card without charging it is not supported * **3-D Secure pass-through** - Externally authenticated 3DS data cannot be forwarded to PayPal * **Incremental and decremental authorization** - Adjusting an authorized amount is not supported * **Partial authorization** - Authorizing less than the requested amount is not supported * **Multi-capture and over-capture** - Each authorization supports a single capture, up to the authorized amount * **Deep link** - Deep link generation for redirects is not supported ## Integration To accept card payments with PayPal, you need to use one of Gr4vy's client-side integration methods. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms After collecting the card details through one of these methods, the payment is processed through your configured PayPal card connection. Apple Pay and Google Pay are also supported, and network tokenization is enabled by default. ## Testing For testing in sandbox environments, use the test card numbers provided in your PayPal sandbox account. PayPal generates test cards alongside your sandbox business account in the [PayPal Developer Portal](https://developer.paypal.com) under **Testing Tools** -> **Card Testing**. For more test scenarios, refer to the [PayPal card testing documentation](https://developer.paypal.com/tools/sandbox/card-testing/). # PayPal Source: https://docs.gr4vy.com/connections/payments/paypal-paypal Configure PayPal as a payment method in Gr4vy. PayPal is a digital wallet that enables buyers to pay using their PayPal balance, bank accounts, or cards. It provides a trusted payment experience with buyer protection and is widely recognized by consumers worldwide. ## Setup Follow the [PayPal setup instructions](./paypal) before configuring PayPal payments. ### Vaulting To allow customers to tokenize their PayPal account for future payments, you need to contact PayPal and request that your account be enabled for **Vault**. Once Vault has been enabled on your PayPal merchant account, you can toggle the tokenization feature on within the PayPal connector settings in the dashboard. PayPal Payment Tokenization Toggle ### Ingest billing and shipping details By default, billing, and shipping details received from PayPal are not imported. To enable this feature, head over to **Connections** → **Configured** and select your PayPal connector. Next, go to **Credentials** and toggle **Import billing details** and/or **Import shipping details**. When **Import billing details** is enabled, any of the user's name, email address, and billing address are automatically imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. When **Import shipping details** is enabled, the user's shipping address is automatically **requested** and imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. The ingestion of billing and shipping details is not available for tokenized payments. ### Server-side shipping callbacks When **Import shipping details** is enabled, you can configure PayPal to call your server whenever the buyer changes their shipping address or selects a different shipping option during checkout. This lets you return updated shipping costs and available options in real time. To enable this, pass `order_update_callback_config` in `connection_options["paypal-paypal"]` when creating a transaction: | Field | Description | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `callback_url` | The URL PayPal calls when the buyer updates their shipping details. | | `callback_events` | Array of events to subscribe to. `"SHIPPING_ADDRESS"` fires when the buyer changes their shipping address; `"SHIPPING_OPTIONS"` fires when they change their selected shipping option. | When `order_update_callback_config` is set and shipping ingestion is enabled, Gr4vy sets the PayPal `shipping_preference` to `GET_FROM_FILE` so the buyer's shipping details flow through your callback endpoint rather than being provided upfront. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypal", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), ConnectionOptions = new Dictionary() { ["paypal-paypal"] = new Dictionary() { ["order_update_callback_config"] = new Dictionary() { ["callback_url"] = "https://example.com/shipping-callback", ["callback_events"] = new List { "SHIPPING_ADDRESS", "SHIPPING_OPTIONS" }, } } } } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodPaypal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, ConnectionOptions: map[string]interface{}{ "paypal-paypal": map[string]interface{}{ "order_update_callback_config": map[string]interface{}{ "callback_url": "https://example.com/shipping-callback", "callback_events": []string{"SHIPPING_ADDRESS", "SHIPPING_OPTIONS"}, }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPAL) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .connectionOptions(Map.of( "paypal-paypal", Map.of( "order_update_callback_config", Map.of( "callback_url", "https://example.com/shipping-callback", "callback_events", List.of("SHIPPING_ADDRESS", "SHIPPING_OPTIONS") ) ) )) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypal', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ), connectionOptions: [ 'paypal-paypal' => [ 'order_update_callback_config' => [ 'callback_url' => 'https://example.com/shipping-callback', 'callback_events' => ['SHIPPING_ADDRESS', 'SHIPPING_OPTIONS'], ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "paypal-paypal": { "order_update_callback_config": { "callback_url": "https://example.com/shipping-callback", "callback_events": ["SHIPPING_ADDRESS", "SHIPPING_OPTIONS"], } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" }, connectionOptions: { "paypal-paypal": { order_update_callback_config: { callback_url: "https://example.com/shipping-callback", callback_events: ["SHIPPING_ADDRESS", "SHIPPING_OPTIONS"], } } } }) ``` ### Checkout experience You can customize the PayPal Checkout page by passing any of the following fields in `connection_options["paypal-paypal"]` when creating a transaction. | Field | Description | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `user_action` | Controls the label on the PayPal Checkout button. `"PAY_NOW"` (default) shows an immediate pay button; `"CONTINUE"` shows a continue button for deferred-payment flows. | | `shipping_preference` | Controls how the shipping address is sourced during checkout. `"NO_SHIPPING"` hides the shipping address fields; `"GET_FROM_FILE"` lets the buyer provide or change their address during checkout; `"SET_PROVIDED_ADDRESS"` pre-fills the address you supplied and prevents the buyer from changing it. When omitted, Gr4vy determines this value automatically (see the note below). | | `brand_name` | The merchant brand name displayed on the PayPal Checkout page. Maximum 127 characters. | | `landing_page` | The page shown to the buyer when they arrive at PayPal. `"LOGIN"` opens the PayPal login page; `"GUEST_CHECKOUT"` opens the guest checkout page; `"NO_PREFERENCE"` lets PayPal decide. | | `locale` | A BCP 47 locale tag used to localize the PayPal Checkout page, for example `"en-US"` or `"fr-FR"`. | `"GUEST_CHECKOUT"` for `landing_page` only takes effect if **PayPal account optional** is enabled in your PayPal merchant account settings. If the setting is not enabled, PayPal falls back to showing the login page regardless. `locale` is a hint to PayPal and may not always be honored. PayPal also determines locale from the buyer's browser cookies and the configuration of its own SDK, so the effective locale can differ from the value you provide. ```csharp C# theme={"system"} ConnectionOptions = new Dictionary() { ["paypal-paypal"] = new Dictionary() { ["user_action"] = "PAY_NOW", ["shipping_preference"] = "GET_FROM_FILE", ["brand_name"] = "Acme Store", ["landing_page"] = "LOGIN", ["locale"] = "en-US", } } ``` ```go Go theme={"system"} ConnectionOptions: map[string]interface{}{ "paypal-paypal": map[string]interface{}{ "user_action": "PAY_NOW", "shipping_preference": "GET_FROM_FILE", "brand_name": "Acme Store", "landing_page": "LOGIN", "locale": "en-US", }, }, ``` ```java Java theme={"system"} .connectionOptions(Map.of( "paypal-paypal", Map.of( "user_action", "PAY_NOW", "shipping_preference", "GET_FROM_FILE", "brand_name", "Acme Store", "landing_page", "LOGIN", "locale", "en-US" ) )) ``` ```php PHP theme={"system"} connectionOptions: [ 'paypal-paypal' => [ 'user_action' => 'PAY_NOW', 'shipping_preference' => 'GET_FROM_FILE', 'brand_name' => 'Acme Store', 'landing_page' => 'LOGIN', 'locale' => 'en-US', ] ] ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "paypal-paypal": { "user_action": "PAY_NOW", "shipping_preference": "GET_FROM_FILE", "brand_name": "Acme Store", "landing_page": "LOGIN", "locale": "en-US", } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "https://example.com/callback", }, connectionOptions: { "paypal-paypal": { user_action: "PAY_NOW", shipping_preference: "GET_FROM_FILE", brand_name: "Acme Store", landing_page: "LOGIN", locale: "en-US", }, }, }); ``` `shipping_preference` is automatically determined by Gr4vy when not set. It is set to `GET_FROM_FILE` when `order_update_callback_config` is set and shipping ingestion is enabled, `SET_PROVIDED_ADDRESS` when a shipping address is supplied on the transaction, and `NO_SHIPPING` otherwise. Setting `shipping_preference` explicitly overrides this automatic behavior. ### Payment receiving preferences By default, PayPal only settles payments automatically if the payment is in the primary currency of the PayPal merchant account. If you need to accept payments in additional currencies, you need to open a PayPal account balance in each of the currencies you intend to accept. Alternatively, you can configure your PayPal merchant account to automatically convert payments into the primary currency. If you receive a payment in a currency that your PayPal merchant account is not configured to accept, the payment enters a pending state and you need to log in to the PayPal merchant dashboard to trigger settlement, either by opening the required currency balance, or converting the payment into the primary currency of your PayPal account. Payments left in a pending state are eventually reversed by PayPal. ### FraudNet FraudNet is a PayPal-developed JavaScript library that collects browser-based data to help reduce fraud. Upon checkout, the FraudNet library sends data elements to PayPal Risk Services for fraud and risk assessment. When creating transactions, the PayPal FraudNet library must be included on the checkout page for all transactions. When using Embed, the PayPal FraudNet library is included automatically. If you are using the API directly, you need to use the [device fingerprinting library](../../guides/features/anti-fraud/fingerprint) which includes the PayPal FraudNet library. ## Capabilities ## Supported countries ## Supported currencies ## Integration For PayPal, the default integration is through a redirect to PayPal's hosted checkout page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypal", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodPaypal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPAL) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypal', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://www.paypal.com/checkoutnow?token=..." }, "method": "paypal" } ``` Redirect the buyer to the `approval_url` so they can log in to PayPal, review the transaction, and approve the payment. After approval, the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ### Direct integration PayPal provides client SDKs for a direct integration where PayPal's own checkout UI runs on your page or in your app. The two platforms differ in one important way: * **Web** renders PayPal's Smart Button on the page *before* the buyer acts, and the button needs the PayPal `clientId` to load. To get that without creating a transaction on every page load, you **preload** the connection's `clientId`/`merchantId` from a **standalone session**, then create the transaction and PayPal order lazily inside the SDK's `createOrder` callback. * **Mobile** does not need this preload. PayPal's native iOS/Android SDK is launched with an order that already exists, so you create the transaction when the buyer taps and hand the resulting `orderId` to the SDK — there is no button to render up front. Pick your platform below. Both finish with the shared [completion step](#complete-the-transaction). Both platforms below have Gr4vy create the PayPal order for you as part of creating the transaction. If you already run your own PayPal SDK integration and want to keep it, see [Bring your own PayPal integration](#bring-your-own-paypal-integration) instead — you keep control of the order and hand Gr4vy the approved order id at the end. A minimal end-to-end web example is available at [gr4vy/sample-paypal-direct](https://github.com/gr4vy/sample-paypal-direct). It pairs an Express server that proxies the standalone session and creates the transaction through the Gr4vy SDK with a vanilla-JS frontend that renders the PayPal Smart Button and creates the order on click. The Smart Button renders on page load, so you preload the `clientId`/`merchantId` and defer the transaction to `createOrder`. 1. On page load, fetch the standalone session to get the connection's `clientId` and `merchantId`. This requires the `transactions.write` scope, so call it from your server. It creates no transaction and makes no call to PayPal. ```csharp C# theme={"system"} var session = await client.PaymentServices.SessionAsync( paymentServiceId: "", requestBody: new Dictionary() ); // session.ResponseBody contains clientId and merchantId ``` ```go Go theme={"system"} session, err := client.PaymentServices.Session( ctx, "", map[string]any{}, nil, ) // session.ResponseBody contains clientId and merchantId ``` ```java Java theme={"system"} CreatePaymentServiceSessionResponse response = gr4vyClient.paymentServices().session() .paymentServiceId("") .requestBody(java.util.Map.of()) .call(); CreateSession session = response.createSession().orElseThrow(); // session.responseBody() contains clientId and merchantId ``` ```php PHP theme={"system"} $response = self::$sdk->paymentServices->session( paymentServiceId: '', requestBody: [], ); $config = $response->createSession->responseBody; // clientId and merchantId ``` ```python Python theme={"system"} session = client.payment_services.session( payment_service_id="", request_body={}, ) # session.response_body contains clientId and merchantId ``` ```ts TypeScript theme={"system"} const session = await gr4vy.paymentServices.session({}, ""); // session.responseBody contains clientId and merchantId ``` The response body holds just the two IDs. It contains no `orderId`, because no order exists until the buyer clicks. ```json theme={"system"} { "clientId": "Ac3..._8", "merchantId": null } ``` This call is optional. The `clientId` and `merchantId` are static connection values, so if you already have them you can skip the standalone session and pass them straight to the PayPal JS SDK. The session endpoint exists so you don't have to hard-code or separately distribute the connection's credentials to your frontend. 2. Also on page load, initialize the PayPal JS SDK with the `clientId` from the standalone session and render the Smart Button. Set `currency` to the same currency as the order you create in `createOrder` (a mismatch fails the integration), and set `intent` to match the connection's configured intent. The button defers the work to its `createOrder` callback, so the transaction and order are created on click (steps 3 and 4). ```js theme={"system"} // From the standalone session in step 1: const { clientId, merchantId } = standaloneSession; // Load the PayPal SDK with the clientId. Set the intent parameter to match the // transaction intent and the connection's configured intent (authorize or capture). // This example uses capture, matching the transaction and session data below: // // // When merchantId is not null, add it as the merchant-id parameter: // let defaultCompletionUrl = null; paypal.Buttons({ fundingSource: paypal.FUNDING.PAYPAL, createOrder: async function() { // Step 3: your server creates the transaction (needs the private key). const { transactionId, sessionToken } = await createTransaction(); // Step 4: exchange the session token for the orderId and completion URL. const session = await fetchTransactionSession(transactionId, sessionToken); defaultCompletionUrl = session.default_completion_url; return session.session_data.orderId; }, onApprove: function() { // After the buyer approves, navigate to the default_completion_url to // finalize the transaction. That URL returns an HTTP 303 redirect back to // your redirect_url with the transaction result appended. window.location.assign(defaultCompletionUrl); } }).render('#paypal-button-container'); ``` 3. Inside the SDK's `createOrder` callback, create a transaction with the `integration_client` set to `web`. Keep this call server-side. Set the transaction `intent` to match the connection's configured intent. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", IntegrationClient = "web", Intent = "capture", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypal", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "web" intent := components.TransactionIntentCapture method := components.RedirectPaymentMethodCreateMethodPaypal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, Intent: &intent, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .integrationClient("web") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPAL) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', integrationClient: 'web', intent: 'capture', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypal', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", integration_client="web", intent="capture", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", integrationClient: "web", intent: "capture", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` 4. Still inside `createOrder`, use the `session_token` from the transaction response to get the [session data](/reference/transactions/get-transaction-session). This returns the `orderId` and a `default_completion_url`. It is meant to be called from the frontend and is not exposed in the SDKs, so call it with a plain request authenticated by the `session_token`. Return the `orderId` from `createOrder` so the PayPal SDK can open the approval flow. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json theme={"system"} { "session_data": { "intent": "CAPTURE", "orderId": "5O190127JK314159X", "clientId": "Ac3..._8", "currency": "USD", "merchantId": "9X...L", "fundingSource": "paypal" }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/:transaction_id/approval/some-token", "integration_client": "web" } ``` No standalone session is needed: PayPal's native SDK is launched with an order that already exists, so you create the transaction when the buyer taps and pass the resulting `orderId` to the SDK. 1. Create a new transaction with the `integration_client` set to `ios` or `android`. Use your app deep link for `redirect_url` (for example, `yourapp://`). ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypal", Country = "US", Currency = "USD", RedirectUrl = "yourapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodPaypal redirectUrl := "yourapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPAL) .country("US") .currency("USD") .redirectUrl("yourapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypal', country: 'US', currency: 'USD', redirectUrl: 'yourapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", integration_client="ios", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "yourapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", integrationClient: "ios", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "yourapp://callback" } }) ``` 2. Use the `session_token` to get the session data for mobile. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json iOS theme={"system"} { "session_data": { "intent": "capture", "orderId": "5O190127JK314159X", "clientId": "Ac3..._8", "currency": "USD", "merchantId": "9X...L", "fundingSource": "paypal.FUNDING.PAYPAL" }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/:transaction_id/approval/some-token", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "intent": "capture", "orderId": "5O190127JK314159X", "clientId": "Ac3..._8", "currency": "USD", "merchantId": "9X...L", "fundingSource": "paypal.FUNDING.PAYPAL" }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/:transaction_id/approval/some-token", "integration_client": "android" } ``` 3. Initialize the PayPal Mobile SDK. ```swift iOS theme={"system"} let orderId = sessionData.orderId let clientId = sessionData.clientId let defaultCompletionUrl = sessionData.defaultCompletionUrl let config = CoreConfig(clientID: clientId, environment: .sandbox) let checkoutClient = CheckoutNativeClient(config: config) checkoutClient.start(presentingViewController: self, orderID: orderId) { result in switch result { case .success: // After successful approval, call the default_completion_url guard let url = URL(string: defaultCompletionUrl) else { return } URLSession.shared.dataTask(with: url) { data, response, error in // Handle success }.resume() case .failure(let error): // Handle error } } ``` ```kotlin Android theme={"system"} val orderId = sessionData.orderId val clientId = sessionData.clientId val defaultCompletionUrl = sessionData.defaultCompletionUrl val config = CheckoutConfig( application = application, clientId = clientId, environment = Environment.SANDBOX, currencyCode = CurrencyCode.USD, userAction = UserAction.PAY_NOW ) PayPalCheckout.setConfig(config) PayPalCheckout.startCheckout { createOrder -> createOrder.set(orderId) } // In the result callback, call the defaultCompletionUrl val url = URL(defaultCompletionUrl) val connection = url.openConnection() as HttpURLConnection connection.requestMethod = "GET" if (connection.responseCode == HttpURLConnection.HTTP_OK) { // Transaction finalized } ``` #### Complete the transaction After the buyer completes the payment flow, the PayPal SDK provides an `onApprove` callback (Web) or a completion block/callback (Mobile). To finalize the payment, call the tokenized `default_completion_url` from the session response. This URL is safe to call from the client as it contains an embedded token. On Web, navigate the browser to the URL (for example, `window.location.assign(default_completion_url)`) so it follows the HTTP 303 redirect back to your `redirect_url`. On Mobile, send a `GET` request to the URL from your completion callback. ```sh theme={"system"} GET :default_completion_url ``` The system automatically authorizes or captures the transaction once you call the approval endpoint. If `intent=capture`, the system captures the transaction. Please refer to the [PayPal SDK documentation](https://developer.paypal.com/docs/checkout/standard/integrate/) for further guidance. ### Bring your own PayPal integration If you already have a working PayPal SDK integration, you do not have to rebuild it around Gr4vy's session and completion flow. You can keep driving PayPal yourself and involve Gr4vy only at the end, by passing the approved order id when you create the transaction. Compared to the Web and Mobile flows above, the ownership is reversed: | Responsibility | Web / Mobile above | Bring your own | | ------------------------------------------- | ------------------------------------- | ------------------------------------ | | Creates the PayPal order | Gr4vy, while creating the transaction | You, before any Gr4vy call | | Needs the standalone session for `clientId` | Yes | No — you already have your own | | Buyer approval | Driven by the `orderId` Gr4vy returns | Driven entirely by your PayPal SDK | | Finalizing | `GET` the `default_completion_url` | The transaction creation call itself | The flow is: 1. Create a PayPal order — either through your own backend call to PayPal, or through Gr4vy's [order pass-through](#creating-the-order-through-gr4vy) below. 2. Have the buyer approve it with your existing PayPal JS or native SDK integration. 3. Create the Gr4vy transaction with the approved order id in `order_id`. ##### Creating the order through Gr4vy Gr4vy's session endpoint can forward an order straight to PayPal's Orders API, so you can retire your own order-creation endpoint and keep your PayPal credentials in one place. Send `action: "create-order"` with the order body in `payload`: ```sh theme={"system"} POST /payment-service-definitions/paypal-paypal/sessions ``` ```json theme={"system"} { "action": "create-order", "payload": { "intent": "AUTHORIZE", "purchase_units": [ { "amount": { "currency_code": "USD", "value": "12.99" } } ] } } ``` The `payload` is passed to PayPal untouched and PayPal's response is returned unchanged, so anything the [Orders API](https://developer.paypal.com/docs/api/orders/v2/#orders_create) accepts works here without waiting on a Gr4vy release. No transaction is created by this call. ```json theme={"system"} { "id": "5O190127TN364715T", "status": "PAYER_ACTION_REQUIRED", "intent": "AUTHORIZE", "links": [ { "rel": "payer-action", "href": "https://www.paypal.com/checkoutnow?token=...", "method": "GET" } ] } ``` Hand the returned `id` to your PayPal SDK exactly as you would an order created by your own backend. The same endpoint is also available per configured connection at `POST /payment-services/{payment_service_id}/sessions` if you need to target a specific connection rather than the definition. Omitting `action` returns the connection's `clientId` and `merchantId` instead, as used by the Web flow above. An unrecognized `action`, or `create-order` without a `payload`, is rejected. ##### Authorizing the approved order Once the buyer has approved the order, create the transaction with `order_id` in `connection_options["paypal-paypal"]`: | Field | Description | | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `order_id` | The ID of an existing, buyer-approved PayPal order. When set, Gr4vy retrieves this order instead of creating a new one, then authorizes or captures it depending on the transaction's `intent`. | The order must already be approved by the buyer before you create the transaction, and the transaction's `intent` must match the intent the order was created with in PayPal (`authorize` or `capture`) - a mismatch is rejected before any authorization is attempted. Since approval already happened, this skips the `buyer_approval_pending` step - there is no `approval_url` to redirect to, and the transaction creation response returns the authorization or capture result directly. ```csharp C# theme={"system"} ConnectionOptions = new Dictionary() { ["paypal-paypal"] = new Dictionary() { ["order_id"] = "5O190127TN364715T", } } ``` ```go Go theme={"system"} ConnectionOptions: map[string]interface{}{ "paypal-paypal": map[string]interface{}{ "order_id": "5O190127TN364715T", }, }, ``` ```java Java theme={"system"} .connectionOptions(Map.of( "paypal-paypal", Map.of( "order_id", "5O190127TN364715T" ) )) ``` ```php PHP theme={"system"} connectionOptions: [ 'paypal-paypal' => [ 'order_id' => '5O190127TN364715T', ] ] ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", intent="authorize", payment_method={ "method": "paypal", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "paypal-paypal": { "order_id": "5O190127TN364715T", } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "authorize", paymentMethod: { method: "paypal", country: "US", currency: "USD", redirectUrl: "https://example.com/callback", }, connectionOptions: { "paypal-paypal": { order_id: "5O190127TN364715T", }, }, }); ``` ## Testing PayPal provides a sandbox environment for testing transactions. After setting up your sandbox PayPal developer account, you can create test buyer accounts in the [PayPal Developer Dashboard](https://developer.paypal.com/dashboard/accounts). Use these test buyer accounts to log in during the redirect flow and approve test transactions. The sandbox environment simulates the production flow without processing real payments. For detailed testing instructions and test account setup, see the [PayPal Developer documentation](https://developer.paypal.com/api/rest/sandbox/). # PayPal Pay Later Source: https://docs.gr4vy.com/connections/payments/paypal-paypalpaylater Configure PayPal Pay Later as a payment method in Gr4vy. PayPal Pay Later provides installment and deferred payment options for eligible buyers. This buy now, pay later (BNPL) solution allows customers to split purchases into interest-free payments or defer payment, subject to credit approval and eligibility criteria determined by PayPal. Pay Later availability automatically depends on buyer eligibility, which is determined by PayPal based on factors like purchase amount, buyer history, and location. ## Setup Follow the [PayPal setup instructions](./paypal) before configuring PayPal Pay Later. After setting up your PayPal account, Pay Later options are automatically presented to eligible buyers during checkout. No additional configuration is required beyond enabling the payment method in your Gr4vy connection. ## Capabilities ## Integration For PayPal Pay Later, the default integration is through a redirect to PayPal's hosted checkout page where eligible buyers are presented with Pay Later options. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypalpaylater", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodPaypalpaylater redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPALPAYLATER) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypalpaylater', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypalpaylater", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypalpaylater", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://www.paypal.com/checkoutnow?token=..." }, "method": "paypalpaylater" } ``` Redirect the buyer to the `approval_url` where PayPal determines eligibility and presents available Pay Later options. After the buyer reviews terms and approves the payment, they are redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Supported countries ## Testing PayPal provides a sandbox environment for testing Pay Later transactions. After setting up your sandbox PayPal developer account, you can create test buyer accounts in the [PayPal Developer Dashboard](https://developer.paypal.com/dashboard/accounts). Pay Later options in the sandbox simulate the eligibility and approval flow. Note that specific Pay Later products (like Pay in 4 or Pay in 30 days) may vary by test account configuration. For detailed testing instructions and Pay Later-specific sandbox guidelines, see the [PayPal Pay Later documentation](https://developer.paypal.com/docs/checkout/pay-later/integrate/). ## Additional configuration ### Ingest billing and shipping details By default, billing, and shipping details received from PayPal are not imported. To enable this feature, head over to **Connections** → **Configured** and select your PayPal connector. Next, go to **Credentials** and toggle **Import billing details** and/or **Import shipping details**. When **Import billing details** is enabled, any of the user's name, email address, and billing address are automatically imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. When **Import shipping details** is enabled, the user's shipping address is automatically **requested** and imported into your transaction, merging it with any data already present on the transaction. Linked buyers are not updated, but only the snapshot of the buyer on the transaction. The ingestion of billing and shipping details is not available for tokenized payments. ### Server-side shipping callbacks When **Import shipping details** is enabled, you can configure PayPal to call your server whenever the buyer changes their shipping address or selects a different shipping option during checkout. This lets you return updated shipping costs and available options in real time. To enable this, pass `order_update_callback_config` in `connection_options["paypal-paypalpaylater"]` when creating a transaction: | Field | Description | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `callback_url` | The URL PayPal calls when the buyer updates their shipping details. | | `callback_events` | Array of events to subscribe to. `"SHIPPING_ADDRESS"` fires when the buyer changes their shipping address; `"SHIPPING_OPTIONS"` fires when they change their selected shipping option. | ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paypalpaylater", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), ConnectionOptions = new Dictionary() { ["paypal-paypalpaylater"] = new Dictionary() { ["order_update_callback_config"] = new Dictionary() { ["callback_url"] = "https://example.com/shipping-callback", ["callback_events"] = new List { "SHIPPING_ADDRESS", "SHIPPING_OPTIONS" }, } } } } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodPaypalpaylater redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, ConnectionOptions: map[string]interface{}{ "paypal-paypalpaylater": map[string]interface{}{ "order_update_callback_config": map[string]interface{}{ "callback_url": "https://example.com/shipping-callback", "callback_events": []string{"SHIPPING_ADDRESS", "SHIPPING_OPTIONS"}, }, }, }, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYPALPAYLATER) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .connectionOptions(Map.of( "paypal-paypalpaylater", Map.of( "order_update_callback_config", Map.of( "callback_url", "https://example.com/shipping-callback", "callback_events", List.of("SHIPPING_ADDRESS", "SHIPPING_OPTIONS") ) ) )) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'paypalpaylater', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ), connectionOptions: [ 'paypal-paypalpaylater' => [ 'order_update_callback_config' => [ 'callback_url' => 'https://example.com/shipping-callback', 'callback_events' => ['SHIPPING_ADDRESS', 'SHIPPING_OPTIONS'], ] ] ] ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypalpaylater", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "paypal-paypalpaylater": { "order_update_callback_config": { "callback_url": "https://example.com/shipping-callback", "callback_events": ["SHIPPING_ADDRESS", "SHIPPING_OPTIONS"], } } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypalpaylater", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" }, connectionOptions: { "paypal-paypalpaylater": { order_update_callback_config: { callback_url: "https://example.com/shipping-callback", callback_events: ["SHIPPING_ADDRESS", "SHIPPING_OPTIONS"], } } } }) ``` ### Checkout experience You can customize the PayPal Checkout page by passing any of the following fields in `connection_options["paypal-paypalpaylater"]` when creating a transaction. | Field | Description | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `user_action` | Controls the label on the PayPal Checkout button. `"PAY_NOW"` (default) shows an immediate pay button; `"CONTINUE"` shows a continue button for deferred-payment flows. | | `shipping_preference` | Controls how the shipping address is sourced during checkout. `"NO_SHIPPING"` hides the shipping address fields; `"GET_FROM_FILE"` lets the buyer provide or change their address during checkout; `"SET_PROVIDED_ADDRESS"` pre-fills the address you supplied and prevents the buyer from changing it. When omitted, Gr4vy determines this value automatically (see the note below). | | `brand_name` | The merchant brand name displayed on the PayPal Checkout page. Maximum 127 characters. | | `landing_page` | The page shown to the buyer when they arrive at PayPal. `"LOGIN"` opens the PayPal login page; `"GUEST_CHECKOUT"` opens the guest checkout page; `"NO_PREFERENCE"` lets PayPal decide. | | `locale` | A BCP 47 locale tag used to localize the PayPal Checkout page, for example `"en-US"` or `"fr-FR"`. | `"GUEST_CHECKOUT"` for `landing_page` only takes effect if **PayPal account optional** is enabled in your PayPal merchant account settings. If the setting is not enabled, PayPal falls back to showing the login page regardless. `locale` is a hint to PayPal and may not always be honored. PayPal also determines locale from the buyer's browser cookies and the configuration of its own SDK, so the effective locale can differ from the value you provide. ```csharp C# theme={"system"} ConnectionOptions = new Dictionary() { ["paypal-paypalpaylater"] = new Dictionary() { ["user_action"] = "PAY_NOW", ["shipping_preference"] = "GET_FROM_FILE", ["brand_name"] = "Acme Store", ["landing_page"] = "LOGIN", ["locale"] = "en-US", } } ``` ```go Go theme={"system"} ConnectionOptions: map[string]interface{}{ "paypal-paypalpaylater": map[string]interface{}{ "user_action": "PAY_NOW", "shipping_preference": "GET_FROM_FILE", "brand_name": "Acme Store", "landing_page": "LOGIN", "locale": "en-US", }, }, ``` ```java Java theme={"system"} .connectionOptions(Map.of( "paypal-paypalpaylater", Map.of( "user_action", "PAY_NOW", "shipping_preference", "GET_FROM_FILE", "brand_name", "Acme Store", "landing_page", "LOGIN", "locale", "en-US" ) )) ``` ```php PHP theme={"system"} connectionOptions: [ 'paypal-paypalpaylater' => [ 'user_action' => 'PAY_NOW', 'shipping_preference' => 'GET_FROM_FILE', 'brand_name' => 'Acme Store', 'landing_page' => 'LOGIN', 'locale' => 'en-US', ] ] ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "paypalpaylater", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", }, connection_options={ "paypal-paypalpaylater": { "user_action": "PAY_NOW", "shipping_preference": "GET_FROM_FILE", "brand_name": "Acme Store", "landing_page": "LOGIN", "locale": "en-US", } } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "paypalpaylater", country: "US", currency: "USD", redirectUrl: "https://example.com/callback", }, connectionOptions: { "paypal-paypalpaylater": { user_action: "PAY_NOW", shipping_preference: "GET_FROM_FILE", brand_name: "Acme Store", landing_page: "LOGIN", locale: "en-US", }, }, }); ``` `shipping_preference` is automatically determined by Gr4vy when not set. It is set to `GET_FROM_FILE` when `order_update_callback_config` is set and shipping ingestion is enabled, `SET_PROVIDED_ADDRESS` when a shipping address is supplied on the transaction, and `NO_SHIPPING` otherwise. Setting `shipping_preference` explicitly overrides this automatic behavior. ### Payment receiving preferences By default, PayPal only settles payments automatically if the payment is in the primary currency of the PayPal merchant account. If you need to accept payments in additional currencies, you need to open a PayPal account balance in each of the currencies you intend to accept. Alternatively, you can configure your PayPal merchant account to automatically convert payments into the primary currency. If you receive a payment in a currency that your PayPal merchant account is not configured to accept, the payment enters a pending state and you need to log in to the PayPal merchant dashboard to trigger settlement, either by opening the required currency balance, or converting the payment into the primary currency of your PayPal account. Payments left in a pending state are eventually reversed by PayPal. ### FraudNet FraudNet is a PayPal-developed JavaScript library that collects browser-based data to help reduce fraud. Upon checkout, the FraudNet library sends data elements to PayPal Risk Services for fraud and risk assessment. When creating transactions, the PayPal FraudNet library must be included on the checkout page for all transactions. When using Embed, the PayPal FraudNet library is included automatically. If you are using the API directly, you need to use the [device fingerprinting library](../../guides/features/anti-fraud/fingerprint) which includes the PayPal FraudNet library. ## Supported currencies # Paysquad Source: https://docs.gr4vy.com/connections/payments/paysquad-paysquad Connect to Paysquad to accept push payments through the Paysquad hosted page. Paysquad is a push payment method. The buyer is sent to a Paysquad hosted page where they complete the payment from their own account, and Paysquad notifies Gr4vy of the outcome via webhook. Buyers are not redirected back to the `redirect_url` you provided when the transaction was created. ## Setup Paysquad does not provide self-service sign-up. Reach out to [Paysquad](https://paysquad.co) to set up a sandbox and production account. ## Credentials When setting up Paysquad in the dashboard, configure the following credentials. You can request these details from your Paysquad Merchant Portal once you are set up with an account. * **API Key** - Your secret API key used to authenticate requests to the Paysquad API. * **Client ID** - Your merchant client identifier. * **Webhook Secret** (optional) - A shared secret used to validate the signature of webhooks received from Paysquad. See [Webhooks](#webhooks) below. ## Capabilities ## Supported countries ## Supported currencies ## Webhooks Paysquad sends webhook events to notify Gr4vy when a payment succeeds or fails. The webhook endpoint is configured automatically when you set up the connector in the dashboard. To validate the signature of incoming webhooks, set a **Webhook Secret** value on the connector and configure the same value on the Paysquad side. ## Integration Paysquad is a push payment method. Any Paysquad transaction created returns a `transaction` resource with a `status` of `processing` and a `payment_method.approval_url`. Display this approval URL to the buyer in a popup, iframe, or by redirecting to it. Once the buyer completes the payment on the Paysquad hosted page, Paysquad sends a webhook to Gr4vy. The transaction status is then updated and your system is notified via a Gr4vy webhook. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "paysquad", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodPaysquad redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.PAYSQUAD) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', paymentMethod: new RedirectPaymentMethodCreate( method: 'paysquad', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", payment_method={ "method": "paysquad", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "EUR", country: "NL", paymentMethod: { method: "paysquad", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `processing`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "status": "processing", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "paysquad" } ``` Display the `approval_url` to the buyer (in a popup, iframe, or redirect) so they can complete the payment on the Paysquad hosted page. Rely on webhooks to detect the final status of the transaction. # Plaid Source: https://docs.gr4vy.com/connections/payments/plaid-bank Connect to Plaid to accept bank payments. ## Overview Plaid is a financial API platform that enables secure connections to bank accounts and financial institutions. With Plaid integrated into the system, you can accept payments directly from customer bank accounts via ACH, SEPA, BACS, and other payment rails. Plaid's robust identity verification and bank linkage capabilities make it ideal for merchants looking to offer bank account transfers as a payment method while maintaining high security and fraud prevention standards. ## Setup To set up Plaid, you'll need to create a Plaid account: 1. Visit the [Plaid Dashboard](https://dashboard.plaid.com/signin) and sign up for an account 2. Complete the onboarding process and verify your business information 3. Once approved, you'll have access to your API credentials in the Plaid dashboard 4. For testing, Plaid provides a sandbox environment where you can test transactions without using real bank credentials ## Credentials When setting up Plaid in the dashboard, you'll need to configure the following credentials obtained from your Plaid account: * **Client ID** - A unique identifier for your Plaid app. You can find this in the Plaid Dashboard under **Dashboard** -> **Keys** -> **Client ID**. This credential is used to identify your app when making requests to Plaid's API. * **Secret** - A confidential credential used to authenticate API requests from your backend to Plaid. You can find this in the Plaid Dashboard under **Dashboard** -> **Keys** -> **Secret**. This secret should be treated like a password and never exposed in client-side code. The system securely stores this on your behalf. Please note that Plaid provides separate sandbox (for testing) and production (for live transactions) credentials. Ensure you're using the correct set for each environment. ## Supported connectors Once you've linked a customer's bank account through Plaid Link, you need to configure a bank payment connector to process the actual transactions. The system currently supports the following connectors for processing Plaid-linked bank payments: * **Plaid (Transfer)** - Process payments directly through Plaid's Transfer API * **Adyen** - Process ACH, SEPA, and BACS payments through the [Adyen bank connector](/connections/payments/adyen-bank) You'll need to set up at least one of these connectors in the dashboard to complete transactions after a customer has successfully linked their bank account. ### Raw bank details extraction When the target bank payment connector does not support Plaid's native token exchange, the system automatically extracts raw bank details from Plaid and passes them to the connector. Depending on the linked account, the system extracts ACH data (account number and routing number), SEPA data (IBAN), or BACS data (account number and sort code). This allows you to use Plaid for bank account verification while processing payments through connectors that only accept raw bank details. You can also configure the connector to always use raw bank details instead of Plaid processor tokens by enabling the **Force direct bank details** setting on the bank payment connector (for example, [Adyen bank](/connections/payments/adyen-bank)). This skips the Plaid token exchange and saves an API call per payment. If you want to process bank payments without Plaid entirely, see [Direct bank payments](/connections/payments/bank). ## Settings Plaid offers several feature toggles that allow you to control which verification and validation services are used during payment processing. These settings determine what products are included when merchants generate Link tokens, and how the system handles transactions. **One-time verification (initial transaction only):** * **Run Identity if required** * Link token: Adds `identity` to the Plaid Link token `products` when enabled. * Processing: Performed on the initial transaction. If the customer provided their account ID and account holder name, identity fetching is skipped. If that information is missing, the system checks if the item has access to use `identity`. If yes, identity data is fetched from Plaid. If identity is not available for the item and buyer details were not provided, the transaction fails. * **Run Identity Match if available** * Link token: Adds `identity_match` to the Plaid Link token `products` when enabled. * Processing: Performed on the initial transaction. If the item has access to `identity_match` and buyer details were provided in the transaction, the system verifies the provided buyer information (including name, billing details, IP address, and user agent) against the identity data on file and declines if there's a mismatch. If `identity_match` is not enabled for the item, processing continues (this indicates the merchant intentionally made identity matching optional when requesting a Link token). **Per-transaction verification (all transactions including recurring):** * **Run Signal if available** * Link token: Adds `signal` (fraud detection) to the Plaid Link token `products` when enabled. * Processing: Performed on every transaction. At transaction time, if `signal` is available to the item, the system runs the fraud risk check and declines if it fails. Signal is evaluated independently for each transaction regardless of prior results, as the risk profile of each transaction is unique. If Signal is not available, processing continues (this indicates the merchant intentionally made Signal optional when requesting a Link token). * **Run Balance Check if available** * Processing: Performed on every transaction. At transaction time, if `balance` is available to be run on the item, the system verifies that the account has sufficient funds by multiplying the available balance by a risk multiplier (default: 1.5x) and checking if this amount is sufficient to cover the transaction. The transaction declines if the check fails. This multiplier can be adjusted per instance upon request. If balance is not enabled for the item or the merchant, processing continues (this indicates the merchant intentionally made balance checks optional when requesting a Link token). * **Enable Transfer** * When enabled, `transfer` is added to the Plaid Link token `products`, enabling customers to see the Transfer UI flow where they confirm the payment amount within Plaid Link. When turned off, the Transfer UI is not shown, though the Transfer API may still be accessible in your backend if: (1) your Plaid account has Transfer enabled, (2) the linked account type is compatible (checking/savings), (3) the financial institution supports Plaid Transfer, and (4) for OAuth banks, the user granted appropriate payment permissions during authentication. If any of these conditions aren't met, you'll need to use a different `bank` connector. * Signal and balance checks: When using Plaid Transfer as your payment connector, running Signal and Balance Check may be redundant. These verification checks are typically executed as part of the Plaid Transfer transaction call itself. This setting is particularly useful when you're using a different processor (such as Adyen) to handle the actual bank payment processing, where Plaid is primarily used for account linkage and initial verification. **Understanding Plaid Products**: the `products` array controls the Link UI and what data is pre-fetched, but doesn't strictly prevent API access to other products. You may be able to use API endpoints for products not included in the Link token, depending on account compatibility, institution support, and your Plaid account permissions. ### Customize enabled products You maintain full control over these settings. When creating a Plaid session via the API, you can pass custom `products`, `additional_consented_products`, `optional_products`, and other Plaid Link parameters. These API values override the dashboard settings, giving you flexibility to adjust features on a per-transaction basis. ## Next steps Once you've configured your Plaid connection, you're ready to integrate payments into your app: * **[Integration](/connections/payments/plaid-bank-integration)** - Learn how to process a payment with Plaid, including creating Link tokens, rendering Plaid Link, and creating transactions. * **[Recurring Payments](/connections/payments/plaid-bank-recurring)** - Learn how to vault payment methods and process recurring charges without collecting a new Plaid Link token. * **[Signal setup](/connections/payments/plaid-bank-signal)** - Configure Plaid Signal rulesets and the `ruleset-key` used for evaluation. ## Testing Plaid provides a comprehensive Sandbox environment for testing your integration without using real bank credentials or processing live transactions. Use your Plaid Sandbox Client ID and Secret in the dashboard, then test the integration flow using Plaid's test credentials. For detailed information on test credentials, specialized testing scenarios, and sandbox capabilities, see the [Plaid Sandbox documentation](https://plaid.com/docs/sandbox/). ## Supported countries ## Supported currencies ## Limitations Transaction settlement reporting varies depending on the bank payment connector used to process the payment (for example, Plaid Transfer or Adyen). Each connector has its own settlement schedule and processing times. Partial refunds are not supported for unsettled transactions. If you need to refund a Plaid transaction before it has settled, you must refund the full transaction amount. Once a transaction has settled, partial refunds become available and can be processed as needed. # Plaid Integration Source: https://docs.gr4vy.com/connections/payments/plaid-bank-integration Integrate Plaid payments into your app. This guide covers how to integrate Plaid payments into your app. Before you begin, make sure you've [configured your Plaid connection](/connections/payments/plaid-bank) in the dashboard. Processing a payment with Plaid involves three steps: 1. **Create a Link token** - Generate a Plaid Link token via the API using your configured settings 2. **Render Plaid Link** - Display the Plaid Link interface to the customer so they can securely connect their bank account 3. **Create a transaction** - Submit the public token received from Plaid Link to process the payment Looking for a complete working example? Check out this [sample standalone Plaid app](https://github.com/gr4vy/sample-standalone-plaid) on GitHub that demonstrates the full integration flow. ## Step 1: Create a Plaid Link token Use the [payment service session API](/reference/payment-service-sessions/create-payment-service-session) with the `create-link-token` action to generate a Plaid Link token. This endpoint applies your dashboard settings (identity, signal, balance checks, etc.) to the token request. You can also override any settings by passing custom Plaid Link parameters such as `products`, `additional_consented_products`, and `optional_products` to customize the experience for specific transactions. Refer to the [Plaid Link token API documentation](https://plaid.com/docs/api/link/#token-create) for a complete list of available parameters. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; using System.Collections.Generic; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); // SessionAsync takes the definition ID and a free-form request body var session = await sdk.PaymentServiceDefinitions.SessionAsync( paymentServiceDefinitionId: "plaid-bank", requestBody: new Dictionary { ["action"] = "create-link-token", ["payload"] = new Dictionary { ["products"] = new[] { "auth" }, ["optional_products"] = new[] { "signal" } } } ); // The downstream Plaid response is passed through in ResponseBody Console.WriteLine($"Link token: {session.ResponseBody?["link_token"]}"); ``` ```go Go theme={"system"} package main import ( "context" "log" gr4vy "github.com/gr4vy/gr4vy-go" ) func main() { ctx := context.Background() // Load your private key from disk, env, or your secret manager privateKey := "..." s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithBearerAuth(gr4vy.WithToken(privateKey)), gr4vy.WithMerchantAccountID("default"), ) // Session takes the definition ID and a free-form request body res, err := s.PaymentServiceDefinitions.Session(ctx, "plaid-bank", map[string]any{ "action": "create-link-token", "payload": map[string]any{ "products": []string{"auth"}, "optional_products": []string{"signal"}, }, }) if err != nil { log.Fatal(err) } if res != nil { // The downstream Plaid response is passed through in ResponseBody log.Printf("Link token: %v", res.ResponseBody["link_token"]) } } ``` ```java Java theme={"system"} import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.BearerSecuritySource; import com.gr4vy.sdk.Gr4vy.AvailableServers; import java.util.HashMap; import java.util.Map; Gr4vy sdk = Gr4vy.builder() .id("example") .server(AvailableServers.SANDBOX) .merchantAccountId("default") .securitySource(new BearerSecuritySource.Builder(privateKey).build()) .build(); Map payload = new HashMap<>(); payload.put("products", new String[]{"auth"}); payload.put("optional_products", new String[]{"signal"}); Map requestBody = new HashMap<>(); requestBody.put("action", "create-link-token"); requestBody.put("payload", payload); var res = sdk.paymentServiceDefinitions().session() .paymentServiceDefinitionId("plaid-bank") .requestBody(requestBody) .call(); // The downstream Plaid response is passed through in responseBody if (res.responseBody().isPresent()) { System.out.println("Link token: " + res.responseBody().get().get("link_token")); } ``` ```js TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; import fs from "fs"; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); const session = await gr4vy.paymentServiceDefinitions.session( { action: "create-link-token", payload: { // Override default products: require auth, make signal optional products: ["auth"], optional_products: ["signal"], }, }, "plaid-bank", ); // The downstream Plaid response is passed through in responseBody console.log(session.responseBody?.link_token); // Use this in Plaid Link ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $response = $sdk->paymentServiceDefinitions->session( requestBody: [ 'action' => 'create-link-token', 'payload' => [ 'products' => ['auth'], 'optional_products' => ['signal'] ] ], paymentServiceDefinitionId: 'plaid-bank' ); // The downstream Plaid response is passed through in responseBody echo "Link token: " . $response->responseBody['link_token']; ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth with Gr4vy( id="example", server="sandbox", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) as g_client: res = g_client.payment_service_definitions.session( payment_service_definition_id="plaid-bank", request_body={ "action": "create-link-token", "payload": { "products": ["auth"], "optional_products": ["signal"] } } ) # The downstream Plaid response is passed through in response_body print(f"Link token: {res.response_body['link_token']}") ``` ## Step 2: Render Plaid Link Display Plaid Link using the `link_token` from the previous step. Plaid Link securely handles bank authentication and account linking for the customer. When the customer successfully links their account, the `onSuccess` callback receives a `publicToken` and metadata containing account information. For detailed implementation guides, see the [Plaid Link documentation](https://plaid.com/docs/link/). ```kotlin Android theme={"system"} import com.plaid.link.Plaid import com.plaid.link.configuration.LinkTokenConfiguration class MainActivity : AppCompatActivity() { private val linkAccountToPlaid = registerForActivityResult( FastOpenPlaidLink() ) { result -> when (result) { is LinkSuccess -> { // Send publicToken to your server to create a transaction val publicToken = result.publicToken val metadata = result.metadata submitPayment(publicToken, metadata) } is LinkExit -> { // Handle user exit result.error?.let { error -> Log.e("Link", "Link exit with error: ${error.errorMessage}") } } } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Configure Link with your link_token val linkTokenConfiguration = LinkTokenConfiguration.Builder() .token(linkToken) .build() // Create and open Link val plaidHandler = Plaid.create(application, linkTokenConfiguration) linkAccountToPlaid.launch(plaidHandler) } } ``` ```swift iOS theme={"system"} import LinkKit class ViewController: UIViewController { private var handler: Handler? override func viewDidLoad() { super.viewDidLoad() // Configure Link with your link_token var config = LinkTokenConfiguration(token: linkToken) { success in // Send publicToken to your server to create a transaction let publicToken = success.publicToken let metadata = success.metadata self.submitPayment(publicToken: publicToken, metadata: metadata) } config.onExit = { exit in // Handle user exit if let error = exit.error { print("Link exit with error: \(error)") } } // Create and open Link let result = Plaid.create(config) switch result { case .success(let handler): self.handler = handler handler.open(presentUsing: .viewController(self)) case .failure(let error): print("Error creating Link: \(error)") } } } ``` ```tsx React theme={"system"} import { usePlaidLink } from "react-plaid-link"; export function BankAccountForm({ linkToken }) { const { open, ready } = usePlaidLink({ token: linkToken, onSuccess: (publicToken, metadata) => { // Send publicToken to your server to create a transaction submitPayment(publicToken, metadata); }, onExit: (error, metadata) => { // Handle user exit if (error) { console.error("Link exit with error:", error); } }, }); return ( ); } ``` ```html Web theme={"system"} ``` ## Step 3: Create a transaction On your server, use the `publicToken` from Step 2 to [create a transaction](/reference/transactions/new-transaction). The `publicToken` is automatically exchanged for a secure connection to the customer's bank account. **Key parameters (API field names):** * `payment_service_id` (`paymentServiceId` in SDKs) - The UUID of your `bank` payment processor connection (for example, Plaid Transfer or Adyen) to process the payment through. * `payment_method.payment_service_id` (`paymentMethod.paymentServiceId` in SDKs) - Optional. The UUID of the Plaid connection (found in the dashboard under **Settings** -> **Connections** -> **Plaid**). If omitted, the system fails the transaction if multiple `plaid-bank` connectors have been configured. * `payment_method.account_id` (`accountId` on the payment method in SDKs) - Required if the `identity` product is not enabled on the Link token and/or merchant account. If `identity` is enabled, the account ID is fetched automatically. When provided, specifies which account to charge if the customer linked multiple accounts (available in the Plaid metadata). * `buyer` - The buyer's first and last name are required for transaction processing and identity matching, unless the `identity` product is enabled and used to fetch this information automatically from Plaid. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var res = await sdk.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", // PaymentMethod is a discriminated union; use the factory method for Plaid. // The method discriminator defaults to "plaid" and isn't set explicitly. PaymentMethod = TransactionCreatePaymentMethod.CreatePlaidPaymentMethodCreate( new PlaidPaymentMethodCreate() { Token = publicToken, AccountId = metadata.Accounts[0].Id } ), Buyer = new BuyerCreate() { BillingAddress = new AddressCreate() { FirstName = "John", LastName = "Doe" } }, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); Console.WriteLine($"Status: {res.Status}"); ``` ```go Go theme={"system"} package main import ( "context" "log" gr4vy "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/components" ) func main() { ctx := context.Background() // Load your private key from disk, env, or your secret manager privateKey := "..." s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithBearerAuth(gr4vy.WithToken(privateKey)), gr4vy.WithMerchantAccountID("default"), ) // PaymentMethod is a discriminated union; wrap PlaidPaymentMethodCreate. // The method discriminator defaults to "plaid" and isn't set explicitly. plaidPaymentMethod := components.PlaidPaymentMethodCreate{ Token: publicToken, // Public token received from Plaid Link AccountID: gr4vy.String(metadata.Accounts[0].ID), // Optional. Specify which account to charge } paymentMethod := components.CreateTransactionCreatePaymentMethodPlaidPaymentMethodCreate(plaidPaymentMethod) res, err := s.Transactions.Create(ctx, components.TransactionCreate{ Amount: 1299, Currency: "USD", Country: gr4vy.String("US"), Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Buyer: &components.BuyerCreate{ BillingAddress: &components.AddressCreate{ FirstName: gr4vy.String("John"), LastName: gr4vy.String("Doe"), }, }, PaymentServiceID: gr4vy.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), // Your bank payment processor connection ID (e.g., Plaid Transfer) }, nil, nil, nil) if err != nil { log.Fatal(err) } if res != nil { log.Printf("Status: %v", res.Status) } } ``` ```java Java theme={"system"} import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.BearerSecuritySource; import com.gr4vy.sdk.Gr4vy.AvailableServers; import com.gr4vy.sdk.models.components.*; import java.util.Optional; Gr4vy sdk = Gr4vy.builder() .id("example") .server(AvailableServers.SANDBOX) .merchantAccountId("default") .securitySource(new BearerSecuritySource.Builder(privateKey).build()) .build(); // PaymentMethod is a discriminated union; wrap PlaidPaymentMethodCreate. // The method discriminator defaults to "plaid" and isn't set explicitly. var res = sdk.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(PlaidPaymentMethodCreate.builder() .token(publicToken) // Public token received from Plaid Link .accountId(metadata.getAccounts().get(0).getId()) // Optional. Specify which account to charge .build())) .buyer(BuyerCreate.builder() .billingAddress(AddressCreate.builder() .firstName("John") .lastName("Doe") .build()) .build()) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") // UUID of the bank processor connection (e.g. Plaid Transfer) used to process this transaction .build()) .call(); if (res.transaction().isPresent()) { System.out.println("Status: " + res.transaction().get().status()); } ``` ```js TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; import fs from "fs"; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", merchantAccountId: "default", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); const response = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "plaid", token: publicToken, // Public token received from Plaid Link accountId: metadata.accounts[0].id, // Optional. Specify which account to charge }, buyer: { billingAddress: { firstName: "John", lastName: "Doe", }, }, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // Your Plaid connection UUID }); console.log(`Status: ${response.transaction?.status}`); ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $response = $sdk->transactions->create( transactionCreate: new Gr4vy\TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new Gr4vy\PlaidPaymentMethodCreate( token: $publicToken, // Public token received from Plaid Link accountId: $metadata['accounts'][0]['id'] // Optional. Specify which account to charge ), buyer: new Gr4vy\BuyerCreate( billingAddress: new Gr4vy\AddressCreate( firstName: 'John', lastName: 'Doe' ) ), paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' // Your Plaid connection UUID ) ); echo "Status: " . $response->transaction->status; ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth with Gr4vy( id="example", server="sandbox", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) as g_client: res = g_client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "plaid", "token": public_token, # Public token received from Plaid Link "account_id": metadata["accounts"][0]["id"] # Optional. Specify which account to charge }, buyer={ "billing_address": { "first_name": "John", "last_name": "Doe" } }, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # Your Plaid connection UUID ) print(f"Status: {res.status}") ``` If Plaid is still fetching identity data and the call times out, the API returns `unavailable_payment_method`. This means Plaid did not finish in time; retry the transaction to allow identity to complete. ## Next steps To enable recurring payments and vault customer bank accounts for future transactions, see [Recurring Payments](/connections/payments/plaid-bank-recurring). If you're using Plaid Signal, configure your ruleset in [Signal setup](/connections/payments/plaid-bank-signal). # Plaid Recurring Payments Source: https://docs.gr4vy.com/connections/payments/plaid-bank-recurring Set up recurring payments with Plaid. This guide covers how to vault Plaid payment methods for recurring transactions. Before you begin, make sure you've [configured your Plaid connection](/connections/payments/plaid-bank) and understand the [basic integration flow](/connections/payments/plaid-bank-integration). You can vault a Plaid payment method by setting `store: true` on the first (customer-present) transaction. The system stores the Plaid access token and returns a `payment_method.id`. Use that ID for subsequent merchant-initiated charges without collecting a new Plaid Link token. Identity and Identity Match checks are performed only on the initial transaction. Balance and Signal checks are performed on both the initial transaction and all subsequent recurring payments, as these checks evaluate transaction-specific risk factors that may change with each payment. If you're using Plaid Signal, configure your ruleset in [Signal setup](/connections/payments/plaid-bank-signal). ## Step 1: First payment Set `store: true`, mark it as `payment_source: "recurring"`, and leave `merchant_initiated` / `is_subsequent_payment` false. ```csharp C# theme={"system"} var res = await sdk.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", // The method discriminator defaults to "plaid" and isn't set explicitly PaymentMethod = TransactionCreatePaymentMethod.CreatePlaidPaymentMethodCreate( new PlaidPaymentMethodCreate() { Token = publicToken } ), Store = true, PaymentSource = "recurring", MerchantInitiated = false, IsSubsequentPayment = false, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} // The method discriminator defaults to "plaid" and isn't set explicitly plaidPaymentMethod := components.PlaidPaymentMethodCreate{ Token: publicToken, } paymentMethod := components.CreateTransactionCreatePaymentMethodPlaidPaymentMethodCreate(plaidPaymentMethod) res, err := s.Transactions.Create(ctx, components.TransactionCreate{ Amount: 1299, Currency: "USD", Country: gr4vy.String("US"), Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, Store: gr4vy.Bool(true), PaymentSource: gr4vy.Pointer(components.TransactionPaymentSourceRecurring), MerchantInitiated: gr4vy.Bool(false), IsSubsequentPayment: gr4vy.Bool(false), PaymentServiceID: gr4vy.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), }, nil, nil, nil) ``` ```java Java theme={"system"} // The method discriminator defaults to "plaid" and isn't set explicitly TransactionCreate transactionCreate = TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(PlaidPaymentMethodCreate.builder() .token(publicToken) .build())) .store(true) .paymentSource(TransactionPaymentSource.RECURRING) .merchantInitiated(false) .isSubsequentPayment(false) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build(); var res = sdk.transactions().create() .transactionCreate(transactionCreate) .call(); ``` ```js TypeScript theme={"system"} const res = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "plaid", token: publicToken, }, store: true, paymentSource: "recurring", merchantInitiated: false, isSubsequentPayment: false, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }); ``` ```php PHP theme={"system"} $res = $sdk->transactions->create( transactionCreate: new Gr4vy\TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new Gr4vy\PlaidPaymentMethodCreate( token: $publicToken, ), store: true, paymentSource: 'recurring', merchantInitiated: false, isSubsequentPayment: false, paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ) ); ``` ```python Python theme={"system"} res = g_client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "plaid", "token": public_token, }, store=True, payment_source="recurring", merchant_initiated=False, is_subsequent_payment=False, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", ) ``` ## Step 2: Subsequent charge Use the saved `payment_method_id`, set `payment_source: "recurring"`, and mark it as merchant-initiated and subsequent. ```csharp C# theme={"system"} var res = await sdk.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", Intent = "capture", // Reference a stored payment method by its ID (TokenPaymentMethodCreate) PaymentMethod = TransactionCreatePaymentMethod.CreateTokenPaymentMethodCreate( new TokenPaymentMethodCreate() { Id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ), PaymentSource = "recurring", MerchantInitiated = true, IsSubsequentPayment = true, PaymentServiceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ); ``` ```go Go theme={"system"} // Reference a stored payment method by its ID (TokenPaymentMethodCreate) tokenPaymentMethod := components.TokenPaymentMethodCreate{ ID: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", } paymentMethod := components.CreateTransactionCreatePaymentMethodTokenPaymentMethodCreate(tokenPaymentMethod) res, err := s.Transactions.Create(ctx, components.TransactionCreate{ Amount: 1299, Currency: "USD", Country: gr4vy.String("US"), Intent: gr4vy.Pointer(components.TransactionIntentCapture), PaymentMethod: &paymentMethod, PaymentSource: gr4vy.Pointer(components.TransactionPaymentSourceRecurring), MerchantInitiated: gr4vy.Bool(true), IsSubsequentPayment: gr4vy.Bool(true), PaymentServiceID: gr4vy.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), }, nil, nil, nil) ``` ```java Java theme={"system"} // Reference a stored payment method by its ID (TokenPaymentMethodCreate) TransactionCreate transactionCreate = TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .intent(TransactionIntent.CAPTURE) .paymentMethod(TransactionCreatePaymentMethod.of(TokenPaymentMethodCreate.builder() .id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build())) .paymentSource(TransactionPaymentSource.RECURRING) .merchantInitiated(true) .isSubsequentPayment(true) .paymentServiceId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .build(); var res = sdk.transactions().create() .transactionCreate(transactionCreate) .call(); ``` ```js TypeScript theme={"system"} const res = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", intent: "capture", paymentMethod: { method: "id", id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }, paymentSource: "recurring", merchantInitiated: true, isSubsequentPayment: true, paymentServiceId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }); ``` ```php PHP theme={"system"} $res = $sdk->transactions->create( transactionCreate: new Gr4vy\TransactionCreate( amount: 1299, currency: 'USD', country: 'US', intent: 'capture', paymentMethod: new Gr4vy\TokenPaymentMethodCreate( id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', ), paymentSource: 'recurring', merchantInitiated: true, isSubsequentPayment: true, paymentServiceId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ) ); ``` ```python Python theme={"system"} res = g_client.transactions.create( amount=1299, currency="USD", country="US", intent="capture", payment_method={ "method": "id", "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }, payment_source="recurring", merchant_initiated=True, is_subsequent_payment=True, payment_service_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", ) ``` ## Re-authenticating stored payment methods Stored Plaid payment methods occasionally require re-authentication. This is typically needed when bank credentials expire, the bank requires new MFA, consent is nearing expiry, or the connection is in an error state. The main signal is a failed transaction on that stored method with `error_code: payment_method_requires_action`. You can also detect upcoming or expired mandates via webhooks. The system emits `payment-method.authorization-expiring` (token close to expiring) and `payment-method.authorization-update-required` (token expired) events when receiving updates from Plaid. When you see this error, create a new Link token for the stored payment method using the [Sessions API](/reference/payment-service-sessions/create-payment-service-session). Include the stored payment method ID in the `x-gr4vy-payment-method` header and use this payload structure, where `access_token` is replaced by the system with the vaulted access token: ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; using System.Collections.Generic; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var session = await sdk.PaymentServiceDefinitions.SessionAsync( paymentServiceDefinitionId: "plaid-bank", sessionRequestBody: new SessionRequestBody() { Action = "create-link-token", Payload = new Dictionary { ["access_token"] = "{{PLAID_ACCESS_TOKEN}}" } }, // The payment method ID is passed via a specific optional parameter, usually mapped to the header xGr4vyPaymentMethod: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ); Console.WriteLine($"Link token: {session.LinkToken}"); ``` ```go Go theme={"system"} package main import ( "context" "log" gr4vy "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/operations" ) func main() { ctx := context.Background() privateKey := "..." s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithBearerAuth(gr4vy.WithToken(privateKey)), gr4vy.WithMerchantAccountID("default"), ) paymentMethodID := "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" res, err := s.PaymentServiceDefinitions.Session(ctx, operations.SessionRequest{ Action: "create-link-token", PaymentServiceDefinitionID: "plaid-bank", XGr4vyPaymentMethod: &paymentMethodID, }, &operations.WithRequestBody{ Payload: map[string]interface{}{ "access_token": "{{PLAID_ACCESS_TOKEN}}", }, }) if err != nil { log.Fatal(err) } if res != nil { log.Printf("Link token: %s", res.LinkToken) } } ``` ```java Java theme={"system"} import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.BearerSecuritySource; import com.gr4vy.sdk.Gr4vy.AvailableServers; import com.gr4vy.sdk.models.components.SessionRequest; import java.util.HashMap; import java.util.Map; Gr4vy sdk = Gr4vy.builder() .id("example") .server(AvailableServers.SANDBOX) .merchantAccountId("default") .securitySource(new BearerSecuritySource.Builder(privateKey).build()) .build(); Map payload = new HashMap<>(); payload.put("access_token", "{{PLAID_ACCESS_TOKEN}}"); var res = sdk.paymentServiceDefinitions().session() .action("create-link-token") .paymentServiceDefinitionId("plaid-bank") .xGr4vyPaymentMethod("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") .requestBody(payload) .call(); if (res.linkToken().isPresent()) { System.out.println("Link token: " + res.linkToken().get()); } ``` ```js TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; import fs from "fs"; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); const session = await gr4vy.paymentServiceDefinitions.session( { action: "create-link-token", payload: { access_token: "{{PLAID_ACCESS_TOKEN}}", }, }, "plaid-bank", { headers: { "x-gr4vy-payment-method": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", }, } ); console.log(session.link_token); ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $response = $sdk->paymentServiceDefinitions->session( action: 'create-link-token', paymentServiceDefinitionId: 'plaid-bank', xGr4vyPaymentMethod: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', requestBody: [ 'access_token' => '{{PLAID_ACCESS_TOKEN}}' ] ); echo "Link token: " . $response->linkToken; ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth with Gr4vy( id="example", server="sandbox", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) as g_client: res = g_client.payment_service_definitions.session( action="create-link-token", payment_service_definition_id="plaid-bank", x_gr4vy_payment_method="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", request_body={ "access_token": "{{PLAID_ACCESS_TOKEN}}" } ) print(f"Link token: {res.link_token}") ``` Present the returned Link token to the buyer for re-authentication. Once complete, retry the original transaction with the same stored payment method. If the reauthorization happens outside of Plaid's Update Mode, the system sends a `payment-method.authorization-updated` webhook. When using Update Mode, only your frontend receives confirmation; no webhook is emitted. See [Plaid's Update Mode documentation](https://plaid.com/docs/api/items/#login_repaired) for details. # Plaid Signal setup Source: https://docs.gr4vy.com/connections/payments/plaid-bank-signal Configure Plaid Signal rulesets for risk assessment. This guide explains how to configure Plaid Signal rulesets for use with the API. Before you begin, make sure you've [configured your Plaid connection](/connections/payments/plaid-bank) and completed the [integration flow](/connections/payments/plaid-bank-integration). ## Create a Signal ruleset in Plaid Create a ruleset in the Plaid dashboard following the official guide: [Creating a ruleset](https://plaid.com/docs/signal/signal-rules/#creating-a-ruleset). When creating the ruleset, use the following selections: * **Ruleset type:** Signal Transaction Score * **Configure your ruleset:** Recommended ruleset Signal ruleset type selection ## Pick a risk tolerance On the **Pick risk tolerance** step, adjust the slider to match your desired balance of acceptance rate versus risk tolerance. This sets the initial rule conditions for the ruleset. Pick risk tolerance for ruleset ## Set the ruleset key Set the `ruleset-key` field to `gr4vy-decision`. The system uses this key to retrieve the ruleset during Signal evaluation. # Planet - Card Source: https://docs.gr4vy.com/connections/payments/planet-card Connect to Planet to accept card payments. Planet is a payment gateway providing secure card processing solutions globally. Planet offers comprehensive payment processing capabilities with extensive currency and country support for merchants worldwide. ## Setup Planet provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up guide](https://docs.datatrans.ch/docs/getting-started#test-account--going-live) and fill in the details. ## Connector configuration After signing up with Planet, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Planet account: * **Merchant ID** - Your Planet merchant identifier * **Password** - Your Planet password for authentication ## Capabilities ## Supported countries ## Supported currencies ## Limitations This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with Planet, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Planet connection based on your Flow rules or explicit `payment_service_id` parameter. # Qwikcilver (Gift Cards) Source: https://docs.gr4vy.com/connections/payments/qwikcilver-gift-card Configure Qwikcilver gift card payments in Gr4vy to accept gift cards at checkout, including balance checks and split tender. Qwikcilver is a gift card platform that enables buyers to pay at checkout using one or more gift cards. Gift cards can be used alone or split across a traditional payment method. For a full overview of how gift cards work in Gr4vy, including checking balances, storing gift cards, and testing, see the [Gift cards guide](/guides/features/gift-cards/overview). ## Setup Qwikcilver does not provide self-service sign-up. Please work with Qwikcilver to get set up with an environment. ## Credentials Once set up, the Qwikcilver team provides the following information. * The **Username** for the instance * The **Password** for the instance * The **Terminal ID** for the integration * And finally the **Subdomain** of the instance. This is prefixed to the Qwikcilver domain name of the instance, for example `https://{subdomain}.qwikcilver.com` These credentials can be configured in the dashboard directly when setting up a Qwikcilver connection, or the details can be securely shared with the solution engineering team for them to set up. Qwikcilver does not support [issuing virtual gift cards](/reference/gift-cards/issue-gift-card) or [activating physical gift cards](/reference/gift-cards/activate-gift-card). ## Reversals In the case of multiple gift cards for a transaction, all gift cards are processed using the Qwikcilver batch API. This means that all gift cards are attempted in parallel, at the same time. If any of them fail due to insufficient funds, or any other reason, then none of the gift cards are charged, but because of the parallel nature of Qwikcilver, each card is marked as failed, even when some of them were never attempted. For a full description of the reversal logic across all gift card providers, see [Reversals](/guides/features/gift-cards/overview#reversals) in the gift cards guide. # Repay - Card Source: https://docs.gr4vy.com/connections/payments/repay-card Connect to Repay to accept credit and debit card payments. Repay is a payments technology company. Gr4vy integrates with Repay's Payrazr gateway to process card payments for merchants in the United States. ## Setup Repay doesn't offer self-service sign-up. Speak to your Repay account manager to request sandbox credentials for the Payrazr gateway. ## Connector configuration After setting up your Repay connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Repay as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Repay connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials Configure the following credentials in the Gr4vy dashboard, which are provided by your Repay account manager: * **API Username** - Your Payrazr API username * **API Password** - Your Payrazr API password * **ZID** - Your Payrazr merchant location identifier ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Only Apple Pay is supported** - Of the digital wallets, Payrazr only supports Apple Pay. Attempting to pay with Google Pay or another wallet returns an `unsupported_payment_method` error. * **Zero-amount authorizations require card details** - Verifying a card without charging it only works when card details are submitted directly. It isn't supported when charging a stored token. * **Single recurring indicator** - Repay doesn't distinguish the first customer-initiated transaction in a recurring series from later merchant-initiated ones. Gr4vy flags the whole series as recurring using a single indicator. * **Limited address verification** - Only the billing address line and postal code are sent for AVS checks. City, state, and country aren't included. * **No shipping address** - The Payrazr API has no field for shipping details, so shipping information isn't sent. This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with Repay, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Repay connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing Repay's sandbox accepts the following test card numbers. Use any future expiry date and any 3-digit CVV (4 digits for American Express). | Card brand | Card number | | ---------------- | ------------------ | | Visa | `4111111111111111` | | Mastercard | `5212677777777770` | | Discover | `6011000993026909` | | American Express | `371449635392376` | | Diners Club | `38555565010005` | | JCB | `3530142019955809` | Any correctly formatted transaction over \$1 that doesn't match one of the triggers below is approved. To simulate a decline, submit the trigger amount as the transaction amount, or pass the trigger value in the cardholder name. | Trigger | Amount | Result | | -------------------- | ------- | ------------------------------- | | `#InsufficientFunds` | `$0.21` | Declined - insufficient funds | | `#ExpiredCard` | `$0.29` | Declined - expired card | | `#DeclineCVVFailure` | `$0.48` | Declined - CVV mismatch | | `#IncorrectCvv` | `$0.15` | Declined - incorrect CVV | | `#CallIssuer` | `$0.01` | Declined - refer to card issuer | | `#DeclinePickUp` | `$0.05` | Declined - pick up card | | `#InvalidAcct` | `$0.14` | Declined - invalid card number | | `#InvalidAmt` | `$0.11` | Declined - invalid amount | | `#IssuerUnavailable` | `$0.04` | Declined - issuer unavailable | # Shift4 - Card Source: https://docs.gr4vy.com/connections/payments/shift4-card Connect to Shift4 to accept credit and debit card payments. Shift4 is a global payment processing company. It provides integrated payment solutions for merchants in industries including hospitality, retail, restaurants, and e-commerce. The platform supports card payments with advanced features like tokenization, end-to-end encryption, delayed capture, partial refunds, recurring billing, digital wallets, and alternative payment methods across multiple currencies and countries. ## Setup To set up your Shift4 account, fill in the [form](https://www.shift4.com/get-started) on the Shift4 website. Once your account is active, ask your Shift4 representative to turn off the `BROWSER_FINGERPRINT_BLOCK` feature, which is required for the connector to pass browser fingerprint data. ## Credentials To configure a Shift4 connection, you need to set the `API Secret Key`. This credential can be found in the [Shift4 dashboard](https://dev.shift4.com/dashboard) under **Settings** -> **Developer** -> **API Keys**. ## Connector configuration After setting up your Shift4 connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Shift4 as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Shift4 connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Incremental authorization Availability varies by payment method and region. | Payment method | Availability | | --------------- | ------------------------------------------------------------------------------------------------------- | | Digital Wallets | Not available | | Network Tokens | Available for merchants using EU-based end processors. Not available for end processors in the US or CA | ## Integration To accept card payments with Shift4, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Shift4 connection based on your Flow rules or explicit `payment_service_id` parameter. ## Webhooks Shift4 sends webhooks to notify you of transaction status changes. Configure your webhook endpoint in the Shift4 dashboard so that Gr4vy can receive real-time transaction updates and keep transaction statuses in sync. To configure webhooks in Shift4: 1. Log in to your Shift4 merchant dashboard 2. Click on your user in the top right corner and go to **Settings** 3. Go to **Developer** -> **Webhooks** 4. Click on **ADD ENDPOINT** and paste the webhook endpoint configured for you by Gr4vy When event delivery fails for a given webhook URL, delivery of all subsequent events to that URL is blocked until the failed delivery is successfully retried. Events are always delivered in the order they were created, so a failed delivery prevents later events from being sent and would result in out-of-order delivery. ## Testing For testing in sandbox environments, you can use standard test card numbers. Shift4 supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4242 4242 4242 4242` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, refer to the [Shift4 testing documentation](https://dev.shift4.com/docs/testing/#testing-cards) or contact your Shift4 representative. # Smartpay Source: https://docs.gr4vy.com/connections/payments/smartpay-smartpay Connect to Smartpay to accept bank payments in Japan. Smartpay is a Japanese payment platform offering real-time bank payments and card payments. Smartpay uses a redirect flow where the buyer approves the payment on the Smartpay hosted page. ## Setup Sign up for an account on the [Smartpay website](https://smartpay.co/en/). Once signed up, head over to the [Smartpay dashboard](https://dashboard.smartpay.co/settings/credentials) to get your API credentials. ## Credentials When setting up Smartpay in the dashboard, configure the following credentials: * **Secret key** - The secret key found in your [Smartpay dashboard](https://dashboard.smartpay.co/settings/credentials) under **Settings** > **Credentials**. ## Capabilities ## Supported countries ## Supported currencies ## Required fields Smartpay requires the following fields to be set on every transaction: * First name and last name * Email address * Billing and shipping address, including city, country, line 1, postal code, and state Because of this, Smartpay only works with Embed when the shipping address has been set. Optionally, you can pass up to 249 cart items with a transaction. ## Webhooks Webhooks are required for Smartpay to function correctly. Set up webhooks in the [Smartpay dashboard](https://dashboard.smartpay.co/settings/credentials) and configure the webhook URL provided in the Gr4vy dashboard under your Smartpay connection. ## Integration The default integration for Smartpay uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "JPY", Country = "JP", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "smartpay", Country = "JP", Currency = "JPY", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "JPY" country := "JP" method := components.RedirectPaymentMethodCreateMethodSmartpay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("JPY") .country("JP") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SMARTPAY) .country("JP") .currency("JPY") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'JPY', country: 'JP', paymentMethod: new RedirectPaymentMethodCreate( method: 'smartpay', country: 'JP', currency: 'JPY', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="JPY", country="JP", payment_method={ "method": "smartpay", "country": "JP", "currency": "JPY", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "JPY", country: "JP", paymentMethod: { method: "smartpay", country: "JP", currency: "JPY", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "smartpay" } ``` Redirect the buyer to the `approval_url` (open in a browser or popup), where they can complete the payment. Once the buyer approves, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. # Stripe Source: https://docs.gr4vy.com/connections/payments/stripe Connect to Stripe to accept cards, BNPL, and bank transfer methods. Stripe is a global payments platform that supports card processing and a broad set of alternative payment methods. ## Supported payment methods | Method | Countries | Currencies | Notes | | --------------------------- | -------------------- | ---------------------- | ----------------------------------------------- | | [Card](./stripe-card) | `AD`, `AE`, 247 more | `AED`, `AFN`, 130 more | Enable card payments in your Stripe account. | | [Affirm](./stripe-affirm) | `CA`, `US` | `CAD`, `USD` | BNPL availability depends on buyer eligibility. | | [Klarna](./stripe-klarna) | `CA`, `GB`, `US` | `CAD`, `GBP`, `USD` | BNPL availability depends on buyer eligibility. | | [Onelink](./stripe-onelink) | `US` | `USD` | Stripe Payment Element with card and Link. | | [OXXO](./stripe-oxxo) | `MX` | `MXN` | Cash voucher flow with redirect. | | [SPEI](./stripe-spei) | `MX` | `MXN` | Bank transfer flow with redirect. | ## Setup Stripe provides a self-service sign-up for a sandbox account. To sign up for an account visit the [sign-up page](https://dashboard.stripe.com/register) and fill in the details. ## Credentials When setting up Stripe in the dashboard, configure the following credentials, which are obtained from Stripe: ### Secret key The Stripe Secret key can be found in the Stripe Admin Portal under the **Developers** -> **API Keys** section. ### APM credentials When setting up Stripe APMs in the dashboard, configure the following credentials: * **Webhook secret**: Find this in the Stripe Dashboard within Developer Settings under **Webhooks** once webhooks have been configured. * **Stripe connected account**: Set this when using Stripe Connect. See [Stripe Connect](#stripe-connect) below. * **Publishable key**: Used to initialize the Gr4vy hosted web page on a redirect. ## Stripe Connect Stripe Connect lets a platform account make API calls on behalf of a connected merchant account. This configuration is optional. Leave it empty for standard (non-Connect) integrations where all transactions run directly on the platform account. ### Credential field Most Stripe connectors expose a **Stripe connected account** field in the connection settings. Setting it applies the connected account to every operation on that connection. ### Per-transaction override To route individual transactions to different connected accounts, pass the connected account as a connection option when creating a transaction. ```json theme={"system"} { "connection_options": { "stripe-card": { "stripe_connect": { "stripe_account": "acct_1OcAyNGbm1cKE2pL" } } } } ``` When present, the per-transaction value takes precedence over the credential field for that operation. Routing individual transactions to a different account can have undesired side effects (see webhooks below). ### Webhooks with Stripe Connect When a connected account is configured, incoming webhooks are matched against the configured Stripe account. Events that belong to a different account are rejected. If you process payments across multiple connected accounts, configure a separate Stripe connection for each account with the matching connected account ID. Changing the connected account on an existing Stripe connection breaks all in-flight transactions created under the previous account ID. Stripe objects (payment intents, payment methods, customers) are scoped to the account that created them. A capture, void, or refund attempted against a payment intent created under a different account fails. If you need to change the connected account, create a new connection for the new account and keep the old connection active until all in-flight transactions have settled. ## APM payment IDs When creating the transaction, the `payment_service_transaction_id` is the client secret, and in the `extra_xids` field you can find the payment intent ID as `payment_id`. After the transaction is approved by the user, the `payment_service_transaction_id` is updated to the payment intent ID. ## Webhooks Webhooks are useful as they allow receiving updates about transactions processed. This can be configured in the Stripe dashboard by creating an event destination. Please enable Stripe webhooks only for the following events, to ensure minimal processing delays. * `payment_intent.canceled` * `charge.expired` * `charge.refund.updated` * `charge.refunded` * `payment_intent.succeeded` * `payment_intent.amount_capturable_updated` * `payment_intent.payment_failed` ## Recurring payments The Stripe connector can operate as either [an open or a closed-loop](/guides/features/recurring-payments/open-loop) connector. In a closed-loop configuration a Stripe token is used for every transaction, which means you can not process a subsequent payment with another provider. In an open-loop situation card data from the vault is used for every transaction, allowing processing transactions in a recurring payments with a different payment service for every transaction. By default, your Stripe connector works in a closed-loop configuration, as Stripe requires open-loop to be enabled for your account before transactions can be processed that way. Open-loop can be enabled in the connection settings through the dashboard. After enabling open-loop and saving the changes, a new check-box appears to enable network tokens. Please contact the support team for additional guidance. ### Digital wallets Recurring Apple Pay and Google Pay are supported through Stripe in a close-loop configuration. For this to work you need to contact Stripe to get decoded Apple and Google Pay token pass-through enabled on their `/v1/tokens` API. Recurring digital wallet payments on Stripe in an open-loop configuration are currently not supported as this requires a different Stripe API. Support for this is planned for the near future. ## Gated features Stripe gates certain features on the platform. In case the following errors are encountered, please reach out to Stripe as mentioned below. ### Access to raw card data The integration relies on the ability to pass Stripe the full card PAN. If you encounter an error `Sending credit card numbers directly to the Stripe API is generally unsafe. We suggest you use test tokens that map to the test card you are using, see https://stripe.com/docs/testing. To enable testing raw card data APIs, see https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis.`, please contact Stripe's support team to enable raw card data API. ### Use of `statement_descriptor` field If you encounter an error `statement_descriptor parameter is not supported for the payment_method_type card`, please contact your Stripe technical account manager to enable this feature. In the meantime, you can enable the `Remove statement descriptor` toggle in the Stripe connector settings in the Gr4vy dashboard. Note that Stripe deprecates the `statement_descriptor` field for card payments. By default, Gr4vy sends the `statement_descriptor_suffix` field instead. If you want to keep using the older field, enable the `Use legacy statement descriptor` toggle in the Stripe connector settings in the Gr4vy dashboard. # Stripe - Affirm Source: https://docs.gr4vy.com/connections/payments/stripe-affirm Configure Affirm via Stripe as a payment method in Gr4vy. Affirm is a buy now, pay later option that lets eligible buyers split purchases into installments. ## Setup Follow the [Stripe setup instructions](./stripe) before configuring Affirm. After setting up your Stripe account, make sure Affirm is enabled as a payment method in Stripe. For shared APM credentials and payment IDs, see [Stripe APM credentials](./stripe#apm-credentials). ## Capabilities ## Supported countries ## Supported currencies ## Webhooks Affirm payments and refunds can be completed asynchronously, so webhooks must be configured to update the status of transactions. Webhooks are configured in the Stripe Dashboard within Developer Settings under **Webhooks**. The Affirm connector relies on the following Stripe webhooks: * `charge.expired` * `charge.refund.updated` * `charge.refunded` * `payment_intent.succeeded` * `payment_intent.amount_capturable_updated` * `payment_intent.payment_failed` * `payment_intent.partially_funded` * `payment_intent.canceled` * `checkout.session.async_payment_succeeded` ## Integration The default integration for Affirm via Stripe uses a redirect to a payments page hosted by Gr4vy. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "affirm", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodAffirm redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.AFFIRM) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'affirm', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "affirm", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "affirm", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "affirm" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer completes the payment, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. ### Direct integration If you intend to use your own hosted page, you can include an `integration_client` parameter set to `web`, `ios` or `android` when creating a new transaction. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "affirm", Country = "US", Currency = "USD", RedirectUrl = "myapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodAffirm redirectUrl := "myapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.AFFIRM) .country("US") .currency("USD") .redirectUrl("myapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'affirm', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", integration_client="ios", payment_method={ "method": "affirm", "country": "US", "currency": "USD", "redirect_url": "myapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", integrationClient: "ios", paymentMethod: { method: "affirm", country: "US", currency: "USD", redirectUrl: "myapp://callback" } }) ``` After the transaction is created, the API response includes a `session_token`. You use this token with the [session endpoint](/reference/transactions/get-transaction-session) to retrieve the session data for the transaction and build a custom page. ```json theme={"system"} POST /transactions/:transaction_id/session?token=:session_token { "session_data": { "publishableKey": "some_key", "clientSecret": "client_secret", "returnUrl": "url_to_return_after_payment_completed" }, "default_completion_url": "https://example.com/callback", "integration_client": "ios" } ``` #### Mobile redirect integration completion On mobile integrations you should send a GET request to the `default_completion_url` provided in the session response. ## Payment IDs When creating the transaction, the `payment_service_transaction_id` is the client secret, and in the `extra_xids` field you can find the payment intent ID as `payment_id`. After the transaction is approved by the user, the `payment_service_transaction_id` is updated to the payment intent ID. # Stripe - Card Source: https://docs.gr4vy.com/connections/payments/stripe-card Connect to Stripe to accept credit and debit card payments. Stripe supports card payments through its global acquiring platform. ## Setup Follow the [Stripe setup instructions](./stripe) before configuring card payments. ## Supported countries ## Supported currencies ## Integration To accept card payments with Stripe, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Stripe connection based on your Flow rules or explicit `payment_service_id` parameter. ## Generating Stripe Tokens When standalone tokenization is performed via our `POST /payment-methods` API, Gr4vy's integration uses Stripe's Payment Method API. This tokenizes the card with Stripe without performing any kind of cardholder authentication. For European cards, this doesn't fulfill Strong Customer Authentication (SCA) requirements and therefore you may see decreased conversion on those cards for recurring payments. In contrast, when the `store=true` flag is utilized to vault a card during a transaction, the process uses the Stripe Setup Intents API. This API runs an actual authorization and guarantees that the resulting token meets SCA requirements and is ready to be used for MIT. Zero-value authentication is recommended if you want to vault a card and re-use it in SCA markets. # Stripe - Klarna Source: https://docs.gr4vy.com/connections/payments/stripe-klarna Configure Klarna via Stripe as a payment method in Gr4vy. Klarna is a buy now, pay later option that lets eligible buyers split purchases into installments. ## Setup Follow the [Stripe setup instructions](./stripe) before configuring Klarna. After setting up your Stripe account, make sure Klarna is enabled as a payment method in Stripe. For shared APM credentials and payment IDs, see [Stripe APM credentials](./stripe#apm-credentials). ## Capabilities ## Supported countries ## Supported currencies ## Webhooks Klarna payments and refunds can be completed asynchronously, so webhooks must be configured to update the status of transactions. Webhooks are configured in the Stripe Dashboard within Developer Settings under **Webhooks**. The Klarna connector relies on the following Stripe webhooks: * `charge.expired` * `charge.refund.updated` * `charge.refunded` * `payment_intent.succeeded` * `payment_intent.amount_capturable_updated` * `payment_intent.payment_failed` * `payment_intent.partially_funded` * `payment_intent.canceled` * `checkout.session.async_payment_succeeded` ## Integration The default integration for Klarna via Stripe uses a redirect to a payments page hosted by Gr4vy. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "klarna", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodKlarna redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KLARNA) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'klarna', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "klarna", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "klarna", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "klarna" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer completes the payment, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. ### Direct integration If you intend to use your own hosted page, you can include an `integration_client` parameter set to `web`, `ios` or `android` when creating a new transaction. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "klarna", Country = "US", Currency = "USD", RedirectUrl = "myapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodKlarna redirectUrl := "myapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.KLARNA) .country("US") .currency("USD") .redirectUrl("myapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'klarna', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", integration_client="ios", payment_method={ "method": "klarna", "country": "US", "currency": "USD", "redirect_url": "myapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", integrationClient: "ios", paymentMethod: { method: "klarna", country: "US", currency: "USD", redirectUrl: "myapp://callback" } }) ``` After the transaction is created, the API response includes a `session_token`. You use this token with the [session endpoint](/reference/transactions/get-transaction-session) to retrieve the session data for the transaction and build a custom page. ```json theme={"system"} POST /transactions/:transaction_id/session?token=:session_token { "session_data": { "publishableKey": "some_key", "clientSecret": "client_secret", "returnUrl": "url_to_return_after_payment_completed" }, "default_completion_url": "https://example.com/callback", "integration_client": "ios" } ``` #### Mobile redirect integration completion On mobile integrations you should send a GET request to the `default_completion_url` provided in the session response. ## Payment IDs When creating the transaction, the `payment_service_transaction_id` is the client secret, and in the `extra_xids` field you can find the payment intent ID as `payment_id`. After the transaction is approved by the user, the `payment_service_transaction_id` is updated to the payment intent ID. # Stripe - Onelink Source: https://docs.gr4vy.com/connections/payments/stripe-onelink Configure Onelink via Stripe as a payment method in Gr4vy. Onelink renders the Stripe Payment Element on a Gr4vy-hosted page, so buyers can pay by card or with Stripe Link. Stripe Link recognizes a returning buyer by their email address and lets them check out with saved details. ## Setup Follow the [Stripe setup instructions](./stripe) before configuring Onelink. After setting up your Stripe account, make sure card payments and Stripe Link are enabled in Stripe. For shared APM credentials and payment IDs, see [Stripe APM credentials](./stripe#apm-credentials). ## Capabilities ## Supported countries ## Supported currencies ## Webhooks Onelink confirms the payment client-side, so webhooks must be configured to keep the status of transactions in sync. Webhooks are configured in the Stripe Dashboard within Developer Settings under **Webhooks**. The Onelink connector relies on the following Stripe webhooks: * `payment_intent.canceled` * `charge.expired` * `charge.refund.updated` * `charge.refunded` * `payment_intent.succeeded` * `payment_intent.amount_capturable_updated` * `payment_intent.payment_failed` ## Integration The default integration for Onelink uses a redirect to a payments page hosted by Gr4vy. The same surface also supports a direct integration, where you render the Payment Element on your own web, iOS, or Android page. Billing details (name, email, phone, and address) sent on the transaction pre-fill the Payment Element and let Stripe Link recognize a returning buyer by email. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "onelink", Country = "US", Currency = "USD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" method := components.RedirectPaymentMethodCreateMethodOnelink redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ONELINK) .country("US") .currency("USD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', paymentMethod: new RedirectPaymentMethodCreate( method: 'onelink', country: 'US', currency: 'USD', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", payment_method={ "method": "onelink", "country": "US", "currency": "USD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", paymentMethod: { method: "onelink", country: "US", currency: "USD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "onelink" } ``` Redirect the buyer to the `approval_url` (open in a browser or web view), where they can complete the payment. Once the buyer completes the payment, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. ### Direct integration If you intend to use your own hosted page, you can include an `integration_client` parameter set to `web`, `ios` or `android` when creating a new transaction. View a complete, ready-to-run web example of the Onelink direct integration on GitHub. The repository pairs an Express server that creates the transaction through the Gr4vy SDK with a browser frontend, and demonstrates two patterns: the full Stripe Payment Element with the card form and inline Stripe Link prompt, and the Stripe Link button on its own. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "onelink", Country = "US", Currency = "USD", RedirectUrl = "myapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" country := "US" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodOnelink redirectUrl := "myapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .country("US") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ONELINK) .country("US") .currency("USD") .redirectUrl("myapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'USD', country: 'US', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'onelink', country: 'US', currency: 'USD', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", country="US", integration_client="ios", payment_method={ "method": "onelink", "country": "US", "currency": "USD", "redirect_url": "myapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", country: "US", integrationClient: "ios", paymentMethod: { method: "onelink", country: "US", currency: "USD", redirectUrl: "myapp://callback" } }) ``` After the transaction is created, the API response includes a `session_token`. You use this token with the [session endpoint](/reference/transactions/get-transaction-session) to retrieve the session data for the transaction and build a custom page that mounts the Stripe Payment Element. ```json theme={"system"} POST /transactions/:transaction_id/session?token=:session_token { "session_data": { "publishableKey": "some_key", "clientSecret": "client_secret", "returnUrl": "url_to_return_after_payment_completed", "stripeAccount": "acct_1OcAyNGbm1cKE2pL", "billingDetails": { "name": "Jane Doe", "email": "jane@example.com" } }, "default_completion_url": "https://example.com/callback", "integration_client": "ios" } ``` Initialize Stripe.js with the `publishableKey` (and `stripeAccount` when using Stripe Connect), mount the Payment Element from the `clientSecret`, and confirm the payment client-side. The `billingDetails` pre-fill the element when present. #### Mobile redirect integration completion On mobile integrations you should send a GET request to the `default_completion_url` provided in the session response. # Stripe - OXXO Source: https://docs.gr4vy.com/connections/payments/stripe-oxxo Configure OXXO payments via Stripe in Gr4vy, including webhooks and redirect integration. OXXO is a cash-based payment method in Mexico that provides buyers with a voucher and reference number for in-store payment. ## Setup Follow the [Stripe setup instructions](./stripe) before configuring OXXO. ## Capabilities ## Supported countries ## Supported currencies ## Configuration For shared APM credentials, see [Stripe APM credentials](./stripe#apm-credentials). ### Approval URL (optional) By default, the connector returns an approval URL that redirects buyers to a Stripe-hosted page with instructions for completing an OXXO cash payment. If required, you can set a different approval URL here which allows you to build your own page for showing the OXXO voucher to buyers. When set, the Approval URL is returned with a Session Token appended as a query parameter named `token`. This Session Token can be used with the [Transaction Session API](https://docs.gr4vy.com/reference/transactions/get-transaction-session) to retrieve the [details](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-next_action-oxxo_display_number) required to build your own page. ## Webhooks OXXO payments are completed asynchronously, so you must configure webhooks to update the status of transactions. Webhooks are configured in the Stripe Dashboard within Developer Settings under **Webhooks**. The OXXO connector relies on the following Stripe webhook event: * `payment_intent.succeeded` ## Integration The default integration for OXXO via Stripe uses a redirect to payments page hosted by Stripe. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodOxxo redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and a `processing` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://payments.stripe.com/oxxo/voucher/test..." }, "method": "oxxo" } ``` Redirect the buyer to the `approval_url` where they see an OXXO voucher and instructions to complete the cash payment. Once the buyer completes the cash payment at an OXXO location, the transaction progresses to a `capture_succeeded` state in response to a webhook from Stripe. ### Direct integration If you intend to use your own hosted page for presenting the buyer with the OXXO voucher, you can include an `integration_client` parameter set to `web`, `ios` or `android` when creating a new transaction. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "oxxo", Country = "MX", Currency = "MXN", RedirectUrl = "myapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodOxxo redirectUrl := "myapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.OXXO) .country("MX") .currency("MXN") .redirectUrl("myapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'oxxo', country: 'MX', currency: 'MXN', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", integration_client="ios", payment_method={ "method": "oxxo", "country": "MX", "currency": "MXN", "redirect_url": "myapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", integrationClient: "ios", paymentMethod: { method: "oxxo", country: "MX", currency: "MXN", redirectUrl: "myapp://callback" } }) ``` After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for the transaction, which can be used to build a custom page for displaying the OXXO voucher. ```json theme={"system"} POST /transactions/:transaction_id/session?token=:session_token { "session_data": { "paymentIntentId": "pi_3StlgnRAbJldLcy50NYwrdAN", "oxxoDisplayDetails": { "expires_after": 1770098399, "hosted_voucher_url": "https://payments.stripe.com/oxxo/voucher/test...", "number": "12345678901234657890123456789012" } }, "default_completion_url": "https://example.com/callback", "integration_client": "ios" } ``` # Stripe - SPEI Source: https://docs.gr4vy.com/connections/payments/stripe-spei Configure SPEI via Stripe as a bank transfer payment method in Gr4vy. SPEI is a Mexican bank transfer scheme that provides real-time bank transfers using a reference number. Follow the [Stripe setup instructions](./stripe) before configuring SPEI. ## Supported countries ## Supported currencies ## Configuration For shared APM credentials, see [Stripe APM credentials](./stripe#apm-credentials). ### Approval URL (optional) By default, the connector returns an approval URL that redirects buyers to a Stripe-hosted page with instructions for completing a bank transfer. If required, you can set a different approval URL here which allows you to build your own page for showing bank transfer instructions to buyers. When set, the Approval URL is returned with a Session Token appended as a query parameter named `token`. This Session Token can be used with the [Transaction Session API](https://docs.gr4vy.com/reference/transactions/get-transaction-session) to retrieve the [details](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-next_action-display_bank_transfer_instructions) required to build your own page. ## Webhooks SPEI payments and refunds are completed asynchronously, so webhooks must be configured to update the status of transactions. Webhooks are configured in the Stripe Dashboard within Developer Settings under **Webhooks**. The SPEI connector relies on the following Stripe webhooks: * `payment_intent.succeeded` * `payment_intent.partially_funded` * `payment_intent.canceled` * `charge.refund.updated` ## Integration The default integration for SPEI via Stripe uses a redirect to a payments page hosted by Stripe. ### Redirect integration Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" method := components.RedirectPaymentMethodCreateMethodSpei redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `processing`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://payments.stripe.com/bank_transfers/instructions/test..." }, "method": "spei" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they see instructions for completing a bank transfer. Once the buyer completes a bank transfer, the transaction progresses to a `capture_succeeded` state in response to a webhook from Stripe. ### Direct integration If you intend to use your own hosted page for presenting the buyer with bank transfer instructions, you can include an `integration_client` parameter set to `web`, `ios` or `android` when creating a new transaction. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "MXN", Country = "MX", IntegrationClient = "ios", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "spei", Country = "MX", Currency = "MXN", RedirectUrl = "myapp://callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "MXN" country := "MX" integrationClient := "ios" method := components.RedirectPaymentMethodCreateMethodSpei redirectUrl := "myapp://callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, IntegrationClient: &integrationClient, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("MXN") .country("MX") .integrationClient("ios") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SPEI) .country("MX") .currency("MXN") .redirectUrl("myapp://callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'MXN', country: 'MX', integrationClient: 'ios', paymentMethod: new RedirectPaymentMethodCreate( method: 'spei', country: 'MX', currency: 'MXN', redirectUrl: 'myapp://callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="MXN", country="MX", integration_client="ios", payment_method={ "method": "spei", "country": "MX", "currency": "MXN", "redirect_url": "myapp://callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "MXN", country: "MX", integrationClient: "ios", paymentMethod: { method: "spei", country: "MX", currency: "MXN", redirectUrl: "myapp://callback" } }) ``` After the transaction is created, the API response includes a `session_token`. You use this token with the [session endpoint](/reference/transactions/get-transaction-session) to retrieve the session data for the transaction and build a custom page that displays the bank transfer instructions. ```json theme={"system"} POST /transactions/:transaction_id/session?token=:session_token { "session_data": { "paymentIntentId": "pi_3StlgnRAbJldLcy50NYwrdAN", "bankTransferInstructions": { "type": "mx_bank_transfer", "currency": "mxn", "reference": "266688", "amount_remaining": 1000, "financial_addresses": [ { "spei": { "clabe": "124180613177193525", "bank_code": "124", "bank_name": "CITI MEXICO", "bank_address": { "city": "Naucalpan", "line1": "Blvd. Manuel Avila Camacho 1902", "line2": "Planta Baja, Cd. Satelite", "state": "Estado de Mexico", "country": "MX", "postal_code": "C.P. 53100" }, "account_holder_name": "Gr4vy sandbox", "account_holder_address": { "city": "Ciudad de México", "line1": "Av Paseo de la Reforma 180 piso 29 col Juarez", "line2": null, "state": "Ciudad de México", "country": "MX", "postal_code": "06600" } }, "type": "spei", "supported_networks": [ "spei" ] } ], "hosted_instructions_url": "https://payments.stripe.com/bank_transfers/instructions/test_YWNjdF8xU29peEtSQWJKbGRMY3k1LF9UcnRKS1JrUExGMHVUTmR6bjVJQWxOWGd3SXpoNks20100O3vRPYrH" } }, "default_completion_url": "https://example.com/callback", "integration_client": "ios" } ``` # Worldline TravelHub - Card Source: https://docs.gr4vy.com/connections/payments/travelhub-card Configure card payments via Worldline TravelHub. Worldline TravelHub supports card payments for travel merchants across multiple regions and currencies. ## Setup Please follow the [common Worldline instructions](./worldline) to get set up with card via TravelHub. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with TravelHub, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured TravelHub connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing Refer to the [TravelHub docs](https://docs.travel.worldline-solutions.com/) for further guidance on your integration, including detailed testing instructions. # Worldline TravelHub - iDEAL Source: https://docs.gr4vy.com/connections/payments/travelhub-ideal Configure iDEAL via Worldline TravelHub. Worldline TravelHub provides iDEAL payments through a redirect flow for buyers in the Netherlands. ## Setup Please follow the [common Worldline instructions](./worldline) to get set up with iDEAL via TravelHub. After setting up your TravelHub account, make sure iDEAL is enabled as a payment method on your account. TravelHub requires the billing country (`address.country`) for iDEAL transactions. ## Capabilities ## Supported countries ## Supported currencies ## Captures and refunds As iDEAL transactions can take up to 48 hours to be marked as paid, refunds cannot be processed until the transaction reaches that state. Transactions marked as **Captured** in the system might not be refundable until this point. ## Integration The default integration for iDEAL via TravelHub uses a redirect to a payments page hosted by Gr4vy. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "NL", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "ideal", Country = "NL", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "NL" method := components.RedirectPaymentMethodCreateMethodIdeal redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("NL") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.IDEAL) .country("NL") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'NL', paymentMethod: new RedirectPaymentMethodCreate( method: 'ideal', country: 'NL', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="NL", payment_method={ "method": "ideal", "country": "NL", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "NL", paymentMethod: { method: "ideal", country: "NL", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/worldline/apm.html?token=..." }, "method": "ideal" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval, the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Refer to the [TravelHub docs](https://docs.travel.worldline-solutions.com/payment-methods/payment-product/ideal/overview/) for further guidance on your integration, including detailed testing instructions. # Worldline TravelHub - Sofort Source: https://docs.gr4vy.com/connections/payments/travelhub-sofort Configure Sofort via Worldline TravelHub. Worldline TravelHub provides Sofort payments through a redirect flow for supported European countries. ## Setup Please follow the [common Worldline instructions](./worldline) to get set up with Sofort via TravelHub. After setting up your TravelHub account, make sure Sofort is enabled as a payment method on your account. TravelHub requires the billing country (`address.country`) for Sofort transactions. ## Capabilities ## Supported countries ## Supported currencies ## Captures and refunds As Sofort transactions can take up to 48 hours to be marked as paid, refunds cannot be processed until the transaction reaches that state. Transactions marked as **Captured** in the system might not be refundable until this point. ## Integration The default integration for Sofort via TravelHub uses a redirect to a payments page hosted by Gr4vy. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "sofort", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" method := components.RedirectPaymentMethodCreateMethodSofort redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.SOFORT) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', paymentMethod: new RedirectPaymentMethodCreate( method: 'sofort', country: 'DE', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", payment_method={ "method": "sofort", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "EUR", country: "DE", paymentMethod: { method: "sofort", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes `payment_method.approval_url` and the `buyer_approval_pending` status. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/worldline/apm.html?token=..." }, "method": "sofort" } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval, the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). ## Testing Refer to the [TravelHub docs](https://docs.travel.worldline-solutions.com/payment-methods/payment-product/sofort/overview/) for further guidance on your integration, including detailed testing instructions. # Trustly (United States) Source: https://docs.gr4vy.com/connections/payments/trustly-trustly Connect to Trustly to accept bank payments in the United States. For non-United States payments please use the [Trustly Europe](./trustlyeurope-trustlyeurope) connector. ## Setup When setting up Trustly in the dashboard, configure the following credentials, which can all be obtained from Trustly after the account has been created. * **Access ID** - The identifier that acts as a username when connecting to the Trustly API. * **Access Key** - The key that acts as a password when connecting to the Trustly API. * **Merchant ID** - The ID that is used to target the specific merchant account to process payments for. ## Supported countries ## Supported currencies ## Integration ### Redirect integration The default integration for Trustly is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```json POST /transactions theme={"system"} { "amount": 100, "currency": "USD", "country": "US", "intent": "capture", "payment_method": { "method": "trustly", "redirect_url": "https://example.com/callback", "country": "US", "currency": "USD" } } ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the transaction is set to `buyer_approval_pending`. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/trustly/trustly.html?token=...", ... }, "method": "trustly", ... } ``` Redirect the buyer to the `approval_url` so they can complete authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). In sandbox, use the **Demo Bank** and any credentials to simulate a successful flow. For applications that use a multi-platform architecture, in which a web-based checkout experience is embedded in a mobile app via a Webview, attention must be paid to ensure Trustly is integrated successfully. In addition to the [Trustly guide](https://amer.developers.trustly.com/payments/reference/webview) on this topic, support has been added to pass the `urlScheme` required for this integration. When passing this value, this is forwarded to Trustly, as well as the `integrationContext`, allowing for the integration to listen to webhooks. In short, the flow would be as follows. * When creating a Trustly transaction, pass the `urlScheme = "YOUR_APP://SOME_RESOURCE"` property [to the API](/reference/transactions/new-transaction#body-connection-options-trustly-trustly). * In the application, load the `approval_url` provided from the API into the application's webview. * The `urlScheme` as well as the right `integrationContext` are passed to the `establishData` as defined in the Trustly guide. * The application listens to all the various callbacks from Trustly as defined in the Trustly guide. * When the transaction completes, the app invokes `window.Trustly.proceedToChooseAccount();` on the webview as defined in the guide. * The hosted page gets notified by the Trustly lightbox and completes the payment. ### Direct integration Trustly provides [web](https://amer.developers.trustly.com/payments/docs/sdk) and [mobile SDKs](https://amer.developers.trustly.com/payments/reference/sdks) for an in-context (direct) integration. For these flows, indicate the platform by setting an appropriate `integration_client` when creating the transaction, and then build a client-side integration that uses the [`POST /transactions/:transaction_id/session`](/reference/transactions/get-transaction-session) API to initialize the Trustly SDK. To start, create a new transaction with the appropriate `integration_client`. ```json Web theme={"system"} POST /transactions { "amount": 100, "currency": "USD", "country": "US", "intent": "capture", "integration_client": "web", "payment_method": { "method": "trustly", "redirect_url": "https://example.com/callback", "country": "US", "currency": "USD" } } ``` ```json iOS theme={"system"} POST /transactions { "amount": 100, "currency": "USD", "country": "US", "intent": "capture", "integration_client": "ios", "payment_method": { "method": "trustly", "redirect_url": "yourapp://", "country": "US", "currency": "USD" }, } ``` ```json Android theme={"system"} POST /transactions { "amount": 100, "currency": "USD", "country": "US", "intent": "capture", "integration_client": "android", "payment_method": { "method": "trustly", "redirect_url": "yourapp://", "country": "US", "currency": "USD" }, } ``` After the transaction is created, the API response includes a `session_token` which can be used to get the [session data](/reference/transactions/get-transaction-session) for that transaction. ```sh theme={"system"} POST /transactions/:transaction_id/session?token=:session_token ``` ```json Web theme={"system"} { "session_data": { "baseUrl": "https://sandbox.trustly.one", "establishData": { "amount": "0.00", "accessId": "Ev6e2YzsthnCLEefTdYs", "currency": "USD", "customer": {}, "cancelUrl": "https://api.sandbox.spider.gr4vy.app/transactions/approve/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.cj9hcFjrQh6fPVGFQ2KVtw.MXnZvx-h4H5uWucMDQSXoM0KhZb9n0rl-S3KwxaX_to?gr4vy_store=false&cancel=true", "returnUrl": "https://api.sandbox.spider.gr4vy.app/transactions/approve/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.cj9hcFjrQh6fPVGFQ2KVtw.MXnZvx-h4H5uWucMDQSXoM0KhZb9n0rl-S3KwxaX_to?gr4vy_store=false", "merchantId": "1019347005", "description": null, "paymentType": "Deferred", "notificationUrl": "https://api.sandbox.spider.gr4vy.app/i/hWmg8tTgTA6MzV_7mz7-QnRydXN0bHktdHJ1c3RseQ/7XRgAbqH5nMLp9Xhg5err3odYmF7_07HYKHNcg9nSaI", "requestSignature": "2T1o/igBnnjYMYIf9g5MBE4nIb8=", "merchantReference": "3Ta5b7GDKE83rCysLkfFbD" } }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.cj9hcFjrQh6fPVGFQ2KVtw.MXnZvx-h4H5uWucMDQSXoM0KhZb9n0rl-S3KwxaX_to?gr4vy_store=false", "integration_client": "web" } ``` ```json iOS theme={"system"} { "session_data": { "baseUrl": "https://sandbox.trustly.one", "establishData": { "amount": "0.00", "accessId": "Ev6e2YzsthnCLEefTdYs", "currency": "USD", "customer": {}, "metadata": { "urlScheme": "yourapp://" }, "merchantId": "1019347005", "description": null, "paymentType": "Deferred", "notificationUrl": "https://api.sandbox.spider.gr4vy.app/i/hWmg8tTgTA6MzV_7mz7-QnRydXN0bHktdHJ1c3RseQ/7XRgAbqH5nMLp9Xhg5err3odYmF7_07HYKHNcg9nSaI", "requestSignature": "AxsiNyiaG5qu2tyJxHKKoJsPF9w=", "merchantReference": "1eWc74qJyrX9OlbVInQWhD" } }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.NlVnD1xDQbivneh49nnZNw.Auq5dMJQ7UpVho9AhoUnXrXyZllxVdyq34dHVH6kRAE?gr4vy_store=false", "integration_client": "ios" } ``` ```json Android theme={"system"} { "session_data": { "baseUrl": "https://sandbox.trustly.one", "establishData": { "amount": "0.00", "accessId": "Ev6e2YzsthnCLEefTdYs", "currency": "USD", "customer": {}, "metadata": { "urlScheme": "yourapp://" }, "merchantId": "1019347005", "description": null, "paymentType": "Deferred", "notificationUrl": "https://api.sandbox.spider.gr4vy.app/i/hWmg8tTgTA6MzV_7mz7-QnRydXN0bHktdHJ1c3RseQ/7XRgAbqH5nMLp9Xhg5err3odYmF7_07HYKHNcg9nSaI", "requestSignature": "AxsiNyiaG5qu2tyJxHKKoJsPF9w=", "merchantReference": "1eWc74qJyrX9OlbVInQWhD" } }, "default_completion_url": "https://api.sandbox.spider.gr4vy.app/transactions/approve/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.NlVnD1xDQbivneh49nnZNw.Auq5dMJQ7UpVho9AhoUnXrXyZllxVdyq34dHVH6kRAE?gr4vy_store=false", "integration_client": "android" } ``` This session data provides the `establishData` required to load the Trustly SDK. ```js Web theme={"system"} // Determine the URL of the script, and the method to invoke on the Trustly SDK const { establishData, baseUrl } = response.session_data const method = establishData.paymentType === "Verification" ? 'establish' : 'selectBankWidget' const url = `${baseUrl}/start/scripts/trustly.js?accessId=${establishData.accessId}` // Dynamically load the script with the access ID const script = document.createElement("script"); script.src = url; script.onload = () => { // Initialize the Trustly SDK and attach it to the #component Trustly[method](establishData, { hideCloseButton: true, dragAndDrop: true, widgetContainerId: "component", }); }; document.head.appendChild(script); ``` ```swift iOS theme={"system"} // https://amer.developers.trustly.com/payments/reference/ios var establishData:Dictionary? override func viewDidLoad() { super.viewDidLoad() let widgetVC = WidgetViewController(establishData: establishData) widgetVC.delegate = self widgetVC.view.frame = CGRect(x: 16, y: 220, width: 350, height: 500) view.addSubview(widgetVC.view) } ``` ```kotlin Android theme={"system"} // https://amer.developers.trustly.com/payments/reference/android // MainActivity.kt val establishData = EstablishData.getEstablishDataValues().toMutableMap() val connectTrustlyButton = findViewById(R.id.btnConnectWithMyBank) connectTrustlyButton.setOnClickListener { val intent = Intent(this@MainActivity, LightboxActivity::class.java) intent.putExtra(LightboxActivity.ESTABLISH_DATA, establishData as Serializable) startActivity(intent) } ``` Please refer to the Trustly documentation for the [web](https://amer.developers.trustly.com/payments/docs/sdk) and [mobile SDKs](https://amer.developers.trustly.com/payments/reference/sdks) for further guidance. View a complete, ready-to-run example for direct Trustly Web SDK integration on GitHub. The repository includes setup instructions, session initialization, sample client code for loading the Trustly script, and guidance for handling redirects and webhooks. #### Complete the transaction Recommended On mobile integrations, after the buyer completes the payment flow, the Trustly SDK provides the developer with the `transactionId` and `status`. The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended to send a `GET` request to the `default_completion_url` provided in the session response with the `transactionId` and the `status` as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent. The call returns a `204 No Content` response. After receiving this response, you can also optionally fetch the transaction to confirm final status. ```kotlin Android theme={"system"} // Define two functions to handle callbacks and pass them into the onReturn and onCancel parameters of the establish method. lightboxView.establish(establishData) .onReturn( (TrustlyCallback { lightboxView: Trustly, returnData: Map -> val transactionId = returnData["transactionId"] val status = returnData["status"] // append transactionId and status to the `default_completion_url` val uri = Uri.parse(defaultCompletionUrl) .buildUpon() .appendQueryParameter("transactionId", transactionId) .appendQueryParameter("status", status) .build() val approvalUrl = URL(uri.toString()) // placeholder function to call the approval url makeRequest(approvalUrl) redirectToScreen(Callback.RETURN) }) ).onCancel( (TrustlyCallback { lightboxView: Trustly, cancelData: Map -> redirectToScreen(Callback.CANCEL) }) ) ``` ```swift iOS theme={"system"} // Define two functions to handle callbacks and pass them into the onReturn and onCancel parameters of the establish method. var establishData:Dictionary? var amount: String? var delegate: TrustlyLightboxViewProtocol? override func viewDidLoad() { super.viewDidLoad() let trustlyLightboxPanel = TrustlyView() guard let amountText = amount else { return } self.establishData = [ "accessId": YOUR_ACCESS_ID, "merchantId": YOUR_MERCHANT_ID, "requestSignature": GENERATED_HASH, "description": "transaction description", "merchantReference": YOUR_UNIQUE_TRANSACTION_REF, "amount": "0.00", "paymentType": "Deferred", "currency": "USD", "metadata.lang": "en_US", "metadata.urlScheme": RETURN_URL ] self.view = trustlyLightboxPanel.establish(self.establishData, onReturn: {(trustly, returnParameters)->Void in let response = returnParameters as! [String:String] let status = response["status"] let transactionId = response["transactionId"] // Use URLComponents to safely build the URL with query parameters var components = URLComponents(string: defaultCompletionUrl) // Add transactionId and status as query parameters components.queryItems = [ URLQueryItem(name: "transactionId", value: transactionId), URLQueryItem(name: "status", value: status) ] // Constructed approval URL let approvalURL = components.url // placeholder function to call the approval url self.makeRequest(url: approvalURL) self.delegate?.onReturnWithTransactionId(transactionId: response["transactionId"]!, controller: self) }, onCancel: {(trustly, returnParameters)->Void in let response = returnParameters as! [String:String] self.delegate?.onCancelWithTransactionId(transactionId: response["transactionId"]!, controller: self) }) } ``` For more information refer to the [iOS](https://amer.developers.trustly.com/payments/reference/ios#add-callback-functions) and [Android](https://amer.developers.trustly.com/payments/reference/android#add-callback-functions) documentation. ## Limitations * Most API calls in Trustly are asynchronous and therefore captures and refunds are in a pending state until a notification is received. It's important to set up webhooks from the environment to yours in order to be notified of these status changes. * Partial refunds are supported. However, another refund cannot be initiated while there is an outstanding in-progress refund. * `payment_service_transaction_id` could change during the transaction lifecycle. Use the `additional_identifiers` object to get a stable reference to the PSP transaction ID. ## Recurring payments This connector supports recurring payments via the API and via Embed. If using Embed, most of the complexity is handled, but for direct API integrations it's important to ensure the right recurring payment flags are sent on the initial and subsequent payments. ### Initial payment For an initial recurring payment, please make sure to use a suitable `payment_source` (either `recurring` or `card_on_file`) and the `merchant_initiated` and `is_subsequent_payment` flags are set to `false`. This ensures a customer-present flow is triggered and a payment method is created that keeps track of Trustly's split token. ```json POST /transactions theme={"system"} { "amount": 1299, "payment_method": { "method": "trustly", "redirect_url": "https://example.com/callback", "country": "US", "currency": "USD" }, "country": "US", "currency": "USD", "intent": "capture", "buyer_id": "9cedaaea-68fe-4f07-bf94-55225be98d0f", "store": true, "payment_source": "recurring", "merchant_initiated": false, "is_subsequent_payment": false } ``` ### Subsequent payment For a subsequent recurring payment, please make sure to use the same `payment_source` (either `recurring` or `card_on_file`) and the `merchant_initiated` and `is_subsequent_payment` flags are set to `true`. This ensures a customer-not-present flow is triggered with the stored split token. ```json POST /transactions theme={"system"} { "amount": 1299, "payment_method": { "method": "id", "id": "c31a7f72-dac4-469b-a00a-5e3607f57b01" }, "country": "US", "currency": "USD", "intent": "capture", "buyer_id": "9cedaaea-68fe-4f07-bf94-55225be98d0f", "payment_source": "recurring", "merchant_initiated": true, "is_subsequent_payment": true } ``` ### Renewing split token In some situations, a recurring payment may fail because the Trustly "split token" has expired. ```json theme={"system"} { "type": "transaction", "id": "285771d9-afc1-4beb-a368-06e2cb03ec3a", "status": "authorization_declined", "method": "trustly", "raw_response_code": "326", "raw_response_description": "Expired Split Token", ... } ``` In this situation, reach out to the customer to renew their agreement. This can be done by setting the `refreshSplitToken` on a new customer-present transaction. It is important in this request to set a `redirect_url` to redirect the user back to the site after they have approved the transaction. ```json theme={"system"} { "amount": 1299, "payment_method": { "method": "id", "redirect_url": "https://example.com/callback", "id": "c31a7f72-dac4-469b-a00a-5e3607f57b01" }, "country": "US", "currency": "USD", "intent": "authorize", "buyer_id": "9cedaaea-68fe-4f07-bf94-55225be98d0f", "payment_source": "recurring", "merchant_initiated": false, "is_subsequent_payment": true, "connection_options": { "trustly-trustly": { "refreshSplitToken": true } } } ``` # Trustly (Europe) Source: https://docs.gr4vy.com/connections/payments/trustlyeurope-trustlyeurope Connect to Trustly Europe to accept redirect bank payments in Europe. For United States payments, use the [Trustly US](./trustly-trustly) connector. Trustly Europe supports redirect-based bank payments for buyers across Europe. ## Setup A Trustly account can be requested by contacting their sales team via the [Trustly website](https://www.trustly.com/contact-sales). ## Credentials When setting up Trustly in the dashboard, configure the following credentials, which you can obtain from the Trustly team. * **Username** - The username used to authenticate API requests. * **Password** - The password used to authenticate API requests. * **Private key** - The private key used to sign Trustly requests. ## Capabilities ## Supported countries ## Supported currencies ## Required fields Trustly Europe requires the following checkout fields: * Billing address country * Billing address line 1 * Billing address postal code Optionally, you can pass up to 249 cart items with a transaction. ## Integration The default integration for Trustly Europe uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "EUR", Country = "DE", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "trustlyeurope", Country = "DE", Currency = "EUR", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "EUR" country := "DE" method := components.RedirectPaymentMethodCreateMethodTrustlyeurope redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("EUR") .country("DE") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.TRUSTLYEUROPE) .country("DE") .currency("EUR") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'EUR', country: 'DE', paymentMethod: new RedirectPaymentMethodCreate( method: 'trustlyeurope', country: 'DE', currency: 'EUR', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="EUR", country="DE", payment_method={ "method": "trustlyeurope", "country": "DE", "currency": "EUR", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "EUR", country: "DE", paymentMethod: { method: "trustlyeurope", country: "DE", currency: "EUR", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "trustlyeurope" } ``` Redirect the buyer to the `approval_url` so they can complete bank authentication and approve the payment. After approval the buyer is redirected to the `redirect_url` you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example `capture_succeeded` or failure states). # Trust Payments - Card Source: https://docs.gr4vy.com/connections/payments/trustpayments-card Connect to Trust Payments to accept card payments. Trust Payments is a global payment processor offering secure card processing solutions with comprehensive international coverage. Trust Payments provides flexible payment processing capabilities for businesses across multiple regions and currencies. ## Setup A Trust Payments account can be requested by contacting the Trust Payments team via the [Trust Payments Support email](mailto:support@trustpayments.com). ## Connector configuration After signing up with Trust Payments, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Trust Payments account: * **Web Services username** - Your Trust Payments web services username * **Web Services password** - Your Trust Payments web services password for authentication * **Site Reference** - Your Trust Payments site reference identifier ## Capabilities ## Supported countries ## Supported currencies ## Limitations This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with Trust Payments, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Trust Payments connection based on your Flow rules or explicit `payment_service_id` parameter. # Unlimit - Card Source: https://docs.gr4vy.com/connections/payments/unlimit-card Connect to Unlimit to accept credit and debit card payments. Unlimit is a global payment platform that provides comprehensive card processing solutions. The platform supports card payments with advanced features like delayed capture, partial refunds, digital wallet integration, and 3-D Secure authentication across multiple currencies and countries. ## Setup To set up Unlimit in the dashboard, configure the following credentials from your Unlimit merchant account: * **Terminal Code** - Find in dashboard under **Settings** -> **Terminal** -> **Terminal Code** * **Password** - Find in dashboard under **Settings** -> **API Credentials** -> **Password** * **Callback Secret** - Find in dashboard under **Settings** -> **Webhooks** -> **Secret Key** ## Connector configuration After setting up your Unlimit connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Unlimit as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Unlimit connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. By default, Unlimit requires CVV for all transactions. This prevents most recurring payment scenarios as well as Google Pay on web, as this does not provide CVV. Contact Unlimit to request removal of the CVV requirement on your account to support these scenarios. ## Required fields Unlimit requires the buyer's billing email address and statement descriptor with every transaction. This data helps identify and validate the transaction. * `buyer.billing_details.email_address` - The buyer's email address * `statement_descriptor.description` - The text that appears on the buyer's card statement. When not provided, this value is set to "Payment" for convenience. Additionally, for recurring payments as "customer ID" is required. Gr4vy uses the buyer's reconciliation ID, buyer email, or the transaction reconciliation ID where available. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Unlimit, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Unlimit connection based on your Flow rules or explicit `payment_service_id` parameter. ## Webhooks Unlimit sends webhooks to notify you of transaction status changes. Make sure to configure your webhook endpoint in the Unlimit dashboard so that Gr4vy can receive real-time transaction updates and keep transaction statuses in sync. To configure webhooks in Unlimit: 1. Log in to your Unlimit merchant dashboard 2. Navigate to **Settings** -> **Webhooks** 3. Add the following webhook endpoint configured for you by Gr4vy 4. Enable notifications for transaction events Enable your Gr4vy instance's webhook URL to receive notifications about transaction status changes, refunds, and voids. Webhook setup is required for this connector to function properly. Without webhooks enabled, transaction status updates may be delayed. ## Testing For testing in sandbox environments, you can use standard test card numbers. Unlimit supports industry-standard test cards for simulating different transaction scenarios: **Successful transactions:** * Visa: `4111 1111 1111 1111` * Mastercard: `5555 5555 5555 4444` * American Express: `3782 822463 10005` Use any future expiry date and any 3-digit CVV (4 digits for American Express). For more test scenarios and additional card numbers, contact your Unlimit representative. # USAePay - Card Source: https://docs.gr4vy.com/connections/payments/usaepay-card Connect to USAePay to accept credit and debit card payments. USAePay is a US-based card payment gateway owned by NMI, providing secure payment processing solutions for merchants in the United States. ## Setup USAePay provides a self-service sign-up for a sandbox account. To sign up for an account, visit the [sign-up page](https://developer.usaepay.com/_developer/app/register) and create an account. ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your USAePay administrator portal under **Settings** → **API Keys**: * **API Key** - Your USAePay API key for authentication * **PIN** - Your USAePay PIN for API access * **Webhook Signature Key** (optional) - Your webhook signature key for verifying webhook authenticity USAePay API Key ## Connector configuration After setting up your USAePay connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure USAePay as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the USAePay connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **Refunds before settlement** - Captured transactions cannot be refunded until they are settled. Voiding a transaction before settlement is not currently supported. This is a closed-loop connector. Some failover scenarios are limited. For details, see [Open-loop versus closed-loop](/guides/features/recurring-payments/open-loop). ## Integration To accept card payments with USAePay, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured USAePay connection based on your Flow rules or explicit `payment_service_id` parameter. ## Webhooks Webhooks need to be configured in the USAePay administrator portal under **Settings** → **Webhooks**. Copy the webhook subscription URL from the Gr4vy dashboard and add it to the **Hook URL** field in the USAePay webhook configuration. USAePay Webhook Configuration If webhook signature verification is desired, enable this in the USAePay webhook configuration. Copy the **Signature Key** from the bottom of the webhook configuration window in USAePay's administrator portal, and provide this value in the **Webhook Signature Key** field when configuring the connector credentials in the Gr4vy dashboard. ### Idempotency USAePay supports idempotent retries, but this must be configured in the USAePay administrator portal and is linked directly to the API key. By default, the **Duplicate Transaction Handling** field is set to `None`. There are 3 options to choose from, and only the **Signature Key** option is supported by Gr4vy. There is also a **Time Limit** field that allows you to set a limit for evaluating duplicate transactions. # Value Link (Gift Cards) Source: https://docs.gr4vy.com/connections/payments/valuelink-gift-card Configure Value Link (by Fiserv) gift card payments in Gr4vy to accept gift cards at checkout, including balance checks and split tender. Value Link (by Fiserv) is a gift card platform that enables buyers to pay at checkout using one or more gift cards. Gift cards can be used alone or split across a traditional payment method. For a full overview of how gift cards work in Gr4vy, including checking balances, storing gift cards, and testing, see the [Gift cards guide](/guides/features/gift-cards/overview). ## Setup Value Link does not provide self-service sign-up. Please work with Fiserv to get set up and to have your **SVdot product** approved. Once the product is approved, you can generate your own **Product Key**. ## Credentials The following credentials are required. * The **Merchant ID** for the integration. This is provided by Fiserv. * The **SVdot API Key** from the Fiserv dashboard. * The **SVdot API Secret** from the Fiserv dashboard. These credentials can be configured in the dashboard directly when setting up a Value Link connection, or the details can be securely shared with the solution engineering team for them to set up. ### Issuing virtual gift cards [Issuing a virtual gift card](/guides/features/gift-cards/overview#issue-a-virtual-gift-card) uses Fiserv's Market product rather than SVdot. To issue virtual gift cards, you also need the following credentials. * The **Market API Key** for the Market product. This is provided by Fiserv. * The **Market API Secret** for the Market product. This is provided by Fiserv. These are separate from the SVdot credentials used for balance checks, redemptions, and physical card activation, and require their own approval and setup with Fiserv. Value Link ignores the `currency` field when issuing a virtual gift card. The currency of the issued card is determined by your Fiserv Market account configuration instead. ### Verifying credentials When you save a Value Link connection, Gr4vy verifies the configured credentials against Fiserv. The SVdot credentials are always verified. If you also provided Market credentials, Gr4vy authenticates against the Market product as well. Verification only succeeds when every set of credentials you configured is valid. A failed verification does not identify which product rejected the credentials. If verification fails and you configured both products, check both sets of credentials. # Windcave - Card Source: https://docs.gr4vy.com/connections/payments/windcave-card Connect to Windcave to accept card payments. Windcave provides a global platform that delivers seamless payment experiences for thousands of the world's most recognizable brands. ## Setup To create a Windcave account, please [contact Windcave](https://www.windcave.com/contact-us) directly. ## Credentials When setting up Windcave in the Gr4vy dashboard, configure the following credentials, which you can obtain from the Windcave dashboard: * **API Username** * **API Key** ## Capabilities ## Supported countries ## Supported currencies ## Limitations * **CIT with CVV** - Customer-initiated transaction (CIT) requests using stored payment methods cannot include a CVV. ## Integration To accept card payments with Windcave, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Windcave connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For sandbox testing, use the Windcave [UAT Environment](https://uat.windcave.com/) and the test credentials and card data provided by your Windcave representative. # Worldline Source: https://docs.gr4vy.com/connections/payments/worldline Connect to Worldline to accept card payments and local payment methods. Worldline is a global payment processing company providing tailored solutions for merchants across various industries. Worldline's platforms deliver secure, reliable payment acceptance and processing services worldwide. ## Supported payment methods | Method | Countries | Currencies | Notes | | ----------------------------------------- | -------------------- | ---------------------- | ----------------------------------------------- | | [Card (Connect)](./worldlineconnect-card) | `AD`, `AE`, 226 more | `AED`, `ALL`, 126 more | Card processing via Worldline Connect. | | [Card (TravelHub)](./travelhub-card) | `AD`, `AE`, 226 more | `AED`, `ALL`, 126 more | Card processing via TravelHub. | | [iDEAL (TravelHub)](./travelhub-ideal) | `NL` | `EUR` | Bank redirect in the Netherlands via TravelHub. | | [Sofort (TravelHub)](./travelhub-sofort) | `AT`, `BE`, 6 more | `CHF`, `EUR`, 2 more | Bank redirect in Europe via TravelHub. | ## TravelHub setup To create a Worldline account, please [contact Worldline](https://worldline.com/) directly. For Worldline Connect card setup, use [Card (Connect)](./worldlineconnect-card). ## TravelHub credentials When setting up TravelHub in the dashboard, configure the following credentials, which you can obtain from the Worldline configuration center and the Worldline team. * **Merchant ID** - The numerical merchant ID. This is not the merchant ID shown in the configuration center. Contact Worldline to get the actual TravelHub merchant ID. * **Username** - The API username from the TravelHub support team. This is not the dashboard username. * **Password** - The API password from the TravelHub support team. This is not the dashboard password. * **Webhook Key ID** - The ID of the key used to sign webhooks. This is available via the Worldline configuration center. * **Webhook Secret Key** - The secret key used to sign webhooks. This is available via the Worldline configuration center. ## TravelHub webhooks In order for webhooks to be sent, at least one signature key must be generated. This is done in the Worldline Configuration Center, under **Webhooks keys**. # Worldline Connect - Card Source: https://docs.gr4vy.com/connections/payments/worldlineconnect-card Connect to Worldline Connect to accept card payments. Worldline is a global payment processing company providing tailored solutions for merchants across various industries. Worldline's platforms deliver secure, reliable payment acceptance and processing services worldwide. ## Setup To create a Worldline Connect account, please [contact Worldline](https://worldline.com/) directly. **Note:** if you intend to tokenize cards, ask the Worldline Merchant Services team to configure your account to return `initialSchemeTransactionId` in transaction responses. ## Connector configuration After setting up your Worldline Connect connector in the dashboard, configure how transactions are routed to it. Choose one of the following options: * **Using Flow** - Configure Worldline Connect as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector * **Using the API** - Explicitly set the `payment_service_id` parameter to the Worldline Connect connector ID when creating transactions. This overrides any Flow routing rules. The connector ID can be found in the dashboard under **Connections** -> **Configured connections**. ## Credentials When setting up Worldline Connect in the dashboard, configure the following credentials, which you can obtain from the Worldline configuration center under **Account Settings**. * **Merchant ID** - The numerical merchant ID. * **API Key ID** - The API key ID. * **API Secret Key** - The API secret key. * **Webhook Secret Key** (optional) - The webhook secret key used to sign webhooks. ## Capabilities ## Webhooks In order for webhooks to be sent, at least one webhook key must be generated. This is done in the Worldline Configuration Center, under **Webhooks keys**. ## Required checkout fields Worldline Connect requires the following buyer fields during checkout: * `address.country` * `first_name` * `last_name` ## Supported countries ## Supported currencies ## Integration To accept card payments with Worldline Connect, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Worldline Connect connection based on your Flow rules or explicit `payment_service_id` parameter. ## Testing For sandbox testing, use the test credentials and card data provided by your Worldline representative. You can generate test card details using Worldline's [test card generator](https://docs.connect.worldline-solutions.com/testing/test-card-generator). # Worldpay Source: https://docs.gr4vy.com/connections/payments/worldpay Connect to Worldpay to accept card payments with VAP or WPG. Worldpay supports card processing through two connectors, VAP and WPG. ## Supported payment methods | Method | Countries | Currencies | Notes | | -------------------------------- | -------------------- | ---------------------- | ----------------------------------- | | [Card (VAP)](./worldpayvap-card) | `CA`, `US` | `AED`, `AFN`, 151 more | Card processing via Worldpay (VAP). | | [Card (WPG)](./worldpaywpg-card) | `AD`, `AE`, 235 more | `AED`, `AFN`, 143 more | Card processing via Worldpay (WPG). | # Worldpay (VAP) - Card Source: https://docs.gr4vy.com/connections/payments/worldpayvap-card Connect to Worldpay (VAP) to accept card payments. Worldpay (VAP) is a payment gateway providing secure card processing solutions primarily for merchants in North America. Worldpay (VAP) offers comprehensive payment processing capabilities with extensive currency support. ## Setup Contact your Worldpay (VAP) account manager to obtain your credentials and set up your account. ## Connector configuration After setting up your Worldpay (VAP) account, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Worldpay (VAP) account manager: * **Username** - Your Worldpay (VAP) username for API access * **Password** - Your Worldpay (VAP) password for authentication * **Merchant ID** - Your Worldpay (VAP) merchant identifier * **Default Report Group** - The default report group value used for every Worldpay (VAP) API request. See the [Worldpay (VAP) docs](http://support.worldpay.com/support/CNP-API/content/codeforrepgroups.htm) for more information on how report groups work * **Use sandbox** (optional) - When enabled in the sandbox environment, uses the Worldpay sandbox instead of pre-production. This setting is ignored in production ## Mail Order Telephone Order (MOTO) Worldpay (VAP) differentiates telephone from mail orders with different values for order source. Gr4vy maps all MOTO transactions to telephone. ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Worldpay (VAP), use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Worldpay (VAP) connection based on your Flow rules or explicit `payment_service_id` parameter. # Worldpay (WPG) - Card Source: https://docs.gr4vy.com/connections/payments/worldpaywpg-card Connect to Worldpay WPG to accept card payments. Worldpay WPG (Worldpay Payment Gateway) is a global payment processing platform offering comprehensive card payment solutions with extensive international coverage. Worldpay WPG provides flexible payment processing capabilities with support for multiple currencies and countries worldwide. ## Setup Contact your Worldpay (WPG) account manager to obtain your credentials and set up your account. ## Connector configuration After setting up your Worldpay (WPG) account, you can configure the connector in Gr4vy using one of the following methods: * **[Flow](/guides/dashboard/flow)** - Configure payment routing rules through your Gr4vy dashboard * **[API integration](/guides/payments/direct-api/quick-start/overview)** - Specify the `payment_service_id` when creating transactions to explicitly route payments to this connector ## Credentials Configure the following credentials in the Gr4vy dashboard, which are obtained from your Worldpay (WPG) account manager: * **Username** - Your Worldpay (WPG) username for API access * **Password** - Your Worldpay (WPG) password for authentication ## Capabilities ## Supported countries ## Supported currencies ## Integration To accept card payments with Worldpay (WPG), use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers. You can integrate using: * **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow * **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance * **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which routes the payment to your configured Worldpay (WPG) connection based on your Flow rules or explicit `payment_service_id` parameter. ### Webhook configuration Webhooks need to be configured in the Worldpay Merchant Administration Interface (MAI) under **INTEGRATION** → **Merchant Channel**. For more detailed instructions, refer to the [Worldpay setup guide](https://docs.worldpay.com/apis/wpg/manage). To ensure Gr4vy stays up to date with the latest payment changes, enable notifications for the following payment statuses: * `CAPTURED` * `CAPTURE_FAILED` * `REFUSED` * `CANCELLED` * `REFUNDED` * `REFUND_FAILED` ### Idempotency Your Worldpay (WPG) account manager may need to enable idempotency for your account to support automatic retry handling of duplicate transactions. # Zip Source: https://docs.gr4vy.com/connections/payments/zippay-zippay Connect to Zip to accept buy now, pay later payments. Zip is a buy now, pay later (BNPL) payment method that allows buyers to split purchases into installments. Zip uses a redirect flow where the buyer approves the payment on the Zip hosted page. ## Setup To sign up for an account, visit the [Zip sign-up page](https://zip.co/au/create-an-account) and fill in the details. ## Credentials When setting up Zip in the dashboard, configure the following credentials: * **API key** - The API key provided by Zip. This can be found in the Zip dashboard or is provided to you via email. ## Capabilities ## Supported countries ## Supported currencies ## Integration The default integration for Zip uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "AUD", Country = "AU", PaymentMethod = TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate( new RedirectPaymentMethodCreate() { Method = "zippay", Country = "AU", Currency = "AUD", RedirectUrl = "https://example.com/callback", } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "AUD" country := "AU" method := components.RedirectPaymentMethodCreateMethodZippay redirectUrl := "https://example.com/callback" redirectPaymentMethodCreate := components.RedirectPaymentMethodCreate{ Method: method, Country: country, Currency: currency, RedirectURL: redirectUrl, } paymentMethod := components.CreateTransactionCreatePaymentMethodRedirectPaymentMethodCreate(redirectPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, Country: &country, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("AUD") .country("AU") .paymentMethod(TransactionCreatePaymentMethod.of(RedirectPaymentMethodCreate.builder() .method(RedirectPaymentMethodCreateMethod.ZIPPAY) .country("AU") .currency("AUD") .redirectUrl("https://example.com/callback") .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 1299, currency: 'AUD', country: 'AU', paymentMethod: new RedirectPaymentMethodCreate( method: 'zippay', country: 'AU', currency: 'AUD', redirectUrl: 'https://example.com/callback' ) ); $response = $client->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="AUD", country="AU", payment_method={ "method": "zippay", "country": "AU", "currency": "AUD", "redirect_url": "https://example.com/callback", } ) ``` ```ts TypeScript theme={"system"} const transaction = await client.transactions.create({ amount: 1299, currency: "AUD", country: "AU", paymentMethod: { method: "zippay", country: "AU", currency: "AUD", redirectUrl: "https://example.com/callback" } }) ``` After the transaction is created, the API response includes a `payment_method.approval_url` and the status is set to `buyer_approval_pending`. The approval URL expires after 30 minutes. ```json theme={"system"} { "type": "transaction", "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625", "payment_method": { "type": "payment-method", "approval_url": "https://cdn.gr4vy.com/connectors/..." }, "method": "zippay" } ``` Redirect the buyer to the `approval_url` (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to an `authorization_succeeded` or `capture_succeeded` state. # Managing API keys Source: https://docs.gr4vy.com/guides/api/api-keys Provision and manage API key pairs over the API, including multi-account keys, your own public keys, and enabling or disabling keys. API key pairs can be provisioned and managed over the API, in addition to the [dashboard](/guides/dashboard/integrations/api-keys). This lets you automate key provisioning at scale, such as issuing a key for each merchant during an independent sales organization (ISO) onboarding flow. ## The Key Manager role Managing API keys over the API requires the **Key Manager** role. This role is scoped strictly to the API key lifecycle through the `api-key-pairs.read` and `api-key-pairs.write` permissions. It grants no access to payments or back-office data. The Administrator role can also manage keys, but Key Manager keeps key management separate from payments and configuration access. The Key Manager role is not granted by default and is assignable only to an API key. Assign it from the [dashboard](/guides/dashboard/integrations/api-keys) to the API key that provisions keys. The **Administrator** and **Key Manager** roles can only be assigned by a dashboard user. An API key cannot create or update another key with either role, even when it holds the Key Manager role itself. ## Create a key Create a key pair with a `POST` to the `/api-key-pairs` endpoint. A key requires a `display_name` and exactly one role in `role_ids`. ```csharp C# theme={"system"} var apiKeyPair = await client.ApiKeyPairs.CreateAsync( new APIKeyPairCreate() { DisplayName = "Onboarding service", RoleIds = new List() { "" }, MerchantAccountIds = new List() { "default", "acme-au" }, } ); ``` ```go Go theme={"system"} apiKeyPair, err := client.APIKeyPairs.Create(ctx, components.APIKeyPairCreate{ DisplayName: "Onboarding service", RoleIds: []string{ "", }, MerchantAccountIds: []string{ "default", "acme-au", }, }) ``` ```java Java theme={"system"} CreateApiKeyPairResponse response = gr4vyClient.apiKeyPairs().create() .request(APIKeyPairCreate.builder() .displayName("Onboarding service") .roleIds(List.of("")) .merchantAccountIds(List.of("default", "acme-au")) .build()) .call(); ``` ```php PHP theme={"system"} $apiKeyPairCreate = new APIKeyPairCreate( displayName: 'Onboarding service', roleIds: [''], merchantAccountIds: ['default', 'acme-au'], ); $response = $client->apiKeyPairs->create( request: $apiKeyPairCreate ); ``` ```python Python theme={"system"} api_key_pair: models.APIKeyPair = client.api_key_pairs.create( display_name="Onboarding service", role_ids=[""], merchant_account_ids=["default", "acme-au"], ) ``` ```ts TypeScript theme={"system"} const apiKeyPair = await gr4vy.apiKeyPairs.create({ displayName: "Onboarding service", roleIds: [""], merchantAccountIds: ["default", "acme-au"], }); ``` By default, Gr4vy generates the key pair and returns the `private_key` once, in the response to this request. Store it securely, as it cannot be retrieved again. See the [Create API key](/reference/api-key-pairs/new-api-key-pair) reference for more detail on this endpoint. ## Provide your own public key Rather than have Gr4vy generate the key pair, you can supply your own public key in the `public_key` field on create. When you do, Gr4vy stores the public key and does not generate or return a private key, so the private key never leaves your systems. The public key must be a PEM-encoded ECDSA key on the P-521 (ES512) curve. RSA keys are not accepted. Set `algorithm` to match, and note that the public key is immutable for the life of the key. ```csharp C# theme={"system"} var apiKeyPair = await client.ApiKeyPairs.CreateAsync( new APIKeyPairCreate() { DisplayName = "Onboarding service", RoleIds = new List() { "" }, Algorithm = "ES512", PublicKey = "-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----", } ); ``` ```go Go theme={"system"} apiKeyPair, err := client.APIKeyPairs.Create(ctx, components.APIKeyPairCreate{ DisplayName: "Onboarding service", RoleIds: []string{ "", }, Algorithm: "ES512", PublicKey: gr4vy.String("-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----"), }) ``` ```java Java theme={"system"} CreateApiKeyPairResponse response = gr4vyClient.apiKeyPairs().create() .request(APIKeyPairCreate.builder() .displayName("Onboarding service") .roleIds(List.of("")) .algorithm("ES512") .publicKey("-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----") .build()) .call(); ``` ```php PHP theme={"system"} $apiKeyPairCreate = new APIKeyPairCreate( displayName: 'Onboarding service', roleIds: [''], algorithm: 'ES512', publicKey: "-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----", ); $response = $client->apiKeyPairs->create( request: $apiKeyPairCreate ); ``` ```python Python theme={"system"} api_key_pair: models.APIKeyPair = client.api_key_pairs.create( display_name="Onboarding service", role_ids=[""], algorithm="ES512", public_key="-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----", ) ``` ```ts TypeScript theme={"system"} const apiKeyPair = await gr4vy.apiKeyPairs.create({ displayName: "Onboarding service", roleIds: [""], algorithm: "ES512", publicKey: "-----BEGIN PUBLIC KEY-----\n\n-----END PUBLIC KEY-----", }); ``` ## Issue a key for multiple merchant accounts A single key can be scoped to more than one merchant account by passing an array of merchant account IDs in `merchant_account_ids`. This is useful when one ISO or brand groups several merchant accounts. The list is editable after creation. Add or remove merchant accounts with a `PUT` to the key. This does not regenerate the key or its private key. To grant a key access to all merchant accounts, pass an empty list. You can also omit `merchant_account_ids` entirely. This is only allowed when the caller can already access all merchant accounts. ## Turn a key on or off Each key has an `active` field that you can update over the API and in the dashboard. Set `active` to `false` to turn off a key. A request authenticated with an off key is rejected with a `401 Unauthorized` response, which lets you revoke access immediately without deleting the key. ```csharp C# theme={"system"} var apiKeyPair = await client.ApiKeyPairs.UpdateAsync( apiKeyPairId: "", apiKeyPairUpdate: new APIKeyPairUpdate() { Active = false, } ); ``` ```go Go theme={"system"} apiKeyPair, err := client.APIKeyPairs.Update(ctx, "", components.APIKeyPairUpdate{ Active: gr4vy.Bool(false), }) ``` ```java Java theme={"system"} UpdateApiKeyPairResponse response = gr4vyClient.apiKeyPairs().update() .apiKeyPairId("") .apiKeyPairUpdate(APIKeyPairUpdate.builder() .active(false) .build()) .call(); ``` ```php PHP theme={"system"} $apiKeyPairUpdate = new APIKeyPairUpdate( active: false, ); $response = $client->apiKeyPairs->update( apiKeyPairId: '', apiKeyPairUpdate: $apiKeyPairUpdate ); ``` ```python Python theme={"system"} api_key_pair: models.APIKeyPair = client.api_key_pairs.update( api_key_pair_id="", active=False, ) ``` ```ts TypeScript theme={"system"} const apiKeyPair = await gr4vy.apiKeyPairs.update( { active: false, }, "", ); ``` ## Track when a key was last used Each API key pair includes a `last_used_at` field with the date and time it was last used to authenticate a request, or `null` if it has never been used. This also appears as the **Last used** column in the **API Keys** table in the [dashboard](/guides/dashboard/integrations/api-keys). Use it to audit dormant keys before disabling or deleting them. `last_used_at` updates asynchronously and can lag behind the most recent request by up to a few minutes. ## Lifecycle webhooks Gr4vy emits [webhook events](/guides/features/webhooks/events) as keys change, so you can keep an audit trail of provisioning: * `api-key-pair.created` * `api-key-pair.updated` * `api-key-pair.deleted` The `api-key-pair.updated` event covers all changes to an existing key, including enabling or disabling it and editing its merchant accounts. Subscribe to these events through the existing [webhook subscription](/reference/webhook-subscriptions/new-webhook-subscription) mechanism. # Authentication Source: https://docs.gr4vy.com/guides/api/authentication API authentication basics and best practices. The API uses **Bearer (Token) Authentication** to authenticate any request. These tokens are **JSON Web Tokens (JWT)** which need to be created server side by the app. ## Create an API key To sign a JWT, create a new API key-pair in the dashboard. To create a new API key visit the **Integrations** panel in the dashboard and click the **Add API key** button. The API key can be stored with the code or in a secure environment accessible to the app. Keys can also be provisioned and managed over the API. See [Managing API keys](./api-keys) to automate key provisioning at scale. ## Server-side SDKs Make server-side calls with the C# SDK. Make server-side calls with the Go SDK. Make server-side calls with the Java SDK. Make server-side calls with the PHP SDK. Make server-side calls with the Python SDK. Make server and client-side API calls with the TypeScript SDK. ## Mobile SDKs A low-level, client-side Swift SDK for those looking to build their own custom user experiences on Apple devices. A low-level, client-side Kotlin SDK for those looking to build their own custom user experiences on Android A fully embedded drop-in UI for Apple devices with support for card, Apple Pay, and other payment methods. A fully embedded drop-in UI for Android devices with support for card, Google Pay, and other payment methods. ## Development tools Create API tokens and checkout sessions with the command line interface tool. Start exploring the API using the official Postman collection. ## Without SDKs It is also [possible to generate the JWT](./jwts) without the SDKs using any number of open source JWT libraries. # API Compatibility Source: https://docs.gr4vy.com/guides/api/compatibility At Gr4vy, there is a commitment to providing a stable, reliable, and predictable API for merchants. The goal is to empower you to build robust integrations with confidence, knowing that your code won't break unexpectedly. This guide outlines the approach to API compatibility and how changes are managed. Industry best practices for REST APIs are followed to ensure a seamless experience. The strategy is centered on two key principles: backward compatibility for the API and forward compatibility for your client integration. ## Commitment: Backward compatibility Backward compatibility means that your existing code continues to work as the API is updated. This is ensured by strictly adhering to the following rules for any API updates: * **Additive Changes Only:** Only non-breaking, additive changes are introduced to the existing API. This includes: * Adding new API endpoints. * Adding new, optional request parameters to existing endpoints. * Adding new properties to API response bodies. * Adding new values to existing enum fields. * **No Breaking Changes (Without Notice):** Existing fields or endpoints are never removed or renamed in a backward-compatible update. Your current integration continues to function as expected. ## Your responsibility: Forward compatibility Forward compatibility is the responsibility of the client, and the easiest way to achieve this is through the SDKs. Forward compatibility means that client code should be resilient to the additive changes mentioned in the preceding section. The app should be able to handle unexpected properties in API responses without crashing or throwing errors. ### Using Gr4vy SDKs The easiest way to ensure forward compatibility is to use the official SDKs. They are designed to handle new response fields gracefully, allowing you to adopt new features at your own pace without being forced to update your code. ### Building your own integration If not using one of the SDKs, ensure that the HTTP client and JSON parser are configured to ignore unknown properties in the response body. Most standard libraries do this by default, but it is crucial to verify this behavior to prevent the integration from breaking when the API is enhanced. ### How breaking changes are handled While there is a strive to avoid them, there may be rare occasions where a breaking change is necessary to improve services, enhance security, or deprecate a feature. A breaking change is any modification that is not backward-compatible, such as removing a field or changing a data type. In these situations, the following is provided: * **Advance Notice:** Any planned breaking changes are communicated at least 30 days in advance. This notice is sent via email and Slack, and is posted on [the developer changelog](/updates). * **Clear Documentation:** Clear documentation and a migration guide are provided to help you adapt your code to the new update. * **Collaborative Support:** It is understood that every team's development cycle is different. If the 30-day window presents a significant challenge for your organization, there is collaboration to find a viable solution. The support team is here to help you through the transition. By following these principles, the aim is to provide a powerful and stable platform to build on for years to come. # Connectivity and TLS Source: https://docs.gr4vy.com/guides/api/connectivity Review the TLS and security requirements for integrating with the Gr4vy API. ## TLS versions Gr4vy supports and requires **TLS 1.2** or **TLS 1.3** for all API connections. To ensure the security of data and maintain PCI compliance, older protocols are strictly unsupported: * SSL (all versions) * TLS 1.0 * TLS 1.1 ## Cipher suites Gr4vy accepts connections using the following cipher suites. Please ensure your client supports at least one of these suites. | TLS Version | Cipher Suite | | :---------- | :---------------------------------------------- | | **TLS 1.3** | `TLS_AES_128_GCM_SHA256` | | | `TLS_AES_256_GCM_SHA384` | | | `TLS_CHACHA20_POLY1305_SHA256` | | **TLS 1.2** | `TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256` | | | `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` | | | `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256` | | | `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` | | | `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384` | | | `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` | ## Server name indication (SNI) Server name indication (SNI) is **required** for all API requests. Your HTTP client must support and send the SNI extension during the TLS handshake to ensure the correct certificate is presented. ## Webhooks For Gr4vy to successfully deliver webhooks, your receiving endpoint's server must also support the TLS versions and cipher suites listed preceding. Gr4vy cannot deliver webhooks to servers that do not meet these security standards. ## Testing connectivity You can verify your system's ability to connect to Gr4vy using the following `curl` command to reach the sandbox environment: ```bash theme={"system"} curl -v https://api.sandbox.gr4vy.com ``` If the connection is successful, you see a TLS handshake completion message in the verbose output. # Environments Source: https://docs.gr4vy.com/guides/api/environments Sandbox and Production environments within an instance. Each instance has two environments. * `production` - The environment intended for use within your live app. * `sandbox` - The environment intended for use by developers to test transactions and within your test or quality assurance systems. These two environments have separate infrastructures so resources such as buyers and payment services are not shared between them. This also means that there are different hostnames for `sandbox` and `production` APIs and dashboards. The hostnames for the APIs are as follows: | Environment | Hostname | | ------------ | ------------------------------------- | | `sandbox` | `api.sandbox.{instance_id}.gr4vy.app` | | `production` | `api.{instance_id}.gr4vy.app` | The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. Test payment services, card rules, and other settings in the `sandbox` environment, before migrating them to the `production` environment. ## Why environments? Environments are an essential part of any development process. A developer might run the app on their development machine, and to try and test the integration they might want to try and create some payments. To stop the dashboard from being populated with lots of testing data it would be best for the developer to create their test transactions against the `sandbox` environment instead. Similarly, running either automated or manual tests against the API as part of QA and testing is common. To stop this from interfering with live environments, set these tests to run against the `sandbox` environment. ## Environments and payment service APIs The environment determines which payment service API environment should connect to. For example, Braintree transactions made in the `sandbox` environment are processed by the Braintree sandbox environment, while transactions made in the `production` environment are processed by the Braintree live environment. Other actions such as registering a digital wallet are also dependent on the environment. Apple Pay digital wallets registered using the `sandbox` environment are registered with Apple Pay's sandbox environment. This wallet is not recognized by Apple Pay's live environment and thus cannot be used in `production`. In short, the `production` environment always connects to the live API of a payment service, whereas the `sandbox` environment always connects to its sandbox API. # Transaction error codes Source: https://docs.gr4vy.com/guides/api/error-codes A list of all error codes for transactions. A transaction's `error_code` value can be null (for successful transactions) or one of the following for failed and declined transactions. ## Core failures The system can decline or fail a transaction itself rather than a connector or payment service rejecting the transaction. When this happens, one of the following error codes can be set as the `error_code` value. | `error_code` | Description | | :-------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `incomplete_buyer_approval` | Occurs when a buyer approval redirection times out, this normally means the buyer has closed the redirect page/popup without authenticating. This error code can take up to 10 minutes from the time the buyer closes the redirect page / popup to appear | | `failed_buyer_approval` | Occurs when a buyer fails to authenticate through 3DS. This transaction can be attempted again | | `missing_redirect_url` | Occurs when a transaction requires a redirect but was created without `payment_method.redirect_url`. Add the `payment_method.redirect_url` and retry | | `flow_decline` | Occurs when a transaction is declined by a Flow rule. This could be due to fraud or an alternate system configuration declining the transaction | | `all_attempts_skipped` | Occurs when a transaction fails because no outcome in the matched Flow rule can be used to process the transaction reliably. To avoid this, make sure to define there is a default suitable outcome for each possible transaction scenario | | `canceled` | Occurs when a transaction is canceled, this means a previously triggered cancel action has finished successfully | ## Connector declines When a payment service declines or fails the transaction the following `error_code` values can be set based on the response received from the payment service. The original values received from the payment service are available in the `raw_response_*` fields of a transaction record. The amount column in the tables below specifies the `amount` that can be used to simulate the `error_code` when using the **Card simulator** connector. The **Retriable?** column in the tables below only applies when the payment service returns no ISO 8583 response code. When an ISO response code is present, that code determines whether the transaction is retried, and the [retriable ISO response codes](/guides/dashboard/flow/card-transactions#retriable-iso-response-codes) list supersedes this column. A transaction is also never retried when the payment service explicitly marks the attempt as non-retriable, or when the response contains a `merchant_advice_code`. | `error_code` | Description | Simulator amount | Retriable? | | :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :--------- | | `canceled_payment_method` | The payment method reported lost, stolen, or otherwise canceled, request another payment method | 200001 | | | `expired_authorization` | The authorization has expired, create a new authorization and use the new one | 200004 | | | `expired_payment_method` | The payment method has expired, use another payment method | 200005 | | | `incorrect_billing_address` | The billing address does not match the account. Prompt the customer to correct the billing address and retry | 200006 | | | `incorrect_country` | The country code was rejected by the service or issuer, request another payment method | 200007 | Yes | | `incorrect_currency` | The currency code was rejected by the service or issuer, request another payment method | 200008 | Yes | | `incorrect_cvv` | The CVV was incorrect. Prompt the customer to correct the CVV and retry | 200009 | | | `incorrect_expiry_date` | The expiry date is incorrect or the payment method has expired. Prompt the customer to correct the expiry date and retry or request another payment method | 200010 | | | `insufficient_funds` | The amount exceeds the available balance on the payment method. Prompt the customer to check their balance | 200011 | | | `issuer_decline` | The payment was declined by the issuer. Prompt the customer to check with their issuer | 200012 | Yes | | `other_decline` | The transaction failed for an unknown reason, may succeed if retried | 200013 | Yes | | `refused_transaction` | The transaction was refused due to legal reasons (for example watch list, embargo, sanctions), request another payment method | 200015 | | | `service_decline` | The payment was declined by service, request another payment method | 200016 | Yes | | `suspected_fraud` | The service flagged the transaction as suspected fraud. Prompt the customer to check with their issuer | 200017 | | ## Connector failures | `error_code` | Description | Simulator amount | Retriable? | | :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :--------- | | `cancelled_buyer_approval` | The transaction was canceled by the customer | 200022 | | | `disputed_transaction` | The transaction cannot be refunded as a chargeback has been initiated | 200002 | | | `duplicate_transaction` | The transaction is a duplicate of a previous transaction. Check to ensure the transaction was submitted only once | 200003 | | | `insufficient_service_permissions` | The service credentials lack permission to perform the requested action, check relevant configuration | 300001 | Yes | | `invalid_amount` | The amount not supported by service, check relevant configuration | 300002 | Yes | | `invalid_payment_method` | The payment method is not supported by the service (for example card scheme is not supported), request another payment method | 300003 | Yes | | `invalid_service_configuration` | The service is incorrectly configured, check relevant configuration | 300004 | | | `invalid_service_credentials` | The service credentials are not valid, check relevant configuration | 300005 | Yes | | `invalid_service_response` | The service response could not be parsed , check relevant configuration | 300006 | Yes | | `invalid_tax_identifier` | The tax identifier is invalid (for example GB VAT number is in an invalid format, or is of the wrong kind), correct identifier | 300007 | | | `missing_billing_address` | The billing address is required. Add billing address and retry | 300008 | Yes | | `missing_cvv` | The CVV is required. Add CVV and retry | 300009 | Yes | | `missing_shipping_address` | The shipping address is required. Add shipping address and retry | 300010 | Yes | | `missing_tax_identifier` | The tax identifier is required. Add tax identifier and retry | 300011 | Yes | | `refund_period_expired` | The refund can not be performed due to the refund period expiring, credit the customer in another way | 300012 | | | `requires_buyer_authentication` | Additional credentials were requested by the issuer, for example, the security code (CVV). Add these credentials and retry | 200014 | | | `service_error` | The service reported an internal server error or upstream processing error, check relevant configuration | 300013 | Yes | | `service_network_error` | The service was unreachable or experienced a timeout, wait before retrying | 300014 | Yes | | `service_rate_limit` | The service responded with a rate-limiting error, wait before retrying | 300015 | Yes | | `internal_error` | An internal error has occurred, check relevant configuration | 400001 | | | `invalid_billing_address` | The billing address is invalid. Correct billing address and retry | 400002 | | | `invalid_operation` | The service/method is not implemented, and operation is not supported for this request, check relevant configuration | 400003 | Yes | | `invalid_request_parameters` | The one or more request parameters are invalid, check payload and retry | 400004 | | | `invalid_service_request` | The service request could not be parsed, check payload and retry | 400005 | Yes | | `invalid_shipping_address` | The shipping address is invalid. Correct shipping address and retry | 400006 | | | `service_resource_conflict` | The service could not create a resource due to a conflict, check relevant configuration | 400007 | Yes | | `unavailable_payment_method` | The payment method is temporarily frozen or otherwise unavailable. Prompt the customer to check with their issuer or request another payment method | 200018 | | | `unexpected_state` | The service is configured in an unexpected state, check relevant configuration | 400008 | | | `unknown_error` | An unknown error occurred, check relevant configuration | 400009 | | | `unknown_payment_method` | The account is unknown, request another payment method | 200019 | Yes | | `unknown_service_resource` | The resource could not be found by the service, check relevant configuration | 400010 | Yes | | `unrecognised_country` | The country is not valid, correct the country and retry | 400013 | | | `unrecognised_currency` | The currency is not valid, correct the currency and retry | 400014 | | | `unrecognised_payment_method` | The payment method is not valid, request another payment method | 400015 | | | `unrecognised_scheme` | The payment scheme is not valid, request another payment method | 400016 | | | `unsupported_country` | The country is not supported by the service, correct country and retry | 400011 | Yes | | `unsupported_currency` | The currency is not supported by the service, correct currency and retry | 400012 | Yes | | `unsupported_payment_method` | The payment method is not supported by the service (for example card scheme is not supported), request another payment method | 200021 | | | `unsupported_scheme` | The payment scheme is not supported by the service, request another payment method | 400017 | | | `unsupported_transaction` | The payment method does not support this type of purchase (for example gambling is restricted), request another payment method | 200020 | | ## Connector capture / void / refund / payout tests | `error_code` | Description | Simulator amount | Retriable? | | :------------------------- | :----------------------------------------------------------------------------------------------- | :--------------- | :--------- | | `service_network_error` | \[Capture] The service was unreachable or experienced a timeout, wait before retrying | 500001 | | | `refused_transaction` | \[Capture] The transaction was refused | 500002 | | | `service_network_error` | \[Void] The service was unreachable or experienced a timeout, wait before retrying | 510001 | | | `issuer_decline` | \[Void] The payment was declined by the issuer. Prompt the customer to check with their issuer | 510002 | | | `disputed_transaction` | \[Refund] The transaction cannot be refunded as a chargeback has been initiated | 520001 | | | `issuer_decline` | \[Refund] The payment was declined by the issuer. Prompt the customer to check with their issuer | 520002 | | | `service_error` | \[Refund] The service reported an internal server error or upstream processing error | 520003 | | | `refund_already_satisfied` | \[Refund] The service reported that the transaction has already been fully refunded | 520004 | | | `service_decline` | \[Payout] The service declined the transaction | 530001 | | | `service_error` | \[Payout] The service reported an internal server error or upstream processing error | 530002 | | # Error handling Source: https://docs.gr4vy.com/guides/api/errors Best practices on handling errors and other exceptions. In some situations, the API may return an error. In general, errors can be classified as either server-side or client-side errors. ## Client errors In case of a badly formatted API request, the API returns an error with an HTTP status code in the 400 to 499 range. Based on the type of client error made, the response is one of the following. * `400` **Bad request** - Returned when the request passed authentication and authorization checks, but the request did not have the data it expected. In most situations, this is because of missing request properties, or incorrect values for properties. * `401` **Unauthorized** - Returned when the bearer token was not valid and could not be used to authorize the API call. In this case please check the [List 4XX errors](/reference/logs/list-api-error-logs) API to inspect the cause of the issue. * `403` **Forbidden** - Returned when the bearer token is valid but the authenticating client does not have permission to access or manipulate the resource. This may be due to insufficient scopes in the JWT, a restricted API key used to sign the JWT, or a resource being locked. * `404` **Not found** - The resource could not be found. In a small number of cases, the resource may indeed exist, but due to permissions it is not accessible to the authenticated client and returning a `403` would provide information that should not be available to the caller. * `405` **Method not allowed** - The HTTP method used was not recognized for the path of the request. * `409` **Duplicate record** - A record already exists that matches one of the unique constrain for this resource. Check the API documentation for the call made to check what fields have a unique constraint. ```json 400 theme={"system"} { "type": "error", "code": "bad_request", "status": 400, "message": "Request failed validation", "details": [ { "type": "type_error.uuid", "pointer": "/payment_method/buyer_id", "message": "value is not a valid uuid", "location": "body" } ] } ``` ```json 401 theme={"system"} { "type": "error", "code": "unauthorized", "status": 401, "message": "No valid API authentication found", "details": [] } ``` ```json 403 theme={"system"} { "type": "error", "code": "forbidden", "status": 403, "message": "Invalid credentials", "details": [] } ``` ```json 404 theme={"system"} { "type": "error", "code": "not_found", "status": 404, "message": "The resource could not be found", "details": [] } ``` ```json 405 theme={"system"} { "type": "error", "code": "method_not_allowed", "status": 409, "message": "Method Not Allowed", "details": [] } ``` ```json 409 theme={"system"} { "type": "error", "code": "duplicate_record", "status": 409, "message": "Duplicate record", "details": [] } ``` The [API reference](/reference/errors/client-errors) has more detail on the format of client errors. The [List 4XX errors](/reference/logs/list-api-error-logs) API can be used to see the latest client errors and the associated requests. ## Server errors In case of a server-side error in the system, the API returns an error with an HTTP status code in the 500 to 599 range. None of these errors can be resolved client side. Please contact support to raise any `5XX` errors. ```json 500 theme={"system"} { "type": "error", "code": "server_error", "status": 500, "message": "Request could not be processed", "details": [] } ``` ```json 502 theme={"system"} { "type": "error", "code": "bad_gateway", "status": 502, "message": "Request could not be processed", "details": [] } ``` ```json 504 theme={"system"} { "type": "error", "code": "gateway_timeout", "status": 504, "message": "Request could not be processed", "details": [] } ``` The [API reference](/reference/errors/server-errors) has more detail on the format of server errors. # Idempotent requests Source: https://docs.gr4vy.com/guides/api/idempotent-requests Best practices on handling retries in an idempotent way. The API supports idempotent requests allowing the safe retrying of requests without accidentally performing the same operation again. When making an idempotent request, if an error occurs in the request to the API (such as a timeout or loss of connection), the request can be safely retried without the risk of creating a second resource or performing the update twice. Idempotency works by storing the status code and body of the first response for a given idempotency key, regardless of whether the request succeeded or failed. Subsequent requests with the same idempotency key return the same response. An idempotency key is a unique key generated that the API uses to identify subsequent retries of the same request. It is recommended to use V4 UUIDs, or another random string with enough entropy to avoid collisions. Idempotency keys can be up to 255 characters long, and remain valid for 24 hours, after which the idempotency key may be reused for another request. The response of an idempotent request is only saved if the API started executing. If the request fails validation or the request conflicts with another that was performed concurrently, no response is saved. It is safe to retry these requests. Currently, only the `POST /transactions`, `POST /transactions/:id/void`, `POST /transactions/:id/capture` and `POST /transactions/:id/refunds` endpoints supports idempotent requests. ## Making an idempotent request To make an idempotent request, specify the `Idempotency-Key` header in the request. ```bash theme={"system"} curl -i -X POST "https://api.example.gr4vy.app/transactions" \ -H "Authorization: Bearer [JWT]" \ -H "Idempotency-Key: bffa9ce6-7a8a-449c-889a-65bd2ee86903" \ -d "{...}" ``` Most of [the SDKs](./authentication) support passing through this header on the API call. ## Concurrent requests When making an idempotent request using the same `Idemoptency-Key` as a previous request, and the original request is still being processed, an error is received. This request can be safely retried. It is recommended to apply an exponential back-off when retrying transactions. ```json theme={"system"} { "type": "error", "code": "concurrent_request", "status": 409, "message": "A request with this idempotency key is still being processed. Retry later.", "details": [] } ``` ## Conflicting requests When making an idempotent request using the same `Idempotency-Key` as a previous request, and the request is not the same (for example, the request body is different), an error is received. Retrying this request will not change the error response. The request should be checked. ```json theme={"system"} { "type": "error", "code": "bad_request", "status": 400, "message": "Idempotency key already in use.", "details": [] } ``` # IP address forwarding Source: https://docs.gr4vy.com/guides/api/ip-address-forwarding Best practices on handling the original IP address for a transaction. Some payment service providers require the IP address of the buyer to be sent to them for anti fraud purposes. ## Embed By default, when using [Embed](/guides/payments/embed/options) the IP address of the buyer is passed to the payment service automatically where needed. ## Server-to-server When creating transactions on behalf of a buyer via a server without the use of Embed, pass the IP address of the buyer via the `X-Forwarded-For` header. ```sh theme={"system"} curl --header "X-Forwarded-For: 192.168.0.2" https://api.example.gr4vy.app/... ``` Most of [the SDKs](./authentication) support passing through this header on the `POST transactions` call. This header is automatically accepted and passed to the payment service where needed. If the header is not provided and the service provider recommends passing the IP address, the IP address of the request's origin is forwarded instead. Not all endpoints pass the IP address to a connector. It is recommended to send the IP address whenever it is available. # Authentication with JWTs Source: https://docs.gr4vy.com/guides/api/jwts The API uses **Bearer (Token) Authentication** to authenticate any request. These tokens are **JSON Web Tokens (JWT)** which need to be created server side by your app. By far the easiest way to create a JWT is with one of the [server-side SDKs](./authentication) but it is also possible to generate the JWT without the SDKs using any number of open source JWT libraries. This document defines the API specification for authentication, JWT claims, and signature mechanisms. ## Authenticate an API call Every API endpoint that requires authentication expects an `authorization` HTTP-header with a signed JWT token as its value (prefixed with `bearer`). ```bash theme={"system"} curl -i -X GET "https://api.example.gr4vy.app/transactions" \ -H "authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" ``` ## Create an API key To sign a JWT, create a new API key-pair in the dashboard. To create a new API key visit the **Integrations** panel in the dashboard and click the **Add API key** button. The API key can be stored with the code or in a secure environment accessible to the app. API key dashboard ### Merchants access If the instance has **Multi Merchant** enabled, select whether the API key can access **All merchants** or only one. It is recommended to restrict an API key to only one merchant account when integrating into Embed, the SDKs, or the e-commerce platforms like Magento, Salesforce Commerce Cloud, and commercetools. ### Permissions When creating an API key, select the role that matches how the key is used. A role is a named, fixed set of [scopes](#scopes), and it determines which APIs the key can access within the merchants it can reach. | Role | Access | | :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Full access** | Process payments, manage connections, edit flow rules, and manage other resources. | | **Processing only** | Process payments, including the ability to manage payment methods and buyers. This role also grants read access to reports. | | **System management only** | Manage connections and edit flow rules. This role cannot process payments or modify existing payments such as captures and refunds. | | **Transaction reporting only** | Read payments data, including the ability to create and access reports. This role is read-only and cannot access system data such as users, flow rules, and connections. | It is recommended to use **Processing only** for any API keys used with the e-commerce platforms like Magento, Salesforce Commerce Cloud, and commercetools. You can change the role of an existing API key from the **Integrations** panel without deleting and recreating the key. Reassigning a role is the supported way to change the scopes applied to a key. API access can be further reduced by setting a restrictive set of [scopes](#scopes) on the JWT. ### Algorithm The API supports 2 algorithms for signing JWTs, namely ECDSA and RSA. It is recommended to use ECDSA unless the environment does not support this stronger and newer algorithm. The RSA algorithm is available for those environments that do not support ECDSA. RSA keys provide considerably less security for the same key size and are currently not supported by the SDKs. ## Generate JWT When not using one of the SDKs, or an SDK in the language is not available, construct and sign the JWT with one of the many libraries available on [`jwt.io`](https://jwt.io). At the high level a JWT is build up out of 3 pieces: * A **header** defining the algorithm and key used to create the JWT. * A set of **claims** that define the token's scope and other permissions. * A cryptographic **signature** based on the header and the claims, signed using the private key. Combine, these 3 pieces make up the JSON Web Token (JWT). See [`jwt.io`](https://jwt.io) for more details on the specification and available libraries for generating JWTs. ### JWT header The JWT header defines the type of encryption algorithm as well as the private key used to generate the signature. ```json theme={"system"} { "typ": "JWT", "alg": "ES512", // OR RS512 depending on your key "kid": "d757c76acbd74b56" } ``` The `typ` and `alg` are fixed and do not allow for other values. The `kid` is the ID of the private key, which can be found in the **Integrations** panel of the dashboard. ### JWT claims The claims define when the token was created and what access it has. ```json theme={"system"} { "iss": "My JWT Generation Tool", "nbf": 1607976645, "exp": 1607977245, "jti": "0fe1fb1b-2f7e-4c8d-b0eb-aae5d0ec98f7", "scopes": ["transactions.read"], "embed": { "amount": "200", "currency": "AUD", "buyer_id": "d757c76a-cbd7-4b56-95a3-40125b51b29c", "metadata": { "key": "value" }, "cart_items": [ { "name": "Joust Duffle Bag", "quantity": "1", "unit_amount": "9000", "tax_amount": "0" } ] } } ``` ### Claims The API supports the following JWT claims. | | Description | Required | | --------------------- | :------------------------------------------------------------------------------------------------------------------------------- | :------- | | `iss` | A unique ID that represents your code making this call. This helps identify what library made a call to the API. | Yes | | `nbf` | The UNIX timestamp (in seconds) that this token was created at. | Yes | | `exp` | The UNIX timestamp (in seconds) that this token expires at. | Yes | | `iat` | An optional UNIX timestamp (in seconds) for your internal use to indicate when the token was issued. | No | | `jti` | A random unique ID used for cryptographic entropy. This needs to be unique for each JWT. | Yes | | `scopes` | A list of scopes that give this token access to the API. | Yes | | `embed` | A dictionary of key-value pairs used to pin the amount, currency, and buyer info for use in Embed. | No | | `checkout_session_id` | The ID of a checkout session. This can be used to tie multiple transactions together as having originated from the same session. | No | **Checkout sessions** When using a server-side SDK, the recommended way to populate the `checkout_session_id` claim is the `getEmbedTokenWithCheckoutSession` helper, which creates a checkout session and returns an Embed token with the ID already pinned. See [generating a token](/guides/payments/embed/quick-start/sdks). **Timestamps** Please be aware that the `nbf`, `exp`, and `iat` values are UNIX timestamps defined as seconds since January 1, 1970 (UTC). Some programming languages return UNIX timestamps as milliseconds, requiring the removal of the last three digits. ### Scopes The API supports the following values for the `scopes` claims. | Scope | Description | | :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `*.read` | Allows read-access to any resource. This is used by default in the SDKs | | `*.write` | Allows write-access to any resource. This is used by default in the SDKs. This does not also allow read access. | | `{resource_name}.read` | Allows read-access to a type or resource. For example, `payment-services.read` enabled read-access for buyers data. | | `{resource_name}.write` | Allows write-access to a type or resource. For example, `payment-services.write` enabled write-access for buyers data. This does not also allow read access. | | `embed` | A scope that represents all the access needed by Embed. | The following resource names are recognized. Please see the reference documentation for more details as to what scope is required per endpoint. * `anti-fraud-services` * `api-logs` * `buyers` * `buyers.billing-details` * `card-scheme-definitions` * `checkout-sessions` * `connections` * `digital-wallets` * `flows` * `payment-methods` * `payment-method-definitions` * `payment-options` * `payment-service-definitions` * `payment-services` * `reports` * `transactions` ### Signature & assembly Finally, the JWT signature is generated by appending the Base64 encoded header and claims (separated with a `.`) and run it through the key's algorithm. ```bash ECDSA theme={"system"} ECDSASHA512( base64UrlEncode(header) + "." + base64UrlEncode(payload), public_key, private_key ) ``` ```bash RSA theme={"system"} RSASHA512( base64UrlEncode(header) + "." + base64UrlEncode(payload), public_key, private_key ) ``` The assembled JWT is then formed by appending the Base64 encoded header, claims, and signature separated by a full stop. ``` base64UrlEncode(header) + "." + base64UrlEncode(payload) + "." + base64UrlEncode(signature) ``` # OpenAPI 3.1.0 Specification Source: https://docs.gr4vy.com/guides/api/openapi An [OpenAPI specification](https://github.com/gr4vy/gr4vy-openapi) is provided for a large part of the API, including all endpoints required for payment processing. This specification is automatically generated when new features are released, and is used to drive automatic changes to the [server-side SDKs](/guides/get-started#sdks-%26-plugins), [CLI](/guides/tools/cli), and [Postman collection](/guides/tools/postman). The OpenAPI 3.1.0 specification Latest changes # Pagination Source: https://docs.gr4vy.com/guides/api/pagination Best practices on handling pagination in the API. Many of the API endpoints support cursor-based pagination. When a page is requested, the response includes cursors for the next and previous page of results. ```json Response theme={"system"} { "items": [ { "id": "42074b2a-d2fa-417a-b7cf-5776b069689d", "type": "buyer", "display_name": "Gerry Vine", "external_identifier": null, "created_at": "2021-03-12T15:05:27.199271+00:00", "updated_at": "2021-03-12T15:05:27.199271+00:00" }, { "id": "9e2e7380-5177-4b8e-8677-3854bf94d6c3", "type": "buyer", "display_name": "Retha Palm", "external_identifier": null, "created_at": "2021-03-12T10:47:51.989637+00:00", "updated_at": "2021-03-12T10:47:51.989637+00:00" }, ... ], "limit": 20, "next_cursor": "eQA2M2E2ZmQwZS1lYzhkLTQ3ZWItYjI0Yy0zMDlhYzg0OTViNTMAMjAyMS0wMi0yN1QyMjoyNDo1MS4wMTIxNTA", "previous_cursor": null } ``` All of [our SDKs](./authentication) have built-in pagination support. Please see the individual GitHub documentation for your preferred SDK for more details. ## Using cursors If present, the `next_cursor` and `previous_cursor` values can be used to request the next and previous page of results by passing the `cursor` query parameter with the value of either cursor. ```bash theme={"system"} curl -i -X GET "https://api.example.gr4vy.app/buyers?cursor=eQA2M2E2ZmQwZS1lYzhkLTQ3ZWItYjI0Yy0zMDlhYzg0OTViNTMAMjAyMS0wMi0yN1QyMjoyNDo1MS4wMTIxNTA" \ -H "Authorization: Bearer [JWT_TOKEN]" ``` ## Page limits Any of the APIs that support cursor pagination also support the `limit` query parameter to control the number of items returned. Check the reference documentation for each endpoint for the range of limit values allowed. ```bash theme={"system"} curl -i -X GET "https://api.example.gr4vy.app/buyers?limit=1" \ -H "Authorization: Bearer [JWT_TOKEN]" ``` ```json theme={"system"} { "items": [ { "id": "42074b2a-d2fa-417a-b7cf-5776b069689d", "type": "buyer", "display_name": "Gerry Vine", "external_identifier": null, "created_at": "2021-03-12T15:05:27.199271+00:00", "updated_at": "2021-03-12T15:05:27.199271+00:00" } ], "limit": 1, "next_cursor": "cAA5ZTJlNzM4MC01MTc3LTRiOGUtODY3Ny0zODU0YmY5NGQ2YzMAMjAyMS0wMy0xMlQxMDo0Nzo1MS45ODk2Mzc", "previous_cursor": null } ``` # Prefer header Source: https://docs.gr4vy.com/guides/api/prefer-header Some API endpoints support custom `Prefer` headers to indicate preferences for specific server behaviors during request processing. This allows the API to evolve, adding new features, while maintaining backwards compatibility where possible. The `Prefer` header is optional for all API requests. Endpoints that don't support specific `Prefer` values ignore them without causing errors. ## `Prefer: resource=` Currently, only the `Prefer: resource` header is supported by the API. This header allows a merchant to opt into a different resource to return. Both the [void](/reference/transactions/void-transaction) and [capture](/reference/transactions/capture-transaction) endpoints support this header to opt into returning a specific resource type. For example, by setting the `Prefer: resource=transaction-void` on a void call, the response type is a `transaction-void` resource, rather than the standard `transaction` returned by this API. ```sh Request theme={"system"} POST /transactions/1a032928-abc0-4fb8-971e-fb917291e75f/void Prefer: resource=transaction-void ``` ```json Response theme={"system"} { "type": "transaction-void", "status": "failed", "code": "service_error", "raw_response_code": "1001", "raw_response_description": "Internal error, please retry", "transaction": { "type": "transaction", "id": "1a032928-abc0-4fb8-971e-fb917291e75f", ... } } ``` For example, by setting the `Prefer: resource=transaction-capture` on a capture call, the response type is a `transaction-capture` resource, rather than the standard `transaction` returned by this API. ```sh Request theme={"system"} POST /transactions/1a032928-abc0-4fb8-971e-fb917291e75f/capture Prefer: resource=transaction-capture ``` ```json Response theme={"system"} { "type": "transaction-capture", "status": "failed", "code": "service_error", "raw_response_code": "1001", "raw_response_description": "Internal error, please retry", "transaction": { "type": "transaction", "id": "1a032928-abc0-4fb8-971e-fb917291e75f", ... } } ``` Please note that HTTP header names are case-insensitive, as per HTTP standards, so `prefer`, `PREFER`, or `Prefer` can all be used. The value of a header is case-sensitive and needs to be lower-case to match both the `resource` key and the `` value. # Rate limiting Source: https://docs.gr4vy.com/guides/api/rate-limiting Rate limits and enumeration prevention The system does not apply any rate limits for server-to-server API calls. Instead, the system aims to grow with the business to handle the throughput needs required. That said, certain rate limits are applied on browser/app-to-server API calls in order to prevent enumeration attacks, preventing a malicious party from enumerating credit, debit, or scheme cards to check their validity. ## Enumeration prevention In order to prevent enumeration attacks, the following limits are applied. | Token & Endpoints | Limit | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | A [JWT token](./authentication) with the `embed` scope used with the following endpoints.

[`POST /gift-cards/balances`](/reference/gift-cards/list-gift-card-balances)
[`POST /gift-cards`](/reference/gift-cards/new-gift-card)
[`POST /transactions`](/reference/transactions/new-transaction) | This limits tokens for use with Embed or other frontend integrations from iterating over scheme and gift card numbers. Server-to-server calls are not affected. | | A [Checkout Session ID](/reference/checkout-sessions/new-checkout-session) used with the following endpoint.

[`POST /checkout/sessions/:id/fields`](/reference/checkout-sessions/update-checkout-session-fields) | This endpoint is used by Secure Fields for storing scheme card details and prevents the over-use of the session ID to store and validate card details. | **Rate limit** The current rate limit for these endpoints is set to approximately 50 requests per minute across all endpoints, per token. This value may be adjusted downward in time to adjust for enumeration attacks. Generating a new checkout session ID or JWT token for every checkout is recommended to prevent a user from being rate-limited. # Payment method statuses Source: https://docs.gr4vy.com/guides/api/statuses/payment-methods A list of all statuses for payment methods. A payment method's `status` value can be one of the following depending on the state within the system and the status within the used payment service. | `status` | Description | | :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `processing` | The payment method record has been created in the system and is now ready to be used with payment services. The status is still `processing` because the payment method has not been validated through a transaction. The `id` method can now be used to create new transactions. | | `failed` | The payment method could not be processed with any payment service due to technical issues. | | `buyer_approval_required` | The payment method was correctly created but needs approval from the buyer. This is mainly used in alternative payment methods like PayPal where the user needs to be redirected to complete the payment method. | | `succeeded` | The payment method was successfully used in any payment service. | # State diagram The following state diagram serves as an overview of all the different `status` values and how they relate to each other. ```mermaid theme={"system"} flowchart LR start(( )) --> processing processing --> buyer_approval_required processing --> failed buyer_approval_required --> failed buyer_approval_required --> succeeded processing --> succeeded ``` # Transaction statuses Source: https://docs.gr4vy.com/guides/api/statuses/transactions A list of all statuses for transactions. A transaction's `status` value can be one of the following depending on the state within the system and the status within the used payment service. | `status` | Description | | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | | `processing` | The transaction record has been created in the system and is now being processed with payment services. | | `buyer_approval_pending` | The transaction was created but needs approval from the buyer either by redirecting them to a hosted page or their bank for 3DS. | | `authorization_succeeded` | The transaction has been successfully authorized but not yet captured. | | `authorization_failed` | The transaction could not be authorized with any payment service due to technical issues or limitations of the payment service. | | `authorization_declined` | The transaction was declined by the payment service. | | `capture_pending` | The transaction has successfully been submitted for capture with a payment service and is now pending with them. | | `capture_succeeded` | The transaction has been successfully authorized and captured. | | `authorization_void_pending` | The transaction authorized transaction is in the process of being voided. | | `authorization_voided` | The transaction was successfully authorized but has since been voided before it was captured. | ## State diagram The following state diagram serves as an overview of all the different `status` values and how they relate to each other. ### Separate authorization and capture Transactions where the original `intent` is `authorize`. ```mermaid theme={"system"} flowchart LR start(( )) --> processing processing --> buyer_approval_pending processing --> authorization_succeeded processing --> authorization_failed buyer_approval_pending --> authorization_declined processing --> authorization_declined buyer_approval_pending --> authorization_failed buyer_approval_pending --> processing authorization_succeeded --> capture_pending authorization_succeeded --> authorization_void_pending capture_pending --> capture_succeeded capture_pending --> authorization_succeeded capture_pending --> authorization_declined authorization_void_pending --> authorization_voided authorization_void_pending --> authorization_succeeded ``` ### Direct capture Transactions where the original `intent` is `capture`. ```mermaid theme={"system"} flowchart LR start(( )) --> processing processing --> capture_succeeded processing --> authorization_failed buyer_approval_pending --> authorization_declined processing --> buyer_approval_pending buyer_approval_pending --> processing processing --> authorization_declined ``` In some cases, a transaction with `intent` set to `capture` is internally split into a separate authorization and capture. When this happens, the transaction may pass through `authorization_succeeded` and `capture_pending` before reaching a terminal state such as `capture_succeeded`, or before being voided or declined. See [split authorization and capture](/guides/features/webhooks/technical-considerations#split-authorization-and-capture) for more details. ## Timeouts When Gr4vy forwards a payment request to a connector, network conditions can occasionally cause the request to time out before a response is received. In these cases, the outcome of the request is unknown — the connector may or may not have processed it. Rather than failing immediately or requiring you to re-submit, Gr4vy automatically retries these requests in the background when idempotent requests are supported. This guarantees the connector can return the result of the original request without creating a duplicate charge. ### Transaction timeouts When a `POST /transactions` request to a connector times out, Gr4vy queues a background task to retry that transaction. The transaction moves to `processing` status while Gr4vy resolves the outcome. No action is required on your side — in particular, **do not re-submit the transaction** while it is in `processing`. Retries stop after a maximum of **24 hours** from the original request, at which point the transaction is resolved to a final status. #### Possible outcomes | Outcome | Transaction status | Webhook event | | ------------------------- | ------------------------- | ------------------------ | | Authorization succeeded | `authorization_succeeded` | `transaction.authorized` | | Authorization failed | `authorization_failed` | `transaction.failed` | | Unresolved after 24 hours | `authorization_failed` | `transaction.failed` | In all cases a webhook event is sent when the outcome is known. Gr4vy recommends relying on webhooks rather than polling the transaction status. ### Capture timeouts When a capture request to a connector times out, Gr4vy queues a background task to retry the capture. The capture moves to `pending` status while Gr4vy resolves the outcome. Retries stop after a maximum of **24 hours** from the original request, at which point the transaction is resolved to a final status. #### Possible outcomes | Outcome | Capture status | Webhook event | | ----------------- | -------------- | ------------------- | | Capture succeeded | `succeeded` | `capture.succeeded` | | Capture failed | `failed` | `capture.failed` | | Capture declined | `declined` | `capture.declined` | A webhook event is sent as soon as the outcome is known. ### Refund timeouts When a refund request to a connector times out, Gr4vy queues a background task to retry the refund. The refund moves to `pending` status while Gr4vy resolves the outcome. Retries stop after a maximum of **24 hours** from the original request, at which point the transaction is resolved to a final status. #### Possible outcomes | Outcome | Refund status | Webhook event | | ---------------- | ------------- | ------------------ | | Refund succeeded | `succeeded` | `refund.succeeded` | | Refund failed | `failed` | `refund.failed` | | Refund declined | `declined` | `refund.declined` | A webhook event is sent as soon as the outcome is known. ### Recommendations * **Listen for webhooks.** The webhook event is the authoritative signal that a timeout has been resolved. Prefer it over polling. * **Do not re-submit.** A resource with a `processing` or `pending` status is still being resolved. Re-submitting may risk duplicate charges. * **Allow up to 24 hours.** The resolution window for create timeouts is bounded at 24 hours. For captures the window depends on the connector. * **Contact support if nothing arrives.** If 24 hours have passed and you have not received a webhook, contact Gr4vy support with the transaction ID. # Best practices Source: https://docs.gr4vy.com/guides/best-practices/overview A list of best practices for integrating. In no particular order, here are some useful recommendations when integrating the API, Embed, or Secure Fields. ## Associate transactions with a buyer A Buyer allows transactions to be linked with customers as well as send buyer-specific information such as `name`, `email`, `address` and `tax ID`, etc. See [Buyers](/reference/buyers) for further details. ## Set a unique reference ID for each transaction A unique transaction reference ID helps link transactions to orders (see step 2). A unique reference ID can either be set as an external identifier or metadata on the transaction. This is available when using Embed, Secure Fields, or the API directly. Embed is sometimes displayed at checkout before an order is created by the system. After all, creating an order every time a customer loads a checkout page is not desired. An `onBeforeTransaction` callback in Embed has been introduced that can be used to set the `externalIdentifier` or metadata right before a transaction is created. This allows a unique reference ID to be created just-in-time before a transaction is created by Embed. ```js Update the external identifier theme={"system"} embed.setup({ onBeforeTransaction: async () => { // Merchant could make a call to a server here to get an order ID. // let { orderId } = await client.getOrder() return { externalIdentifier: orderId, } } }) ``` Metadata can be updated in a similar way. In the case that the metadata has been pinned, the JWT token also needs to be updated because the metadata may be pinned in the token. ```js Update the metadata theme={"system"} embed.setup({ onBeforeTransaction: async ({ metadata }) => { // Merchant could make a call to a server here to get an order ID. // let { orderId, newToken } = client.getOrder() return { token: newToken, metadata: { ...metadata, orderId: orderId } } } }) ``` ## Use webhooks to listen for transaction updates It is recommended to listen for updates to transactions by using [webhooks](/guides/features/webhooks/overview). As a unique reference ID has been set (see preceding section), this can be used to listen to webhook events, which notify of a transaction completing, failing, or being declined. Please reach out to the team to set up the webhook URL. It is highly recommended to use webhooks and not exclusively rely on any in-browser events like Embed's `transactionCreated` event or `onComplete` callback. Because browsers are an unreliable environment this message between Embed and the system could get lost for many reasons, and so listening to webhook updates is generally considered the only fully reliable option when dealing with transaction updates. ## Use idempotent requests Sometimes transactions fail, either because of bad input or because of some kind of network or other system error. In the case of an error where the response was not received by the buyer's browser (or the system), a transaction can be retried using a special header. ```sh theme={"system"} curl -i -X POST "https://api.{gr4vyId}.gr4vy.app/transactions" \ -H "Authorization: Bearer {jwtToken}" \ -H "Idempotency-Key: bffa9ce6-7a8a-449c-889a-65bd2ee86903" \ -d "{...}" ``` The `Idempotency-Key` header is used to uniquely identify a transaction when retrying the same transaction after a network error or some kind of timeout. The second request is matched using this key against the original request, and rather than creating a new transaction the original response is returned. See [Idempotent Requests](/guides/api/idempotent-requests) for further details. If Embed is being used then idempotent requests are already in use. ## Transaction request information Some payment methods require specific 'non-standard' information to process. For example, some Buy Now Pay Later (BNPL) methods require cart items to successfully process payments. Therefore to future-proof the integration, integrating as much information in the transaction request as possible is recommended. This allows new additional methods of payment to be added without having to update the integration. Here are a few examples of optional request information to include. * `buyer` information * `cart_items` * `shipping` information * `connection_options` (where applicable) * `payment_source` * `is_subsequent_payment` * `merchant_initiated` # Card Transactions Flow Source: https://docs.gr4vy.com/guides/dashboard/flow/card-transactions Control how card payments are routed, retried, and rejected. ## Action: Decline This action allows transactions to be declined before they are routed to one of the connections. A custom `error_code` can be set which is returned on the transaction API to indicate the reason for the decline. ## Action: Route to connection This action allows transactions to be routed to a subset of connections. A transaction is processed sequentially with the defined outcome connections until it is successful. If a rule is matched and there are no active connections, or all connections fail to process the request, the transaction is declined. ### Retries and cascading Using the card route configuration framework, transactions can both be retried via the same connection under a different condition, or cascade through to another connection. Either the same conditions or potentially different conditions can be used. The optimal routing can be set up using preferred payment instruments and message transformations to optimize payment strategy. The routing rules are configured as a list; each transaction is attempted going down the list. That means that whichever combination of instruments and message types are configured overrides the transaction request sent in, and the rule configuration is taken as leading. If no transformation or default instrument (PAN) is selected, the transaction is processed as received on the API. ### Failures and Retriable declines The system automatically retries transactions based on the payment provider's response. Retries occur in two scenarios: * **Failures:** Attempts that fail due to technical reasons are automatically retried with the next connection in the sequence. Without any retry, the end status of this attempt would be `authorization_failed`. * **Retriable declines:** Transactions that are declined with retriable decline codes are automatically retried with the next connections in the sequence. Retriable declines pertain to soft declines from the issuer, or technical decline codes from the acquirer or payment service that allow for retries via a different payment service. #### Retry decision logic The decision to retry is evaluated using the following priority order: 1. **Skip retry conditions** - No retry occurs if any of these conditions are true: * A transaction is explicitly set to not retriable by the payment service * `merchant_advice_code` is present in the response - when a merchant advice code is provided, the code takes priority and prevents automatic retry 2. **ISO response code evaluation** - When an ISO 8583 response code is present: * If the code is NOT in the retriable list, no retry occurs * If the code IS in the retriable list, retry the transaction 3. **Fallback to generic codes** - When no ISO response code is present: * If transaction status is `authorization_declined` and the provider's response code is in the retriable `error_code` list, retry the transaction * If transaction status is `authorization_failed` and the provider's response code is not a timeout, retry the transaction This approach prioritizes the raw ISO code from the acquirer, as it provides the most accurate and consistent indication of whether a transaction can be successfully retried via an alternative payment service or connection. Because the ISO response code is evaluated first, it supersedes the `error_code` retry behavior documented in [Transaction error codes](/guides/api/error-codes). The `error_code` list only applies when the payment service returns no ISO response code. #### Retriable ISO response codes The system uses ISO 8583 response codes to determine if a transaction should be automatically retried. The following ISO response codes are classified as retriable. Any ISO response code that is not in this list, including codes for suspected fraud and violations of law, stops the retry cascade. | ISO Code | Description | | :------- | :----------------------------------------------------- | | `05` | Do not honor | | `06` | Error | | `19` | Re-enter transaction | | `20` | Invalid response | | `21` | No action taken | | `22` | Suspected malfunction | | `23` | Unacceptable transaction fee | | `28` | File locked | | `30` | Format error | | `31` | Bank not supported | | `40` | Requested function not supported | | `48` | Acceptable mode of entry for this card not supported | | `50` | Repeat - system malfunction or no response from issuer | | `58` | Transaction not permitted - terminal | | `68` | Response received too late | | `69` | Cryptographic failure | | `70` | Message formatting error or timeout | | `71` | Issuer/switch inoperative | | `72` | Card network unable to route | | `73` | Processing temporarily unavailable | | `74` | Processing timeout - card processor | | `76` | Processing timeout or system timeout | | `79` | Network unavailable | | `80` | Network error | | `81` | Network timeout | | `84` | Invalid authorization life cycle (partial approval) | | `86` | Network communication error | | `87` | Cryptographic session key error | | `88` | Message authentication code (MAC) error | | `90` | Cut-off in process | | `91` | Card issuer unavailable | | `92` | Routing error | | `96` | System malfunction | | `98` | Acquirer inoperative | | `99` | System unavailable | These codes indicate temporary issues, technical problems, or situations where retrying with a different payment service or connection may result in a successful transaction. ### Split routing condition Split routing conditions allow distributing transactions across multiple routing rules based on percentage allocation. When a split routing condition is added to a routing rule, it defines the probability (as a percentage) of that rule being triggered for transactions that already meet the rule's other conditions. For example, if a rule has a split routing condition of 30%, approximately 30% of the transactions that satisfy all other conditions of that rule are routed through it. This enables: * A/B testing of different routing configurations. * Load balancing between multiple connectors. * Gradual deployment of new routing rules. ### Outcome: Route to connection Choose how traffic is distributed by selecting one of two routing types: * **Basic routing** — route through connectors sequentially. Each connection is tried in order until the transaction succeeds or all connections have been attempted. * **Split routing** — divide traffic across multiple connector sets to test and compare connector performance. See [Split routing outcome](#split-routing-outcome) for configuration details. Select a routing type: basic routing or split routing Regardless of routing type, select **Add connection** to add one or more connectors. Connections are tried sequentially within a routing path until the transaction succeeds or all connections have been attempted. When adding a connection, configure the instrument and message transformation to use — see [Instruments and message transformations](#instruments-and-message-transformations) for details. #### Split routing outcome A split routing outcome distributes matched transactions across one to four variants, each routed to a different set of connectors. Each variant receives a defined percentage of traffic, and for each transaction a variant is randomly selected using those weights. **Configure a split routing outcome** Open or create a card routing rule, then select **Split routing** as the routing type in the rule outcome section. Two variants are created by default — Variant A and Variant B — each set to 50%. You can configure up to **4 variants** per rule. The variants table shows a row for each variant with **Name**, **Connections**, and **%** columns. For each variant: 1. **Set a name** — edit the name inline. Use something descriptive, such as `Control` or `Adyen Network Token`, so results are easy to read in Insights. 2. **Set the traffic percentage** — enter a whole number in the **%** column. All variant percentages must total exactly 100. The form prevents saving if the total is not met. 3. **Add connections** — click a variant row to expand it, then select **Add connection** to add one or more connectors in your preferred failover order. Once all variants have at least one connection and percentages total 100%, select **Save**. The rule becomes active immediately. A variant with no connections causes a validation error. All variants must have at least one connection before the rule can be saved. **Manage variants** * **Adjust percentages** — edit the **%** value for any variant and save. Changes take effect immediately on new transactions. * **Add a variant** — select **Add variant** below the variants table. A new empty variant is created with 0% traffic. Set a name, add connections, and assign a percentage before saving. * **Remove a variant** — select the **trash** icon on the variant row. Redistribute the remaining percentages to total 100% before saving. You cannot remove the only remaining variant in a rule. * **Reorder connections** — expand a variant and drag connections to reorder them. The first connection is the primary route; subsequent connections are used as failover. Manage split routing variants **Monitor performance** Once a rule with a split routing outcome is active, compare variant performance in **Insights** under the **Authorization** tab. The **Split routing variants** module shows transaction counts, volume, or auth rate broken down by variant name. From the **Card transactions** rules list, select the **chart icon** next to any split routing rule to open Insights pre-filtered for that rule's outcome variants. A variant only appears in Insights once at least one transaction has been processed through it. **Limits** | Behavior | Detail | | :--------------------------------------- | :----------------------------------------------------------------------------- | | Maximum variants per rule | 4 | | Minimum percentage per variant | 0% | | Percentages must total | Exactly 100% | | Failover scope | Within a single variant only — never across variants | | Applies to | Card transactions only | | Insights tab | Authorization tab | | Historical data after renaming a variant | The new name appears once a new transaction passes through the renamed variant | | Historical data after deleting a variant | Past data remains visible in Insights even after the variant is deleted | ### **Instruments and message transformations** The routing framework allows granular rules to be set up by allowing the choice of instrument to be processed with, and how the transaction message is presented to the payment service. The choice of instrument can be combined with the message transformation where available. #### Instruments It is currently possible to choose to route transactions using two instruments, PAN, or Network Token. For routing network tokens, network tokens need to be enabled, and the connection needs to support the submission of network tokens. If either of these is not supported, network tokens are not used, and the rule is skipped. If the payment service doesn't support the submission of network tokens, it is not configurable. Setting up a PAN rule as a default is advised. #### Message transformations By choosing a message transformation, the presentment of the transaction message towards the payment service can be altered. It is currently possible to override the transaction as an MIT transaction. Please note that using this message transformation should be used with caution. If the business model is inherently not a subscription based model or supportive of any recurring transactions, reprimands can be issued by the card schemes for incorrect flagging of transactions. Sanctions are levied on the acquirer; however, these can be passed through to the merchant. ##### **MIT** By selecting this transformation, transactions are sent to the payment service as a merchant initiated transaction (MIT). Please note that this message transformation should be used with caution. If the business model is inherently not a subscription based model, or supportive of any recurring transactions, then reprimands can be issued by the card schemes for incorrect flagging of transactions. Sanctions are levied on the acquirer; however, these can be passed through to the merchant. If the original transaction is already sent as an MIT, no transformation happens as the original transaction is already an MIT transaction. ##### **Co-badged routing** This transformation forces the processing of a transaction to use the first additional scheme (co-badged scheme) of the card instead of its main scheme. If the card doesn't have any co-badged schemes, this transformation is skipped. For example, for a co-badged Visa card that also supports the Cartes Bancaires scheme, adding this transformation forces the transaction to be processed as Cartes Bancaires. It is important to make sure that co-badged acquiring routes are configured on the payment service intended to be used. In general, the following rules apply. * A rule is skipped if the `intent` is set to `authorise` and the co-badged scheme does not support delayed capture, for example EFTPOS. * A rule is skipped if the card only supports one known scheme. * When using 3DS, if the scheme used for the transaction is different to the scheme used to authenticate 3DS, then the 3DS payload is dropped and not used to process the transaction. This is done to prevent triggering 3DS again. Note that currently the 3DS integration does not support most co-badged card schemes. * Network tokens are currently not supported in combination with co-badged schemed. * For any payment services that do not rely on the vault but the service's tokens, the token is sent in combination with the additional scheme * For subsequent transactions that use a network transaction id (scheme reference) to link it to the initial transaction, if the scheme to be used doesn't match the scheme of the ID, then the attempt is skipped, and the next strategy in the rule is attempted. #### Payment method replacement For merchants who have the account updater enabled, additional logic applies after a transaction has been declined. When the account updater has received new details for a card, but the card hasn't expired yet, then these new details are left inactive and on standby for future use. If this card is then used at a later point and the card is declined by a connection, then the old card details are marked as inactive and the payment method is updated with the new card details from the account updater. The transaction is subsequently retried with the new details with the same connection. This retry is applied outside of any retries that are configured as part of Flow. ## Action: 3-D Secure This action allows control over when 3-D Secure is required for transactions. Some card issuers mandate authentication regardless of this rule. For a card whose issuer requires it, Gr4vy attempts 3-D Secure even when a rule skips it. A rule that forces 3-D Secure, and a connection with 3-D Secure turned off, are unaffected. See [Issuer-mandated 3-D Secure](/guides/features/3ds/overview#issuer-mandated-3-d-secure). ## Conditions The following conditions can be added: * Amount: This enables filtering based on the amount for the transaction. Each rule defines a single currency for which it applies. A minimum amount, maximum amount, or a range for the amount can be specified. * Anti-fraud decision: This enables filtering based on a risk decision received from an anti-fraud provider as an inclusive or exclusive list of decisions. Note that Error (unable to get decision) represents a state where a decision is unobtainable. For example, due to a network timeout or server error. * Browser language: This enables filtering based on a buyer's browser language. * BIN range: This enables filtering on up to the first eight digits of the card, for example: `4242-4545` or `12345678-12345678`. * Card country: This enables filtering based on the country of the card as an inclusive or exclusive list of countries. * Card issuer name: This enables filtering based on the issuer name of the card, for example: `Bank of America NA` or `HSBC Continental Europe`. It can be filtered by a part of the name. * Card product name: This enables filtering based on the card product name, for example: `Visa Platinum` or `MasterCard Black`. It can be filtered by a part of the name. * Card scheme: This enables filtering based on the scheme of the card as an inclusive or exclusive list of schemes. * Card source: This enables filtering based on the input used for the card, for example: Apple Pay, Google Pay, tokenized, or one-off card details. * Card type: This enables filtering based on the type of the card as an inclusive or exclusive list of types. * Country: This enables filtering based on the customer's country as an inclusive or exclusive list of countries. * Currency: This enables filtering based on the transaction currency as an inclusive or exclusive list of currencies. * Gift card BIN range: This enables filtering on up to the first nine digits of a gift card, for example: `4242-4545` or `123456789-123456789`. * Has gift cards: This enables filtering based on whether gift cards were used in the transaction. * Is subsequent payment: This enables filtering based on the transaction's `is_subsequent_payment` flag value, set to either `true` or `false`. * Merchant initiated: This enables filtering based on the transaction's `merchant_initiated` flag value, set to either `true` or `false`. * Metadata: This enables filtering based on key/value strings from an object passed to the API. This currently only supports matching/not matching string values. For example, `{"foo": "bar"}` could be passed and a condition created based on the value of the `foo` key. * Metadata (Numeric): This enables filtering based on key/value numeric strings from an object passed to the API. It only supports numeric comparisons like `less than`, `equal to`, `greater than`, `greater than or equal to` and `less than or equal to`. For example, `{"foo": "200.1"}` could be passed and a condition created based on the numeric value `200.1` of the `foo` key. * Payment source: This enables filtering based on the transaction payment source as an inclusive or exclusive list of payment sources. * Product categories: This enables filtering based on the product categories of cart items. * Product types: This enables filtering based on the product types of cart items. * SKUs: This enables filtering based on the SKUs of cart items. * Split routing: This enables filtering based on set probability (percentage), for example, setting `30` would evaluate to true for approximately 30% of requests. **Rule Validation** * You may only have one amount or currency condition per rule * You may only have one browser language condition per rule * You may only have one BIN range condition per rule * You may only have one card country condition per rule * You may only have one card scheme condition per rule * You may only have one card source condition per rule * You may only have one card type condition per rule * You may only have one country condition per rule * You may only have one currency condition per rule * You may only have one gift card BIN range condition per rule * You may only have one has gift cards condition per rule * You may only have one is subsequent payment condition per rule * You may only have one merchant initiated condition per rule * You may only have one payment source condition per rule * You may only have one product categories condition per rule * You may only have one product types condition per rule * You may only have one SKUs condition per rule * You may only have one Split Routing condition per rule # Checkout Flow Source: https://docs.gr4vy.com/guides/dashboard/flow/checkout Control what payment options are displayed at checkout. ## Action: Select payment options This action allows filtering and/or ordering of the available payment options displayed at the start of the checkout journey. Each rule in this action defines a set of payment options to show when the rule is matched. If no rule is matched, then the whole set of configured and active payment options is shown. The following conditions can be added: * Amount: This enables filtering based on the amount for the transaction. Each rule defines a single currency for which it applies. A minimum amount, maximum amount, or a range for the amount can be specified. * Browser language: This enables filtering based on a buyer's browser language. * Country: This enables filtering based on the customer's country as an inclusive or exclusive list of countries. * Currency: This enables filtering based on the transaction currency as an inclusive or exclusive list of currencies. * Metadata: This enables filtering based on key/value strings from an object passed to the API. This currently only supports matching/not matching string values. For example, `{"foo": "bar"}` could be passed and a condition created based on the value of the `foo` key. * Metadata (Numeric): This enables filtering based on key/value numeric strings from an object passed to the API. It only supports numeric comparisons like `less than`, `equal to`, `greater than`, `greater than or equal to` and `less than or equal to`. For example, `{"foo": "200.1"}` could be passed and a condition created based on the numeric value `200.1` of the `foo` key. * Product categories: This enables filtering based on the product categories of cart items. * Product types: This enables filtering based on the product types of cart items. * SKUs: This enables filtering based on the SKUs of cart items. * Zero amount (any currency): This enables filtering based on a zero amount transaction of any currency. **Rule Validation** * You may only have one amount or currency condition per rule * You may only have one browser language condition per rule * You may only have one country condition per rule * You may only have one product categories condition per rule * You may only have one product types condition per rule * You may only have one SKUs condition per rule # Other Transactions Flow Source: https://docs.gr4vy.com/guides/dashboard/flow/other-transactions Control how non-card payments are routed, retried, and rejected. ## Action: Decline This action allows transactions to be declined before they are routed to one of the connections. ## Action: Route to connection This action allows transactions to be routed to a subset of connections. A transaction is processed sequentially with the defined outcome connections until it is successful. If a rule is matched and there are no active connections, or all connections fail to process the request, the transaction is declined. ## Conditions The following conditions can be added: * Amount: This enables filtering based on the amount for the transaction. Each rule defines a single currency for which it applies. A minimum amount, maximum amount, or a range for the amount can be specified. * Anti fraud decision: The enables filtering based on the decision made by the anti-fraud service. * Browser language: This enables filtering based on a buyer's browser language. * Country: This enables filtering based on the customer's country as an inclusive or exclusive list of countries. * Currency: This enables filtering based on the transaction currency as an inclusive or exclusive list of currencies. * Gift card BIN range: This enables filtering on up to the first nine digits of a gift card, for example: `4242-4545` or `123456789-123456789`. * Has gift cards: This enables filtering based on whether gift cards were used in the transaction. * Metadata: This enables filtering based on key/value strings from an object passed to the API. This currently only supports matching/not matching string values. For example, `{"foo": "bar"}` could be passed and a condition created based on the value of the `foo` key. * Metadata (Numeric): This enables filtering based on key/value numeric strings from an object passed to the API. It only supports numeric comparisons like `less than`, `equal to`, `greater than`, `greater than or equal to` and `less than or equal to`. For example, `{"foo": "200.1"}` could be passed and a condition created based on the numeric value `200.1` of the `foo` key. * Payment method: This enables filtering based on the payment method used for the transaction. * Product categories: This enables filtering based on the product categories of cart items. * Product types: This enables filtering based on the product types of cart items. * SKUs: This enables filtering based on the SKUs of cart items. * Split routing: This enables filtering based on set probability (percentage), for example, setting `30` would evaluate to true for approximately 30% of requests. **Rule Validation** * The payment method condition is required * You may only have one amount or currency condition per rule * You may only have one browser language condition per rule * You may only have one country condition per rule * You may only have one currency condition per rule * You may only have one gift card BIN range condition per rule * You may only have one has gift cards condition per rule * You may only have one payment method condition per rule * You may only have one product categories condition per rule * You may only have one product types condition per rule * You may only have one SKUs condition per rule * You may only have one Split Routing condition per rule # Flow Source: https://docs.gr4vy.com/guides/dashboard/flow/overview Control payment options presented at checkout, and the flow of card and non-card payments all the way through to the payment service. Flow enables customization of customer experiences throughout the transaction lifecycle. By creating rules with conditions, specific customers can be targeted and/or transactions to dynamically change the outcome. This feature can be interacted with via the API or the dashboard. Flow dashboard ## Concepts ### Flows A flow represents one stage of the customer journey, for example, the checkout experience. Flow gives control to dynamically change each of these flows via actions. ### Actions Each flow may have one or more associated actions, for example, when processing a transaction, a transaction can be declined or routed to a specific connection. For each action, what happens under specific circumstances can be controlled by creating rules. ### Rules A rule represents a set of conditions and an outcome. If, at evaluation time, all the conditions for the rule are met, the outcome is used to alter the customer experience. An example of a rule would be **If the transaction amount is between $10 & $50, then only show the card payment option at checkout**. Each rule is evaluated from top to bottom; the first matched rule is used to change the outcome. # Authentication Insights Source: https://docs.gr4vy.com/guides/dashboard/insights/authentications A data dashboard that allows deep dives into payments authentication data The **Authentication** tab provides insight into the Strong Customer Authentication (SCA) process, including 3-D Secure (3DS) and other mechanisms like redirect-based flows. It enables users to analyze where authentications occur, their outcomes, and issuer behaviors. Authentication (for example, 3-D Secure) typically occurs **after** the payment method is selected but **before** the payment service is invoked. Or for alternative forms of payment (for example PayPal) authentication typically happens by redirecting to the payment methods' environment to finalize authentication. The dashboard allows: * Understanding the impact of 3DS/SCA rules * Analyzing friction in the checkout process * Identifying issuer behaviors and liability shift implications * Keeping track of conversion across payment methods The **Authentications** dashboard filters transactions to shows all transactions including **failed** transactions. This filtering ensures that all transactions where authentication logic is relevant and observable are displayed. ## Modules The dashboard includes multiple modules to analyze different aspects of the authentication flow. | Module Name | Outcomes / Categories | Relevant data fields | | --------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Methods** | `Card`, `PayPal`, etc. | `transaction.method` | | **Authenticated** | `Succeeded`, `Authentication Failed`, `Abandoned` | This is obtained by combining the outcomes of the directory response: `three_d_secure.response_data.directory_response`, `three_d_secure.response_data.authentication_response`, as well as using error codes `canceled_buyer_approval`, `failed_buyer_approval`, `missing_redirect_url`, `incomplete_buyer_approval` | | **Response** | `Y`, `N`, `U`, `A`, `R` | `three_d_secure.response_data.authentication_response` | | **Authorized** | `Successful`, `Declined/Failed` | `status` | | **Liability shifted** | `Yes`, `No` | `three_d_secure.response_data.directory_response`, `three_d_secure.response_data.authentication_response`, `three_d_secure.status`, `three_d_secure.response_data.scheme` | | **Challenge** | `Challenged`, `Frictionless`, `No challenge` | `three_d_secure.method` | | **ECI** | `00`, `01`, `02`, `05`, `06`, `07` | `three_d_secure.response_data.eci` | | **Issuer name** | Name of the card issuer (for example, `Chase`, `Barclays`) | `payment_method_details.card_issuer_name` | | **Issuer country** | Country of the issuer | `payment_method.country` | | **Card type** | `Credit`, `Debit`, `Prepaid` | `payment_method_details.card_type` | | **Scheme** | `Visa`, `Mastercard`, `Amex`, etc. | `payment_method.scheme` | | **BIN** | Top 25 Bank Identification Numbers | `payment_method.bin` | | **Country** | Country of the transaction | `country` | | **Connector** | PSP used (for example, `Adyen`, `Stripe`) | `payment_service_display_name` | | **Flow rule applied** | 3-D Secure flow rules that were triggered | Authentication flow rules | | **Currency** | Currency used in the transaction | `currency` | | **Instrument** | `PAN`, `NT`, etc. (instrument types) | `instrument_type` | ## Module details ### Authenticated Indicates the outcome of the authentication process. * **Succeeded**:\ Transactions where `three_d_secure.response_data.authentication_response` is `Y` or `three_d_secure.response_data.directory_response` is `Y` (frictionless scenario) are included. Lastly, redirect transactions that were authorized (alternative forms of payment are included) are also considered. * **Authentication Failed**:\ Transactions with `three_d_secure.response_data.directory_response`: `N`, `R`, `U`, error code as `canceled_buyer_approval`, `failed_buyer_approval`, `missing_redirect_url`, or in case of failed challenge: `three_d_secure.response_data.directory_response`: `C`, AND `three_d_secure.response_data.authentication_response`: `N`, `R` or `U`. Additionally, redirect transactions that were not authorized are also considered. * **Abandoned**:\ Transactions containing `incomplete_buyer_approval` error code. * **Other fields**: Furthermore `method`, `authorized_at` and `status` and are used. > **Note on Abandoned Derivation:** > The "Abandoned" status is explicitly derived from transactions that return the **`incomplete_buyer_approval`** error code. This typically occurs when a user starts the authentication process (for example when the user is redirected to a 3DS page) but does not complete it. ### Response Raw 3DS authentication response values (`three_d_secure.response_data.authentication_response`), which correspond to the EMVCo ARes `TransStatus`. The same values are documented for integrators in [Authentication results](/guides/features/3ds/statuses). * **Y** -> Authentication / Account verification successful. * **N** -> Not authenticated / Account not verified; Transaction denied. * **U** -> Authentication / Account verification could not be performed; technical or other problem. * **R** -> Authentication / Account verification Rejected. Issuer is rejecting authentication/verification and requests that authorization not be attempted. * **A** -> Attempts processing performed; Not authenticated / verified, but a proof of attempt authentication / verification is provided. ### ECI (electronic commerce indicator) The ECI indicates the status of the authentication for specific card schemes. **Mastercard** * **02** -> Successful authentication. * **01** -> Authentication attempted but could not be completed. * **00** -> Failed authentication or authentication cannot be attempted because card is not enrolled or issuer is not participating. **Visa** * **05** -> Successful authentication. * **06** -> Authentication attempted but could not be completed. * **07** -> Failed authentication or authentication cannot be attempted because card is not enrolled or issuer is not participating. ### Liability shift The liability shift is obtained by checking whether a transaction `three_d_secure.status` is `complete`. `three_d_secure.eci` is one of `01`, `06`, `02` or `05`. `three_d_secure.response_data.directory_response` is one of the following when the liability shifts either: `Y` or `A`, `C` while `three_d_secure.response_data.authentication_response` is `Y` or `A`. Card schemes are compared: 3DS scheme should be equal to the payment method scheme. Because of co-badge routing, the following can happen: 3DS done with scheme A. Transaction attempt with scheme A fails. A rule indicates an additional scheme B should be used (assuming the card is co-badged). Transaction attempt with scheme B succeeds. On that second attempt, the 3DS information obtained before isn't sent, because a different card scheme is being used. Hence, the liability isn't shifted. ### Challenge Describes the nature of the 3DS interaction using the `three_d_secure.method` either `challenge` or `frictionless`. ## Notes * Gift-card-only transactions are included even if they have no `method`. # Authorization Insights Source: https://docs.gr4vy.com/guides/dashboard/insights/authorizations A data dashboard that allows deep dives into payments authorization data The insights dashboard provides merchants with all the tools to deep dive into their payments data. With the use of cross-filters it's possible to analyze volume, auth rate, and uncover both opportunities and issues. The transactions included in this dashboard are those that were sent to a payment service and reached an `authorization_succeeded`, `capture_succeeded` or `authorization_declined` state. Transactions that were declined by Flow, resulted in a `authorization_failed` status, or are still in some pending status are not included as they either did not reach the service, or were rejected for technical reasons. ## Control The controller for the Authorizations tab has an extra option and allows filtering of all the data on **auth rate**. * **Auth rate** is calculated as the number of successfully authorized transactions, divided by the number of transactions sent to the PSP for processing that did not resulting in a failure. * `auth_rate` = `num_authorized` / `num_processed` * `num_authorized` = `sum(status in ["authorization_succeeded", "capture_succeeded"])` * `num_processed` = `sum(status in ["authorization_succeeded", "capture_succeeded", "authorization_declined"])` - `flow_decline` * `flow_declines` = `sum(error_code starts with flow_*)` ## Modules For authorizations, the dashboard is divided into three sections. ### Requests The request section gives insight into the request and response data. * **Error codes:** This module shows the standardized `error_code` values for declined payments. These error codes are mapped from the payment service's response codes to a set of standardized error codes. * **Methods:** This module shows the `method` used for the transaction. To see the scheme used for card payments, see the **Schemes** module in the **Card details** section. * **Metadata:** The key/value pair provided in the `metadata` field in the payment request. This module only shows the top 25 of metadata key:value pairs in descending order. * **Country:** The `country` code provided by the merchant in the payment request. If no country code is provided, this is counted towards the **Unknown country code** value. * **Connector:** The configured payment service that was used for routing the payment. * **Flow rule applied:** This module shows which flow rule was applied to route the transaction. * **Currency:** The `currency` that the transaction was processed in. * **Authorization:** This module allows filtering between successful and declined transactions. * **Payment service response codes:** This module shows the response codes received from the payment services, corresponding to the `raw_response_code` transaction field. ### Card details This section gives insight in the card details used in the authorizations. From BINs to issuers to card types. * **Issuer name:** The issuer of the card used in the transaction. This module only provides the top 25 issuers in descending order. * **BIN:** The BIN of the card that was used in the transaction. This module only provides the top 25 BINs in descending order. * **Issuer country:** The issuing country of the card used in the transaction. * **Card type:** The card type of the transaction, providing insight in credit, debit or prepaid. * **Schemes:** The card scheme that processed the transaction. ### Recurring This section gives insight in the data regarding recurring, card on-file, CIT, and MIT transactions. * **Transaction type:** The transaction type refers to the `payment_source` of the transaction. Whether the transaction was e-commerce, card-on-file, moto, installment or recurring. * **Initiator:** This module provides insight in whether the transaction was a customer initiated transaction (CIT) or merchant initiated transaction (MIT). * **Subsequent payment:** This module shows whether a transaction was a subsequent payment. # Insights Source: https://docs.gr4vy.com/guides/dashboard/insights/homepage Transaction insights with a daily, weekly, or monthly view. In the dashboard there are multiple ways to interact with payments data. Off-the-shelf tools are provided to view payments data over the last 24 hours, 7 days, or 30 days. On the **homepage** dashboard there is only a high level, static overview of payments. The **insights** dashboard is an interactive dashboard that allows deep-diving into payments data. This dashboard contains multiple sub-tabs corresponding to the state of the transactions throughout their lifecycle in the system: * Authentication tab * Authorization tab Some of the features are used across the homepage dashboard and the insights dashboard. These generic features are described below. Specifics for the insights dashboard on which data is used, and what modules are provided are given on the pages of the respective insights dashboard tabs. ## Controller Insights controller The top controller allows controlling the variables for which data is shown on the dashboard. All visible data is filtered on the basis of this selection. * The first selector lets switching between volume (accumulated transaction value) and transactions (transaction count). * The currency selector allows filtering for any used currency over 60+ days for the homepage dashboard. The insights dashboard allows selecting a currency used in the selected time period. The currency selector is only available when *volume* is selected. * The time selector allows changing the time range for which the data on the dashboard is shown. It's possible to show the data for last 24 hours, last 7 days, and last 30 days. The data is shown with a comparison to the same time span prior to the selected time frame. For the daily time filter that means that the last 24 hour's data is shown, in comparison to the 24 hours before that. For the last 7 days that means that the data is shown for the last 7 days as compared to the 7 days before that, and for 30 days as compared to the 30 days before that. The feature of the insights dashboard controller is the same as the homepage dashboard controller, with the exception of the auth rate toggle which is only available in the Authorizations tab of the insights dashboard. **Rolling window** The time selector applies on the basis of a rolling time window. For the daily and weekly window the data is shown hourly. A rolling window means that the data shown covers the last 24 completed hours (daily), or last completed 168 hours (last 7 days). When filtering on the last 30 days the data is displayed per day, still using the rolling window. The rolling window is used for both the homepage dashboard as well as the insights dashboard. ## Presets Using presets, selected filters can be saved to view and share. The filters selected can be saved and can be named accordingly. If needed, the preset can be renamed by selecting the preset and selecting **Rename Preset** via the same menu used to select the preset. Via that menu it is also possible to delete the preset. It is possible to have multiple presets. Each can be saved separately and are listed under the Presets button. Saving presets is possible for users with the `Administrator` and `Analyst` roles. There is a maximum of 10 presets that can be saved for each of the separate tabs in the insights dashboard. Presets are only available in the Insights dashboard, and not on the dashboard homepage. presets ## Line chart Line chart The data in the line chart is shown hourly for every completed hour, as measured in the UTC timezone. This chart updates hourly. The chart shows the data as with the filters from the controller applies. This means it either shows the volume or the transaction count. And it only shows transactions for the period and currency selected. Note that on the homepage dashboard it's possible to switch the line chart to show the auth rate, as well as any refunds for the selected time frame. A delta is shown as an overall comparison between the selected time frame and the previous time frame. The auth rate provided in this module is the auth rate at the API. Transactions in the system can have multiple attempts via the same or via multiple payment services, depending on whether this has been set up in flow. This means that the auth rate given on the homepage line-chart doesn't reflect the connector level auth rate but rather the success of transactions via the system as a whole. The auth rate is calculated as number of `authorized count / number of processed` , where `processed` doesn't include failures nor in-progress transactions. The line-chart is both used for the homepage dashboard as well as the insights dashboard. **Deltas:** Given a time frame selected of 7 days with a 5% increase in the auth rate means that the auth rate is 5% better for the last 7 days than the 7 days before that. ## Transactions funnel (Homepage dashboard only) Sankey chart The Sankey chart visualizes the flow of transactions from acceptance through settlement, filtered according to the settings applied in the controller. Depending on the selected options, it displays either transaction volume or transaction count, and only includes transactions for the chosen period and currency. The chart is updated hourly. ### Transaction stages 1. **Incoming** * **Accepted**: Transactions that have been accepted for processing. 2. **Authentication** * **No 3DS**: Transactions that have bypassed 3-D Secure or where 3-D Secure was not applicable. * **3DS**: Transactions (both pass-through and hosted) that have gone through a 3-D Secure flow. This does not indicate liability shift eligibility. * **Flow Declined**: Transactions that have been declined by a Flow rule before entering any authentication step. 3. **Authorization** * **Authorized**: Transactions that have been successfully authorized. * **Failed/Declined**: Transactions that have failed or been declined at the authorization stage. Transactions previously authorized are not included. 4. **Settlement** * **Captured**: Authorized transactions that have been fully or partially captured. * **Voided**: Authorized transactions that have been voided. Remaining amounts from partial captures are not included. **Amounts reflect the original transaction value:** When viewing the transaction funnel by volume, the amounts shown correspond to the original transaction value. They do **not** represent amounts that were authorized, captured (for example, partial or over-captures), or voided. ## Connections comparison module (Homepage dashboard only) This module shows a list of configured connectors that have processed transactions for the timeframe as set in the top controller (24 hours, 7 days, or 30 days). Differently than the count on the top module, here the number or volume of attempts via the connector is counted, as a transaction could have multiple attempts. The auth rate in this module is calculated as `authorized count / number of processed` however this is only taking into consideration the attempts via the connector minus the failed attempts. Failures are left out and only counted towards the auth rate when an actual attempt was made to authorize at the issuer. Any technical errors or failures are therefore left out. It is also important to note that transactions that are no longer authorized, for example because they're voided, are still counted as authorized. This is different than the auth rate in the top module which takes the system level auth rate. As mentioned, a transaction can have multiple attempts on a connector level. It could therefore mean that the count of declines is higher in this module, than the count of declines for overall transactions. The recovered column refers to transactions that succeeded but not via the first attempt. It could mean that a connector shows authorized transactions as well as recovered transactions. This depends on how the connector is set up in Flow configuration. If the same connector is used to perform authorizations, as well as retries, this module shows both authorized and recovered transactions or volume. The connections module only shows connections that had activity during the configured timeframe. Configured but idle connections are left out of the view. This connections module is only shown on the homepage dashboard. The insights dashboard has a filterable connections module allowing cross filtering of data per connector. ## Transactions This is a list of the latest transactions in the system for the respective selected merchant account. In the near future this module is swapped out for a funnel, showing how transactions and volumes flow through the system. The transactions list is only shown on the homepage. # API keys Source: https://docs.gr4vy.com/guides/dashboard/integrations/api-keys Create and manage API key pairs from the dashboard, including the role, algorithm, and merchant accounts each key can access. API key pairs are used to sign the JSON Web Tokens (JWTs) that [authenticate](/guides/api/authentication) your server-side calls to the Gr4vy API. You can create and manage them from the dashboard, under **Integrations** > **API Keys**. To manage keys programmatically instead, see [Managing API keys](/guides/api/api-keys). ## Create an API key 1. Go to **Integrations** > **API Keys**. 2. Select **Add an API key**. 3. Enter a **Name** to identify the key, for example `Web API key`. 4. Choose the **Permissions** for the key. This sets the key's role: * **Full access** allows the key to process payments, manage connections, edit Flow rules, and more. * **Processing only** allows the key to process payments, including managing payment methods and buyers. * **System management only** allows the key to manage connections and edit Flow rules. * **Transaction reporting only** allows the key to read payments data, including creating and accessing reports. * **Key management only** allows the key to manage API keys, including creating, editing, and activating or deactivating keys. 5. Choose the **Algorithm**. **ECDSA** is recommended. Only use **RSA** in environments that do not support ECDSA. 6. Under **Merchants**, either grant the key access to all merchant accounts or select specific merchant accounts. 7. Select **Create API key**. Gr4vy generates the key pair and provides the private key once, when the key is created. Store the private key securely, as it cannot be retrieved again. ## Manage API keys The **API Keys** table lists each key with its name, role, algorithm, merchant access, when it was last used, creator, and creation date. The **Status** column shows whether each key is active or inactive. * Select **Edit API key** to change a key's name, role, or the merchant accounts it can access. * Select **Deactivate** to turn off a key without deleting it. A deactivated key can no longer authenticate. Select **Activate** to turn it back on. * Select **Remove API key** to delete a key. Removing a key is non-reversible, and any system using it can no longer authenticate. API key roles differ from [user roles](/guides/dashboard/roles-and-permissions/roles). User roles control access for people signing in to the dashboard, while API key permissions control access for server-side API calls. # Alerts Source: https://docs.gr4vy.com/guides/dashboard/monitoring-and-alerting/alerts View and investigate alerts fired by your monitors from the Alerts log. When a monitor's threshold is breached, an alert is created. You can view all alerts in the **Alerts log** tab and drill into any individual alert to investigate what happened. ## Alerts log Navigate to the **Alerts log** tab in the Monitoring & Alerting section to see all alerts across your account. Alerts are retained for up to **365 days**. Alerts log Each row includes: * **Triggered** - When the alert was created. * **Monitor** - The monitor that fired the alert. * **Evaluation period** - The time window used to aggregate each sample. * **Duration** - How long the alert lasted. * **Threshold** - The threshold value that was breached. Open alerts display an **in-progress** indicator. Select any row to open the alert detail page. Use the **date range picker** to filter alerts by time period. ## Alert detail Use this page to investigate the alert and review affected transactions. Alert detail page The summary at the top of the page includes: * **Monitor type** - The type of metric being monitored, for example authorization rate. * **Filters** - The criteria used to restrict which transactions are included in the metric calculation. * **Evaluation period** - The time window over which transaction data is aggregated for each sample. * **Threshold** - The condition that, when met, triggers an alert. * **Checks** - The total number of samples recorded since the alert opened. * **Lasted** - How long the alert remained open. * **Alert delay** - The number of consecutive breaching samples required to trigger the alert. Pre-delay breaches are visible in the overview timeline but are not included in the alert detail. The same number of consecutive healthy samples is required to resolve it. * **Resolved** - The timestamp when the alert was closed, if applicable. * **Notes** - Any notes added by users to provide additional context about the alert. ### Authorization rate chart Below the summary, a line chart tracks the authorization rate over the alert window. * A **solid line** shows the measured authorization rate over time. * A **dashed amber line** marks the configured threshold. * Data points are color-coded: **blue** for normal, **amber** for threshold breach, and **red** for alert. The chart refreshes automatically every **60 seconds** while the alert remains open. ### Related transactions Transactions recorded during the alert window are listed below the chart. Use this panel to identify patterns or isolate affected payment flows. Related transactions ## Alert lifecycle An alert moves through two states: * **Alert** - The monitor's threshold is currently breached and the conditions required to resolve it have not yet been met. * **Resolved** - The alert has closed. The detail page displays a **Resolved** timestamp showing when the alert was closed. ## Alert notes Users with the appropriate permissions can add or edit a note on any alert. Notes are useful for recording root causes, actions taken, or any other context relevant to the alert. To add or update a note, open the alert detail page and edit the **Notes** field. Changes are saved immediately and recorded in the [audit logs](/reference/audit-logs). ## Auto-close behavior Open alerts are automatically closed in three situations: * **Metric recovered** - The required number of consecutive healthy samples has been observed, as determined by the monitor's configured alert sensitivity. * **Monitor updated** - Any open alert for the monitor is closed as soon as you save a change. * **Monitor deleted** - Any open alert for the monitor is closed immediately when the monitor is deleted. # Monitoring & Alerting Source: https://docs.gr4vy.com/guides/dashboard/monitoring-and-alerting/overview Use monitors, thresholds, and alerts to quickly detect payment issues. Monitoring enables you to: * Create **monitors** that evaluate transaction data over a defined time window. * Compare results against a configured **threshold** to detect anomalies or performance degradation. * Automatically trigger **alerts** when a threshold is breached. * Deliver notifications via **webhooks** to integrate with your internal tooling or incident management systems. The term **monitors** in the dashboard consolidates several underlying concepts—metrics, incidents, alerts, and notifications—into a single interface. In other contexts, such as webhook events, **alerts** map to incidents and **monitors** map to metrics. ## Monitors A **monitor** tracks a specific metric—such as `auth_rate`—and defines how that data is measured and aggregated. For example, you might configure a monitor to track the authorization rate for a new payment processor or for a currency with historically elevated decline rates. Currently, only **authorization rate** monitoring is supported. The setup wizard is configured accordingly. ### Overview The **Overview** tab lists all configured monitors. Monitors Each row includes: * **Monitor name** * **Metric type** - for example, Authorization rate (`auth_rate`) * **Threshold configuration** * **Applied filters** * **Evaluation period** - Indicated by the stopwatch icon, showing the time window used to aggregate each sample. * A **sample timeline** showing historical values from oldest (left) to most recent (right) Use the **search field** to filter monitors by name. During the launch phase, each merchant account is limited to **10 monitors** while usage patterns are being evaluated. ## Samples A sample represents a single data point collected during the monitor's evaluation period. Samples are displayed chronologically, with older values on the left and newer values on the right. Samples are immutable, collected automatically every **minute**, and retained for **30 days**. Monitor timeline Each sample is color-coded based on its evaluation result: * **Green** - The sample is within the configured threshold. * **Amber** - The sample breached the configured threshold but did not trigger an alert. When a monitor uses a **verify** sensitivity, breaches during the delay period remain amber and are not retroactively promoted when the alert fires. * **Red** - The sample is associated with an active or historical alert. * **Gray** - The sample has no evaluation data, for example when data for that period was delayed or unavailable. ### Tooltips Select or hover over a sample in the timeline to view additional context for that data point. Monitor tooltips The tooltip includes: * **Status** - The evaluation result, such as **Normal**, **Threshold Breach**, or **Alert**. * **Measured value** - The metric value recorded for the sample, such as the authorization rate. * **Logged** - The timestamp when the sample was collected. * **Evaluation period** - The time window used to calculate the sample. For example, a sample may aggregate transactions from the previous **15 minutes**. ## Alerts An alert fires when a monitor's threshold is breached and the configured sensitivity conditions are met. Alerts are sent to any [default webhooks](/guides/features/webhooks/overview) configured in your dashboard. See [Alerts](./alerts) for the full details, including how to view past alerts and how the alert lifecycle works. # Set Up a Monitor Source: https://docs.gr4vy.com/guides/dashboard/monitoring-and-alerting/setup Learn how to set up a monitor to track authorization rates. Use the **monitor setup wizard** to create a monitor in a few steps. A monitor evaluates authorization rates over time, compares results against a threshold, and triggers alerts when performance drops below the expected level. Monitor setup ## Create a monitor The wizard guides you through three steps: naming the monitor, defining the metric and threshold, and configuring alert behavior. ### 1. Name your monitor Provide a clear, descriptive **monitor name** so it is easy to identify in the dashboard. Good names typically reference a specific connector, region, or traffic segment. Select **Next** to continue. ### 2. Define the metric Configure how the authorization rate should be evaluated. * **Threshold** - The minimum average authorization rate considered healthy. Must be a whole number between 1 and 100. Defaults to **90%**. * **Evaluation period** - The time window used to calculate the average: 5 minutes, 15 minutes, 30 minutes, or 1 hour. Defaults to **5 minutes**. * **Filters** *(optional)* - Restrict which transactions are included in the calculation, such as by payment method, connector, or BIN. Authorization rates are calculated by aggregating transaction data collected **every minute** over the selected evaluation period. See [Filters](#filters) below for the full list of available filter options. Each monitor must have a unique combination of parameters. You cannot create a monitor with the same threshold, evaluation period, and filters as an existing monitor to avoid tracking the same metric twice. Select **Next** to configure alert behavior. ### 3. Configure alert sensitivity Choose how quickly alerts are triggered and resolved. * **Immediately** - An alert fires as soon as a single sample breaches the threshold and resolves as soon as the metric returns to a healthy value. * **Verify** - Choose the number of consecutive breaching samples required before an alert fires. The alert resolves only after the same number of consecutive healthy samples. When an alert fires, it is sent to any [default webhooks](/guides/features/webhooks/overview) configured in your dashboard. Select **Next** to create the monitor. ## Filters Monitor metrics use a specification that controls which transactions are included in the calculation. | Filter | Description | Example | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | | **Date / Time Range** | Filters results to data aggregated over a specific period (5–60 minutes). Uses ISO 8601 intervals, where the start or end can be a timestamp or a placeholder such as `now`, `hour_start`, or `hour_end`. | `PT60M/hour_end` | | **Payment Method** | Filters by payment method. Transactions without a method can also be included. | `card` | | **Payment Method BIN** | Filters using the first 6 digits of the card number (BIN). Transactions without a BIN can also be included. | `123456` | | **Payment Method Scheme** | Filters by card scheme, such as Visa or Mastercard. Transactions without a scheme can also be included. | `visa` | | **Payment Service ID** | Filters by the payment service used to process the transaction. Transactions without a service ID can also be included. | `06319aec-2c0f-4c7b-8af1...` | The evaluation period and filters are **immutable after creation** to ensure the data definition remains consistent over time. The monitor name, threshold, and alert sensitivity can be updated after creation. Updating or deleting a monitor automatically closes any open alerts for that monitor. ## Next steps Once the wizard completes: * The monitor **starts running immediately**. * The **first sample** is available straight away and covers the evaluation period leading up to the monitor's creation. * Alerts are delivered to your [default webhook](/guides/features/webhooks/overview), if one is configured in your dashboard. * View past alerts at any time in the **Alerts log** tab—alerts are retained for up to **365 days**. # Dashboard overview Source: https://docs.gr4vy.com/guides/dashboard/overview Monitor payment performance, configure controls, and manage operations in the Gr4vy Dashboard. The Gr4vy Dashboard gives operations, risk, and engineering teams a shared control center for payment performance and configuration. Use it to monitor real-time outcomes, adjust routing and risk logic, manage reporting, and control user access. ## What you can do in Dashboard Track key payment metrics including authorizations and authentication outcomes. Create no-code rules to route and optimize checkout and transaction behavior. Build exports and recurring reports for reconciliation and analysis. Configure settlement ingestion and reconcile provider-level payout data. Assign access by role and apply least-privilege controls across teams. Set up identity provider login for secure team access. ## Recommended setup path 1. Start with Insights to baseline your current authorization and 3DS performance. 2. Configure Flow rules to optimize routing, retries, and transaction handling. 3. Set up Reports and Settlement reports for finance and operations workflows. 4. Apply Roles and permissions, then configure SSO for secure access. # Setup a report Source: https://docs.gr4vy.com/guides/dashboard/reports/how-to Learn how to create a report via the dashboard. There are two ways to setup a report, either via the dashboard or via the API. ## Using dashboard 1. Go to Reports in the top bar 2. Choose the type of report to generate 3. Follow the creation steps 4. Check the report's executions in "Generated" tab 5. Download report ## Using API ### 1. Create a report Use the [`POST {url}/reports/`](/reference/reports/new-report) API to create a report. ```json Request theme={"system"} { "name": "Successful captures", "spec": { "params": { "fields": ["id", "captured_at", "amount"], "sort": [ { "field": "created_at", "order": "asc" } ], "filters": { "status": ["capture_succeeded"] } } } } ``` ```json Response theme={"system"} { "type": "report", "id": "71aa8d49-5ec7-43aa-b13c-9b16fdae0f9b", "name": "Successful captures", "created_at": "2022-10-28T10:15:36.547789+00:00", "updated_at": "2022-10-28T10:15:36.547789+00:00", "next_execution_at": null, "description": null, "schedule": "once", "schedule_enabled": false, "schedule_timezone": "Etc/UTC", "spec": { "model": "transactions", "params": { "sort": [ { "field": "created_at", "order": "asc" } ], "fields": ["id", "captured_at", "amount"], "filters": { "method": null, "scheme": null, "status": ["capture_succeeded"], "currency": null, "metadata": null, "voided_at": null, "created_at": null, "captured_at": null, "authorized_at": null } } }, "latest_execution": { "type": "report-execution", "id": "0848ef01-f44a-4564-abdb-52a1344bac63", "created_at": "2022-10-28T10:15:36.571232+00:00", "updated_at": "2022-10-28T10:15:36.611495+00:00", "status": "dispatched", "context": { "reference_timestamp": "2022-10-28T10:15:36.571232+00:00", "reference_timezone": "Etc/UTC" } } } ``` ### 2. Check report's executions (optional) Next, [list all the executions for a report](/reference/reports/list-executions-for-report) can be done. ```json Response theme={"system"} { "items": [ { "type": "report-execution", "id": "0848ef01-f44a-4564-abdb-52a1344bac63", "created_at": "2022-10-28T10:15:36.571232+00:00", "updated_at": "2022-10-28T10:15:36.611495+00:00", "status": "dispatched", "context": { "reference_timestamp": "2022-10-28T10:15:36.571232+00:00", "reference_timezone": "Etc/UTC" }, "report": { "type": "report", "id": "71aa8d49-5ec7-43aa-b13c-9b16fdae0f9b", "name": "Successful captures" } } ], "limit": 20, "next_cursor": null, "previous_cursor": null } ``` ### 3. Generate report's execution URL To download the file for an execution, [check the status of the execution](/reference/reports/get-report-execution) is `succeeded`, and then [request the download URL](/reference/reports/generate-download-url). ```json Response theme={"system"} { "url": "https://url/to/report/file", "expires_at": "2022-10-28T10:21:33.345947+00:00" } ``` The report can be downloaded from the `url` until it expires at `expires_at`. ## Webhooks & error handling When a report is generated, it triggers a `report-execution.succeeded` [webhook event](/guides/features/webhooks/events). If the generation fails for some reason, a `report-execution.failed` is sent. This event is triggered when a report fails to generate due to an unexpected internal technical issue. The report generation is not retried, and instead, the following steps to resolve the issue are recommended. * **One-off reports:** A new one-off report must be created. * **Scheduled reports:** As the report does not run for the failed period, creating a new one-off report for the same period to download the data is recommended. If this event is received frequently, or a one-off report cannot be created, please contact the support team with the details of the report. # Available report models Source: https://docs.gr4vy.com/guides/dashboard/reports/models The list of available models for which reports can be generated. Below is a list of the available models for which reports can be created. | Model | Description | | | ---------------------- | ------------------------------------ | ------------------------------------------------------------------ | | `accounts_receivables` | Report about receivable transactions | [Read more](/guides/dashboard/reports/models-accounts-receivables) | | `detailed_settlement` | Report about detailed settlements | [Read more](/guides/dashboard/reports/settlement/overview) | | `transactions` | Report about individual transactions | [Read more](/guides/dashboard/reports/models-transactions) | | `transaction_retries` | Report about transaction retries | [Read more](/guides/dashboard/reports/models-transaction-retries) | # Receivable transactions Source: https://docs.gr4vy.com/guides/dashboard/reports/models-accounts-receivables Learn how to report on receivable transactions via the dashboard. The `accounts_receivables` model allows setting one parameter. 1. `filters`: a dictionary of filters Note that the output fields are predefined and cannot be changed. The output data is sorted based on the timestamp of the receivable and then by its identifier. Sorting is only applied if the date-time filter has a duration of 31 days or less. ## `filters` Filters allow filtering of the receivable transactions' data to be exported. | Value | Type | Validation | | ----------- | ---------------- | ------------------------------ | | `timestamp` | `dict[str, str]` | See **date-time filter** below | **No filters** If no filters should be applied, just set `filters` as `null` ### Date-time filter A date-time filter could be defined as follows. ```json theme={"system"} { "start": str "end": str } ``` `start` and `end` allow three types of values: 1. Valid ISO 8601 timestamp with or without timezone. UTC is assumed if the time zone is not specified. 2. Date-time placeholder to be set dynamically 3. `null`: this represents an open range #### Validations The validations below are checked: 1. `start <= end`, only when both are timestamps 2. `start` and `end` cannot be null at the same time ## Example Example of report creation using the `accounts_receivables` model. ```json theme={"system"} { "name": "Test report", "spec": { "model": "accounts_receivables", "params": { "filters": { "timestamp": { "start": "2023-01-01T00:00:00" } } } } } ``` # Transactions retries Source: https://docs.gr4vy.com/guides/dashboard/reports/models-transaction-retries Learn how to report on transaction retries via the dashboard. The `transaction_retries` model allows setting one parameter. 1. `filters`: a dictionary of filters Note that the output fields are predefined and cannot be changed. The output data is sorted based on the occurrence time of the transactions and then by the attempt number. Sorting is only applied if the date-time filter has a duration of 31 days or less. ## `filters` Filters allow filtering of the transaction retries' data to be exported. | Value | Type | Validation | | ------------ | ---------------- | ------------------------------ | | `created_at` | `dict[str, str]` | See **date-time filter** below | **No filters** If no filters should be applied, just set `filters` as `null` ### Date-time filter A date-time filter could be defined as follows. ```json theme={"system"} { "start": str "end": str } ``` `start` and `end` allow three types of values: 1. Valid ISO 8601 timestamp with or without timezone. UTC is assumed if the time zone is not specified. 2. Date-time placeholder to be set dynamically 3. `null`: this represents an open range #### Validations The validations below are checked: 1. `start <= end`, only when both are timestamps 2. `start` and `end` cannot be null at the same time ## Example Example of report creation using the `transaction_retries` model. ```json theme={"system"} { "name": "Test report", "spec": { "model": "transaction_retries", "params": { "filters": { "created_at": { "start": "2023-01-01T00:00:00" } } } } } ``` # Transactions Source: https://docs.gr4vy.com/guides/dashboard/reports/models-transactions The list of available fields that can be included in a report for transactions. The `transactions` model allows setting three parameters. 1. `fields`: a list of fields 2. `filters`: a dictionary of filters 3. `sort`: a list of sorting fields ## `fields` Fields allow the selection of which columns to export in the report. | Field | | ---------------------------------------------- | | `id` | | `external_identifier` | | `status` | | `created_at` | | `updated_at` | | `authorized_at` | | `captured_at` | | `voided_at` | | `amount` | | `currency` | | `captured_amount` | | `refunded_amount` | | `method` | | `scheme` | | `payment_service_transaction_id` | | `payment_service_id` | | `payment_service_definition_id` | | `payment_service_display_name` | | `auth_response_code` | | `raw_response_code` | | `raw_response_description` | | `metadata` | | `is_subsequent_payment` | | `merchant_initiated` | | `payment_source` | | `three_d_secure_status` | | `three_d_secure_error_description` | | `three_d_secure_eci` | | `three_d_secure_auth_resp` | | `three_d_secure_method` | | `buyer_external_identifier` | | `billing_details_first_name` | | `billing_details_last_name` | | `billing_details_email_address` | | `billing_details_phone_number` | | `billing_details_address_city` | | `billing_details_address_country` | | `billing_details_address_postal_code` | | `billing_details_address_state` | | `billing_details_address_state_code` | | `billing_details_address_house_number_or_name` | | `billing_details_address_line1` | | `billing_details_address_line2` | | `billing_details_address_organization` | | `billing_details_tax_id` | | `billing_details_tax_id_kind` | | `authorized_amount` | | `intent_outcome` | | `gift_card_redemptions_amount` | | `gift_card_redemption_refunds_amount` | | `settled` | | `settled_currency` | | `settled_amount` | **All fields** If all fields should be included in a report, just set `fields` as `null` ## `filters` Filters allow filtering of the transactions' data to be exported. | Value | Type | Validation | | -------------------------- | ---------------------- | --------------------------------------------------------- | | `authorized_at` | `dict[str, str]` | See **Date-time filter** below for more details | | `captured_at` | `dict[str, str]` | See **Date-time filter** below for more details | | `created_at` | `dict[str, str]` | See **Date-time filter** below for more details | | `currency` | `str` | Valid ISO 4217 currency code | | `metadata` | `list[dict[str, str]]` | List of string-to-string dictionaries | | `method` | `list[str]` | List of valid methods | | `scheme` | `list[str]` | List of valid schemes | | `status` | `list[str]` | This should be a list | | `is_subsequent_payment` | `bool` | Boolean indicating transactions with subsequent payments | | `merchant_initiated` | `bool` | Boolean indicating transactions initiated by the merchant | | `payment_source` | `list[str]` | List of valid transaction sources | | `three_d_secure_status` | `list[str]` | List of valid 3DS statuses | | `three_d_secure_eci` | `list[str]` | This should be a list | | `three_d_secure_auth_resp` | `list[str]` | This should be a list | | `updated_at` | `dict[str, str]` | See **Date-time filter** below for more details | | `voided_at` | `dict[str, str]` | See **Date-time filter** below for more details | **No filters** If no filters should be applied, just set `filters` as `null` ### Date-time filter A date-time filter could be defined as follows. ```json theme={"system"} { "start": str "end": str } ``` `start` and `end` allow three types of values: 1. Valid ISO 8601 timestamp with or without timezone. UTC is assumed if the time zone is not specified. 2. Date-time placeholder to be set dynamically 3. `null`: this represents an open range The available placeholders for dynamic timestamps are: * `day_start`: replaced with the first instant of the day, for the period of time the execution is reading data from. * `day_end`: replaced with the last instant of the day, for the period of time the execution is reading data from. * `week_start`: replaced with the first instant of the week (for example Monday at 00:00), for the period of time the execution is reading data from. * `week_end`: replaced with the last instant of the week (for example Sunday at 23:59), for the period of time the execution is reading data from. * `month_start`: replaced with the first instant of the month, for the period of time the execution is reading data from. * `month_end`: replaced with the last instant of the month, for the period of time the execution is reading data from. #### Validations The validations below are checked: 1. `start <= end`, only when both are timestamps 2. `start` and `end` cannot be null at the same time ## `sort` The sort parameter allows selection of how to sort the data exported. This allows multiple columns to be used for sorting. Sorting is only applied if at least one date-time filter is present with a duration of 31 days or less. A sort parameter should have the format: ```json theme={"system"} { "field": str "order": str } ``` `field` can be: 1. `authorized_at` 2. `captured_at` 3. `created_at` 4. `updated_at` 5. `voided_at` `order` can be: 1. `asc`: ascending order 2. `desc`: descending order **No sorting** If no sorting should be applied, just set `sort` as `null` ## Example Example of report creation using the `transactions` model. ```json theme={"system"} { "name": "Test report", "spec": { "model": "transactions", "params": { "fields": ["id", "created_at"], "filters": { "status": ["capture_succeeded"], "created_at": { "start": "month_start", "end": "month_end" } }, "sort": [ { "field": "created_at", "order": "desc" } ] } } } ``` # Reports Source: https://docs.gr4vy.com/guides/dashboard/reports/overview Generate and schedule transactions via the dashboard. Reporting enables the creation of custom or templated reports through the dashboard and API. The objective of this guide is to give more details about report creation and to explain which report models are available, as well as to detail how they should be defined to be created through the API. Dashboard ## Concepts ### Reports A report is a resource that defines how a report should be created defining several things like schedule, filters, fields, and sorting. ### Reports executions Where the report is the overarching concept of the report being created, report executions are the output of the system after the API has received the request to create the report. Each report has at least one execution. For example, if a one-off report is created via the dashboard this results in a new report with a single execution. However if a report is scheduled, this requested report is reused as a concept for the sequence of reports and the same report has many executions over time. ### Report specification A report specification or spec is the detailed definition of a report to be created. What can or should be set in a report spec depends on the report model. ### Custom reports A custom report is a report that is manually generated specifying all the details to create it. The required parameters for the report creation depend on the report's model. ### Templated reports A templated report is just a custom report with predefined parameters. These reports can only be created through the Dashboard. ### One-off reports One-off reports are reports that have a single execution. This means, that the report is generated only once. ### Scheduled reports Scheduled reports are reports that are scheduled and are automatically generated on a specific date depending on the report's schedule frequency. The following frequencies are currently supported: * `daily`: generates a report every day. * `weekly`: generates a report every Monday. * `monthly`: generates a report on the first day of every month. # Settlement report Adyen mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/adyen ## Configuration Before enabling settlement reporting for an Adyen connector please follow the below steps. Some fields in the settlement report are not in the default Adyen settlement report and need to be configured via the Adyen portal. The following fields need to be added: `Booking date`, `Booking Date TimeZone` and `metadata`. To add the columns to the Adyen report follow the documentation [here](https://docs.adyen.com/reporting/settlement-reconciliation/transaction-level/settlement-details-report/#additional-columns). Please follow the below column configuration. ``` Company Account Merchant Account Psp Reference Merchant Reference Payment Method Creation Date TimeZone Type Modification Reference Gross Currency Gross Debit (GC) Gross Credit (GC) Exchange Rate Net Currency Net Debit (NC) Net Credit (NC) Commission (NC) Markup (NC) Scheme Fees (NC) Interchange (NC) Payment Method Variant Modification Merchant Reference Batch Number Reserved4 Reserved5 Reserved6 Reserved7 Reserved8 Reserved9 Reserved10 Booking Date Booking Date TimeZone Metadata ``` It's important to set up the columns in order and these are the minimum columns needed. If more columns are desired, these should be placed after the last column mentioned here. Once that is set up, a report user needs to be created. The report user is created via the Adyen developers dashboard, please follow the documentation [here](https://docs.adyen.com/reporting/automatically-get-reports/#create-api-credential). The report user follows a naming convention like `report_123456@Company.Gr4vyInc`. Please fill out the whole name, not just the report\_123456 part, and provide the basic auth password in the dashboard. It is important to use the Basic Auth key pair when configuring the report user in the dashboard, and not the API key. This needs to be filled out in the **settlement** tab in the connector configuration page. Adyen configuration ## Fields mapping This integration is in beta Below is the mapping of Adyen's settlement report to the consolidated settlement report. This data is pulled from the Adyen `settlement_detail_report` report. | Settlement report | Adyen field? | Adyen report | | :---------------------------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Merchant Reference` or `Metadata[orchestrator_tx_sid]` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `Psp Reference` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Type` | | `payment_service_transaction_created_at` | Yes | `Creation Date` with `Time Zone` UTC offset applied | | `posted_at` | Yes | `Booking Date`, with `Booking Date Time Zone` UTC offset applied | | `processing_amount_plain` | Yes | `Gross Credit (GC)` if `Settled` `Type`, `Gross Debit (GC)` if `Refunded` `Type` | | `processing_currency` | Yes | `Gross Currency` | | `exchange_rate` | Yes | `Exchange Rate` | | `currency` | Yes | `Net Currency` | | `gross_credit_plain` | Yes | `Gross Credit (GC) * Exchange Rate` or `Net Credit (NC)` for non-customer facing journal types | | `net_credit_plain` | Yes | `Net Credit (NC)` | | `gross_debit_plain` | Yes | `Gross Debit (GC) * Exchange Rate` or `Net Debit (NC)` for non-customer facing journal types | | `net_debit_plain` | Yes | `Net Debit (NC)` | | `fee_markup_plain` | Yes | `Markup (NC)` | | `fee_interchange_plain` | Yes | `Interchange (NC)` | | `fee_scheme_plain` | Yes | `Scheme Fees (NC)` | | `fee_total_plain` | Yes | `Commission (NC)` or `Gross Credit (GC) * Exchange Rate - Net Credit (NC)` if `Settled` `Type` or `Net Debit (NC) - Gross Debit (GC) * Exchange Rate` if `Refunded` `Type` | | `method` | Yes | Calculated from `Payment Method` or `Payment Method Variant` | | `raw_method` | Yes | `Payment Method` or `Payment Method Variant` depending on which was used to calculate `method` | | `scheme` | Yes | Calculated from `Payment Method` or `Payment Method Variant` | | `raw_scheme` | Yes | `Payment Method` or `Payment Method Variant` depending on which was used to calculate `scheme` | | `batch` | Yes | `Batch Number` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Contains raw `Time Zone` and `Booking Date Time Zone` values | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `Modification Reference` | | `payment_service_refund_reconciliation_id` | Yes | `Modification Merchant Reference` | | `refund_external_identifier` | No | - | ### Notes * `payment_service_transaction_created_at` and `posted_at` have been converted to UTC using `Time Zone` and `Booking Date Time Zone` respectively, which are time zone abbreviations. As these time zone abbreviations can be ambiguous, the applied UTC offset to these timestamp columns may not be accurate. Please refer to the `description` for the raw values used. * Non-customer facing journal types may have columns defaulting to `0` or empty strings. ### Journal type mapping | Adyen raw journal type | Journal type | | :--------------------- | :-------------------- | | `Chargeback` | `chargeback` | | `ChargebackReversed` | `chargeback_reversal` | | `Refunded` | `refund` | | `SecondChargeback` | `chargeback` | | `Settled` | `settlement` | | any other value | `other` | Fields marked as not being an **Adyen field** are populated from internal data and not from the imported payment service report. # Settlement report BlueSnap mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/bluesnap This integration is currently in beta and the exact mapping of fields might still change. ## Configuration Settlement reporting for BlueSnap uses the [`PayoutDetail` report](https://support.bluesnap.com/docs/payout-detail), which Gr4vy retrieves automatically through the BlueSnap Reporting API (REST). Unlike some other integrations, you do not need to set up SFTP access; Gr4vy fetches the report using the API credentials you already configured on the connector. To enable settlement reporting, go to the "Connections" tab, select the BlueSnap connector, and then open the "Settlement" tab. Enable settlement reporting on this tab. Settlement reporting is only supported on the `bluesnap-card` connector. Both Credit Card and Electronic Check rows are ingested regardless of payment method, and are stamped with the `bluesnap-card` payment service. If both `bluesnap-card` and `bluesnap-ach` are configured for the same BlueSnap account, only enable settlement reporting on one of them to avoid ingesting the same report twice. ### Enabling the payout webhook Report ingestion is triggered by BlueSnap's `PAYOUT` webhook (IPN): each time BlueSnap issues a payout, it notifies Gr4vy, which then fetches and ingests the corresponding `PayoutDetail` report. Enable this webhook in the BlueSnap Merchant Portal: 1. In the Gr4vy dashboard, go to **Connections**, select your BlueSnap connection, open the **Synchronization** tab and copy the webhook URL. This is the same endpoint used for your BlueSnap transaction webhooks. 2. In the BlueSnap Merchant Portal, go to **Settings** -> **Webhook Settings**. 3. Select **Add Endpoint URL**, or edit the existing endpoint that already points to Gr4vy. 4. In the **Endpoint URL** field, paste the Gr4vy webhook URL. It must use the HTTPS protocol. 5. Toggle the **Payout** webhook on, so that it displays blue. 6. Select **Save**, then use **Test** to confirm that BlueSnap can reach the endpoint. The payout webhook is delivered to the same endpoint as your BlueSnap transaction webhooks, so any security header already configured for the connector applies to it as well. If a payout is scheduled but there are insufficient funds to generate it, BlueSnap does not send a payout webhook, so no report is ingested for that cycle. ## Fields mapping Below is the mapping of BlueSnap's settlement report to the consolidated settlement report. This data is pulled from the BlueSnap `PayoutDetail` report. | Settlement report | BlueSnap field? | BlueSnap report | | :---------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------------ | | `payment_service_transaction_reconciliation_id` | Yes | `Merchant Transaction ID` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `Invoice ID` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | See the journal type mapping table below. | | `raw_journal_type` | Yes | `Transaction Type` | | `payment_service_transaction_created_at` | Yes | `Authorized on` and `Authorization time (PST)`, converted from PST to UTC (only for `settlement`) | | `posted_at` | Yes | `Captured on` and `Capture Time (PST)`, converted from PST to UTC | | `processing_amount_plain` | Yes | `ABS(Transaction Amount)` (only for `settlement` and `refund`) | | `processing_currency` | Yes | `Transaction Currency` | | `exchange_rate` | Yes | Always `null` | | `currency` | Yes | `Payout Currency` | | `gross_credit_plain` | Yes | `ABS(Gross Payout Amount)` for credit journal types (`settlement`, `chargeback_reversal`), else `0` | | `net_credit_plain` | Yes | `ABS(Total Disbursement)` for credit journal types (`settlement`, `chargeback_reversal`), else `0` | | `gross_debit_plain` | Yes | `ABS(Gross Payout Amount)` for debit journal types (`refund`, `chargeback`), else `0` | | `net_debit_plain` | Yes | `ABS(Total Disbursement)` for debit journal types (`refund`, `chargeback`), else `0` | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | `gross_credit_plain - net_credit_plain` for credit journal types, `net_debit_plain - gross_debit_plain` for debit journal types | | `method` | Yes | Calculated from `Payment Type` | | `raw_method` | Yes | `Payment Type` | | `scheme` | Yes | Calculated from `Payment Method` | | `raw_scheme` | Yes | `Payment Method` | | `batch` | Yes | `Payment ID` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | Always `null` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | | `refund_external_identifier` | No | - | ### Notes * `payment_service_transaction_created_at` and `posted_at` are provided in Pacific Standard Time (PST) by BlueSnap and are converted to UTC by applying a fixed UTC-8 offset. * No fee breakdown is available from BlueSnap, so `fee_interchange`, `fee_markup`, and `fee_scheme` are always `null`. `fee_total` is derived from the difference between the gross and net amounts. For charges, this equals `ABS(BlueSnap Processing Fees)`; for refunds, the fee is returned, so the net debit is lower than the gross debit and `fee_total` is negative. * `scheme` is derived from the `Payment Method` column (for example `Visa CREDIT`). Non-card values (for example Electronic Check rows) and card schemes with no equivalent are set to `null`. * `Surcharge Amount` is documented by BlueSnap but is not currently included in the settlement report. ### Journal type mapping | BlueSnap raw journal type | Journal type | | :------------------------ | :-------------------- | | `CHARGE` | `settlement` | | `REFUND` | `refund` | | `CHARGEBACK` | `chargeback` | | `CHARGEBACK WIN` | `chargeback_reversal` | | `Second Chargeback` | `chargeback` | | `RDR Reversal` | `other` | | any other value | `other` | Fields marked as not being a **BlueSnap field** are populated from internal data and not from the imported payment service report. # Settlement report Braintree mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/braintree Below is the mapping of Braintree's settlement data to the consolidated settlement report. This data is pulled from Braintree's GraphQL API. Only the journal types for settled, refunded, and disputed transactions are taken into consideration. The below table shows which fields are queried and imported into the report. Braintree's reconciliation is done via batch level summary reports. Detailed transaction level reports that allow for reconciliation are not available for import. Fee information is not yet widely available and is therefore not included in the consolidated settlement report. In consequence, it is not possible to use the settlement report for full end to end reconciliation between Braintree and a bank statement. It does allow for insights in which transactions have been settled by Braintree. | Settlement report | Braintree field? | Braintree GraphQL fields for transactions | Braintree GraphQL fields for refunds | Braintree GraphQL fields for disputes | | :---------------------------------------------- | :--------------- | :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `orderId` | `refundedTransaction[orderId]` | `transaction[orderId]` | | `transaction_id` | No | - | - | - | | `payment_service_transaction_id` | Yes | `id` | `refundedTransaction[id]` | `transaction[id]` | | `payment_service_id` | No | - | - | - | | `payment_service_definition_id` | No | - | - | - | | `payment_service_display_name` | No | - | - | - | | `journal_type` | Yes | Always `'settlement'` | Always `'refund'` | Check dispute journal type mapping table below | | `raw_journal_type` | Yes | Always `'Transaction'` | Always `'Refund'` | `Dispute \| {type} \| {statusHistory[status]}` | | `payment_service_transaction_created_at` | Yes | `createdAt` | `refundedTransaction[createdAt]` | `transaction[createdAt]` | | `posted_at` | Yes | `disbursementDetails[date]` | `disbursementDetails[date]` | `statusHistory[timestamp]` | | `processing_amount_plain` | Yes | `amount[value]` | `amount[value]` | Always `null` | | `processing_currency` | Yes | `amount[currencyCode]` | `amount[currencyCode]` | Always `null` | | `exchange_rate` | Yes | `disbursementDetails[exchangeRate]` | `disbursementDetails[exchangeRate]` | Always `null` | | `currency` | Yes | `disbursementDetails[amount][currencyCode]` | `disbursementDetails[amount][currencyCode]` | `amountWon[currencyCode]` for chargeback reversals, `amountDisputed[currencyCode]` otherwise | | `gross_credit_plain` | Yes | `statusHistory(SettledEvent)[amount][value] * disbursementDetails[exchangeRate]` | Always `0` | `amountDisputed[value]` for chargeback reversals, `0` otherwise | | `net_credit_plain` | Yes | `disbursementDetails[amount][value]` | Always `0` | `amountWon[value]` for chargeback reversals, `0` otherwise | | `gross_debit_plain` | Yes | Always `0` | `disbursementDetails[exchangeRate] * statusHistory(SettledEvent)[amount][value]` | `amountDisputed[value]` for chargebacks, `0` otherwise | | `net_debit_plain` | Yes | Always `0` | `disbursementDetails[amount][value]` | `amountDisputed[value]` for chargebacks, `0` otherwise | | `fee_markup_plain` | Yes | Always `null` | Always `null` | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | Always `null` | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | Always `null` | Always `null` | | `fee_total_plain` | Yes | `gross_credit_plain` - `net_credit_plain` | `net_debit_plain` - `gross_debit_plain` | `amountDisputed[value] - amountWon[value]` for chargeback reversals, `0` otherwise | | `method` | Yes | Standardized value of `raw_method` | Standardized value of `raw_method` | Standardized value of `raw_method` | | `raw_method` | Yes | `paymentMethodSnapshot(CreditCardDetails)[origin][type]` | `paymentMethodSnapshot(CreditCardDetails)[origin][type]` | `transaction[paymentMethodSnapshot(CreditCardDetails)][origin][type]` | | `scheme` | Yes | Standardized value of `raw_scheme` | Standardized value of `raw_scheme` | Standardized value of `raw_scheme` | | `raw_scheme` | Yes | `paymentMethodSnapshot(CreditCardDetails)[brandCode]` | `paymentMethodSnapshot(CreditCardDetails)[brandCode]` | `transaction[paymentMethodSnapshot(CreditCardDetails)][brandCode]` | | `batch` | Yes | `statusHistory(SettledEvent)[settlementBatchId]` | `statusHistory(SettledEvent)[settlementBatchId]` | Always `null` | | `report_id` | No | - | - | - | | `raw_report_ids` | No | - | - | - | | `ingested_at` | No | - | - | - | | `description` | Yes | Always `null` | Always `null` | `Reason: {processorResponse[reason]}` for chargebacks with a specified reason, `null` otherwise | | `transaction_external_identifier` | No | - | - | - | | `transaction_metadata` | No | - | - | - | | `report_payment_service_id` | No | - | - | - | | `report_payment_service_definition_id` | No | - | - | - | | `report_payment_service_display_name` | No | - | - | - | | `payment_service_modification_reference` | Yes | Always `null` | Always `null` | Always `null` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | Always `null` | Always `null` | | `refund_external_identifier` | No | - | - | - | ### Disputes journal type mapping | Braintree dispute type | Braintree dispute status | Journal type | | :--------------------- | :----------------------- | :-------------------- | | `CHARGEBACK` | `OPEN` | `chargeback` | | `CHARGEBACK` | `WON` | `chargeback_reversal` | | `PRE_ARBITRATION` | `OPEN` | `chargeback` | | `PRE_ARBITRATION` | `WON` | `chargeback_reversal` | | any other value | any other value | `other` | Fields marked as not being a **Braintree field** are populated from internal data and not from the imported payment service report. # Settlement report Chase Orbital mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/chaseorbital This integration is currently in beta and the exact mapping of fields might still change. First, contact the Chase Orbital representative to enable Delimited File Reports (DFR) with the following considerations: 1. The report must be delivered via SFTP. 2. **ACT0010 Deposit Detail Financial Report** needs to be enabled. After SFTP access has been set up, SFTP credentials are received from Chase Orbital. These credentials are used when enabling settlement reporting in the Chase Orbital connector configuration in the dashboard. To set up these credentials, please go to the "Connections" tab, select the Chase Orbital connector and navigate to the "Settlement" tab. Here settlement reporting can be enabled, after which prompts are provided to fill out the following: 1. The SFTP username. 2. The SFTP password. 3. The SFTP address, which should include a port number. If it is not provided, the port number defaults to `22`. Below is the mapping of Chase Orbital's report to the settlement report. This data is pulled from Chase Orbital's Delimited File Report (DFR). | Settlement report | Chase Orbital field? | Chase Orbital report | | :---------------------------------------------- | :------------------- | :-------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Merchant Order #` (only for `settlement`) | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | Always `null` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Record Type \| Action Code` | | `payment_service_transaction_created_at` | Yes | Always `null` | | `posted_at` | Yes | `Report Generation Date` + 12 hours | | `processing_amount_plain` | Yes | Always `null` | | `processing_currency` | Yes | Always `null` | | `exchange_rate` | Yes | Always `null` | | `currency` | Yes | Standardized value of `Presentment Currency` | | `gross_credit_plain` | Yes | `Amount` for `settlement`, `0` otherwise | | `net_credit_plain` | Yes | `Amount` for `settlement`, `0` otherwise | | `gross_debit_plain` | Yes | `(-1) * Amount` for `refund`, `0` otherwise | | `net_debit_plain` | Yes | `(-1) * Amount` for `refund`, `0` otherwise | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | Always `0` | | `method` | Yes | Standardized value of `MOP` | | `raw_method` | Yes | `MOP` | | `scheme` | Yes | Standardized value of `MOP` | | `raw_scheme` | Yes | `MOP` for card transactions, `null` otherwise | | `batch` | Yes | Always `null` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | Always `null` | | `payment_service_refund_reconciliation_id` | Yes | `Merchant Order #` (only for `refund`) | | `refund_external_identifier` | No | - | ### Notes The `posted_at` value provided is an approximation, as the original report does not report this value with a time part. ### Journal type mapping | Chase Orbital raw journal type | Journal type | | :----------------------------- | :----------- | | `RACT0010 \| DP` | `settlement` | | `RACT0010 \| RF` | `refund` | | any other value | `other` | Fields marked as not a **Chase Orbital field** are populated from internal data and not from the imported payment service report. # Settlement report Cybersource mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/cybersource This integration is currently in beta and the exact mapping of fields might still change. Below is the mapping of Cybersource's report to the settlement report. This data is pulled from the Cybersource's [Payment Batch Detail report](https://developer.cybersource.com/docs/cybs/en-us/reporting/user/all/ebc/reporting-ug/c_Reports_Available_in_the_Business_Center/c_Payment_Batch_Detail.html). Cybersource's reconciliation is done via Payment Batch Detail reports which lack fee information and chargeback reporting. It's therefore not possible to use the settlement report for full end to end reconciliation between Cybersource and a bank statement. It does allow for insights in which transactions have been sent for settlement or refunded. | Settlement report | Cybersource field? | Cybersource report | | :---------------------------------------------- | :----------------- | :-------------------------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Request.MerchantReferenceNumber` (only when `ics_bill` in `Application.Name`) | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `Request.LinkToRequest` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Application.Name` | | `payment_service_transaction_created_at` | Yes | Always `null` | | `posted_at` | Yes | `Batch.BatchDate` | | `processing_amount_plain` | Yes | `PaymentData.RequestedAmount` | | `processing_currency` | Yes | `PaymentData.RequestedAmountCurrencyCode` | | `exchange_rate` | Yes | Always `null` | | `currency` | Yes | `PaymentData.CurrencyCode` | | `gross_credit_plain` | Yes | `PaymentData.Amount` (only when `ics_bill` in `Application.Name`) | | `net_credit_plain` | Yes | `PaymentData.Amount` (only when `ics_bill` in `Application.Name`) | | `gross_debit_plain` | Yes | `(-1) * PaymentData.Amount` (only when `ics_credit` in `Application.Name`) | | `net_debit_plain` | Yes | `(-1) * PaymentData.Amount` (only when `ics_credit` in `Application.Name`) | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | Always `0` | | `method` | Yes | Standardized value of `raw_method` | | `raw_method` | Yes | `PaymentMethod.Type` or `PaymentMethod.WalletType` depending on what was used to calculate `method` | | `scheme` | Yes | Standardized value of `raw_scheme` | | `raw_scheme` | Yes | `PaymentMethod.CardType` | | `batch` | Yes | `Batch.BatchID` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `Request.RequestID` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | | `refund_external_identifier` | No | - | ### Notes * The `posted_at` value provided is only an approximation, as the `Payment Batch Detail` report does not report this value. * The `method` value is calculated from `PaymentMethod.WalletType` if it is not null. Otherwise, `PaymentMethod.Type` is used. ### Journal type mapping | Cybersource raw journal type | Journal type | | :--------------------------- | :----------- | | `ics_bill` | `settlement` | | `ics_credit` | `refund` | Fields marked as not a **Cybersource field** are populated from internal data and not from the imported payment service report. # Settlement report dLocal mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/dlocal This integration is currently in beta and the exact mapping of fields might still change. To enable settlement reporting for dLocal, please follow [this guide](https://docs.dlocal.com/docs/reporting-payins#accessing-reports-via-sftp) to enable SFTP access. Settlement reporting needs to be set up with dLocal with the following considerations: 1. The report must be a [Settlement - Cross-border Payins Model](https://docs.dlocal.com/docs/reporting-payins) report. 2. The report must be in CSV format to be delivered via SFTP. 3. Please contact support to get a list of IP addresses for dLocal to whitelist. 4. The report filename must follow the naming convention `_cross_border_report_YYYYMMDD_HHMMSS.csv`. After SFTP access has been set up, SFTP credentials are received from dLocal. These credentials are used when enabling settlement reporting in the dLocal connector configuration in the dashboard. To set up these credentials, please go to the "Connections" tab, select the dLocal connector and navigate to the "Settlement" tab. Here settlement reporting can be enabled, after which prompts are provided to fill out the following: 1. The SFTP username. 2. The SFTP SSH key. 3. The SFTP address, which should include a port number. If it is not provided, the port number defaults to `22`. 4. The filename prefix, which is the expected report filename without the `_YYYMMDD_HHMMSS.csv` part, for example `_cross_border_report`. Below is the mapping of dLocal's report to the consolidated settlement report. This data is pulled from dLocal's [Settlement - Cross-border Payins Model](https://docs.dlocal.com/docs/reporting-payins) report. | Settlement report | dLocal field? | dLocal report | | :---------------------------------------------- | :------------ | :-------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `TRANSACTION_ID` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `DLOCAL_TRANSACTION_ID` (only when starting with 'T-') | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `ROW_TYPE` | | `payment_service_transaction_created_at` | Yes | `CREATION_DATE` (only when `DLOCAL_TRANSACTION_ID` starts with 'T-') | | `posted_at` | Yes | `TRANSFER_DATE` | | `processing_amount_plain` | Yes | `LOCAL_AMOUNT` | | `processing_currency` | Yes | `LOCAL_CURRENCY` | | `exchange_rate` | Yes | `FX_RATE` | | `currency` | Yes | `SETTLEMENT_CURRENCY` | | `gross_credit_plain` | Yes | `GROSS_AMOUNT` (only for `chargeback_reversal` and `settlement`) | | `net_credit_plain` | Yes | `NET_AMOUNT` (only for `chargeback_reversal` and `settlement`) | | `gross_debit_plain` | Yes | `(-1) * GROSS_AMOUNT` (only for `chargeback` and `refund`) | | `net_debit_plain` | Yes | `(-1) * NET_AMOUNT` (only for `chargeback` and `refund`) | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | `FEE_AMOUNT` | | `method` | Yes | Standardized value of `raw_method` | | `raw_method` | Yes | `PAYMENT_TYPE` for card transactions, `PAYMENT_METHOD_CODE` otherwise | | `scheme` | Yes | Standardized value of `raw_scheme` | | `raw_scheme` | Yes | `PAYMENT_METHOD_CODE` for card transactions, `null` otherwise | | `batch` | Yes | `TRANSFER_ID` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | `DESCRIPTION` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `DLOCAL_TRANSACTION_ID` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | | `refund_external_identifier` | No | - | ### Notes * Timestamp columns do not contain any timezone info, so they are assumed to be in the `UTC` timezone. ### Journal type mapping | dLocal raw journal type | Journal type | | :---------------------- | :-------------------- | | `CAPTURE` | `settlement` | | `CHARGEBACK` | `chargeback` | | `CHARGEBACK_REVERSAL` | `chargeback_reversal` | | `PAYMENT` | `settlement` | | `REFUND` | `refund` | | any other value | `other` | Fields marked as not a **dLocal field** are populated from internal data and not from the imported payment service report. # Settlement report ingestion Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/ingestion To create a unified settlement report, settlement data needs to be imported from configured payment services. To do so, some additional credentials might be required. ## Setup Settlement report ingestion can be enabled for each connector via the dashboard. Head over to the dashboard, and go to **Connections**, select the connection, and if settlement report import is supported there is a **Settlement** tab. To enable settlement reporting, click the **Enable settlement ingestion** checkbox and fill in any additional details that might be needed, like an SFTP username and password, or an API key. Dashboard Once set up, save the details and settlement files start being imported. Please note that enabling the connection for importing settlement data does not automatically [schedule the creation](./scheduling) of any unified settlement reports. # Settlement report Nuvei mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/nuvei This integration is in beta Below is the mapping of Nuvei's settlement report to the system. This data is pulled from Nuvei's `movement report`. This report is imported on a daily basis and allows for full end to end reconciliation between a bank account and Nuvei's payables. The report contains transaction level settlement information including fees, chargebacks and refunds. Nuvei reports on all movements of funds, also settlements that have occurred externally from the Nuvei platform. Since settlement data is imported that pertains to movements of funds in the Nuvei platform, line items where the `settlement amount` : `0` are filtered out. All journal types from the movement report are imported which by Nuvei standards are notated by the `movement type` and `movement details`. In the report these two columns are concatenated in the `raw_journal_type` column. Transactions with `journal_type: settled` are taken from the Nuvei `raw_journal_type: sale-sale`. In the Nuvei movement report the fees are deducted from the processing amount in the processing currency. In the report however the fees are provided in the settlement currency. Therefore the fees in the report are modified as `fee * conversion rate`. Nuvei's movement report needs to be scheduled via their dashboard to be able to import. Please follow their **Back Office Operations - Reports** guidelines on how to set up a new schedule for the Movement Report. Make sure to set the delivery type to **SFTP**. To be able to import the report please set the following naming convention: `settlement-report-YYYY-MM-DD.csv`. | Settlement report | Nuvei field? | Nuvei report | | :---------------------------------------------- | :----------- | :---------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Client Unique ID` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `Transaction ID` (for `settlement` only) | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Movement Type \| Movement Details` | | `payment_service_transaction_created_at` | Yes | Always `null` | | `posted_at` | Yes | `Movement Date` | | `processing_amount_plain` | Yes | `End User Amount` | | `processing_currency` | Yes | `End User Currency` | | `exchange_rate` | Yes | `(Amount / End User Amount) * Conversion Rate` (only for `refund` and `settlement`) | | `currency` | Yes | `Settlement Currency` | | `gross_credit_plain` | Yes | `ABS(Amount) * Conversion Rate` if `Settlement Amount > 0` else `0` | | `net_credit_plain` | Yes | `ABS(Settlement Amount)` if `Settlement Amount > 0` else `0` | | `gross_debit_plain` | Yes | `ABS(Amount) * Conversion Rate` if `Settlement Amount < 0` else `0` | | `net_debit_plain` | Yes | `ABS(Settlement Amount)` if `Settlement Amount < 0` else `0` | | `fee_markup_plain` | Yes | `ABS(Plus Commission) * Conversion Rate` | | `fee_interchange_plain` | Yes | `ABS(Interchange Fee) * Conversion Rate` | | `fee_scheme_plain` | Yes | `ABS(Scheme Fee) * Conversion Rate` | | `fee_total_plain` | Yes | `ABS(Amount - Net Amount) * Conversion Rate` | | `method` | Yes | Standardized value of `raw_method` | | `raw_method` | Yes | `Payment Method` | | `scheme` | Yes | Standardized value of `raw_scheme` | | `raw_scheme` | Yes | `null` if `Card Type IS NULL` else `Payment Method` | | `batch` | Yes | `Batch ID` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `Movement ID` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | | `refund_external_identifier` | No | - | ### Notes * `payment_service_transaction_created_at` is set to `null` since, unfortunately, no creation date of the transaction is given, only the `posted_at` date is available. It's therefore not possible to see from the report on which date the original transaction took place on the Nuvei platform. * `ABS()` means absolute value transformation is applied to the original value ### Journal type mapping | Nuvei raw journal type | Journal type | | :------------------------------------ | :-------------------- | | `Cancelled CB \| Recalled Chargeback` | `chargeback_reversal` | | `Chargeback \| Chargeback Regular` | `chargeback` | | `Credits \| Credit` | `refund` | | `Sales \| Sale` | `settlement` | | any other value | `other` | Fields marked as not a **Nuvei field** are populated from internal data and not from the imported payment service report. # Settlement reports Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/overview The system has the ability to provide consolidated settlement reports for a wide variety of payment service providers. Settlement reports provide detailed records of all the financial transactions processed through each of the configured payment services. ## Ingestion A payment service needs to be configured to allow importing the daily settlement data for each merchant account. A daily import cycle runs for each connection that has settlement report import enabled. * Each day at 2am UTC all the reports that have been created by payment services between 00:00 and 23:59 UTC the day before are fetched. * After the import is completed the data is stored in the merchant instance and a consolidated, universal settlement report is generated, combining data from all the imported files. * At 1am UTC the following day this report is made available. * One hour later, at 2am, the reports from the payment services that were created the previous 24 hours are obtained to continue the import and creation cycle. Ingestion cycle Settlement reporting only has to be enabled for one PSP account. If there are multiple connectors connected to the same PSP account and settlement reporting is enabled for all of them, the same report is imported multiple times. ## Reconciliation Settlement reports include various pieces of data, including details on the captured funds, deducted fees, and net amounts transferred to an account. They are crucial for reconciling accounts, managing cash flow, and ensuring accurate financial records. Each imported record is automatically matched against transactions, providing settlement data directly in the dashboard. Where possible, the transaction is matched and any of the reported fees are added to the transaction records. ## Universal reports Finally, the consolidated settlement report is a transaction level report of the imported data from all configured payment services, conveniently combined into one report. The report is generated on a daily basis by importing settlement details from configured connections, and then generating a daily CSV with the reported settled transactions. ## Supported features summary Different PSP settlement reports offer varying levels of reporting granularity. As a result, not every integration supports the same level of detail. Full end to end reconciliation with the bank statement may also not be possible. Below is a table summarizing the supported features of each settlement reporting integration. | Payment service | Definition | Settlements | Fees | Fee breakdown | Refunds | Chargebacks | Other journal types | Full reconciliation possible? | Notes | | :----------------------------------------------------------------- | :----------------- | :---------- | :--- | :------------ | :------ | :---------- | :------------------ | :---------------------------- | :-------------------------------------------------------------------------- | | [Adyen](/guides/dashboard/reports/settlement/adyen) | `adyen-*` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | | [BlueSnap](/guides/dashboard/reports/settlement/bluesnap) | `bluesnap-card` | Yes | Yes | No | Yes | Yes | Yes | Yes | Settlement reporting is only supported on `bluesnap-card`. | | [Braintree](/guides/dashboard/reports/settlement/braintree) | `braintree-card` | Yes | Yes | No | Yes | Yes | No | No | Only card and card-like transactions. | | [Chase Orbital](/guides/dashboard/reports/settlement/chaseorbital) | `chaseorbital-*` | Yes | No | No | Yes | No | No | No | | | [Cybersource](/guides/dashboard/reports/settlement/cybersource) | `cybersource-card` | Yes | No | No | Yes | No | No | No | Only card transactions. Currently in early beta; fields mapping may change. | | [dLocal](/guides/dashboard/reports/settlement/dlocal) | `dlocal-*` | Yes | Yes | No | Yes | Yes | No | Yes | | | [Nuvei](/guides/dashboard/reports/settlement/nuvei) | `nuvei-card` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | | [PayPal](/guides/dashboard/reports/settlement/paypal) | `paypal-*` | Yes | Yes | No | Yes | Yes | Yes | Yes | Only PayPal transactions. | | [Stripe](/guides/dashboard/reports/settlement/stripe) | `stripe-card` | Yes | Yes | No | Yes | Yes | Yes | Yes | | | [Trustly (US)](/guides/dashboard/reports/settlement/trustly) | `trustly-trustly` | Yes | Yes | No | Yes | Yes | Yes | Yes | | # Settlement report PayPal mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/paypal This integration is in beta Ingesting settlement reports for PayPal makes use of the [PayPal settlement report](https://developer.paypal.com/docs/reports/sftp-reports/settlement-report/). This report is created every 24 hours. Journal types are specified by the [transaction event code (T-code)](https://developer.paypal.com/docs/reports/reference/tcodes/) in PayPal in combination with the movement of the funds, either being `DR` (debit) or `CR` (credit). For example, the T-code `T1201` with the movement `DR` is mapped to `chargeback`, while the same T-code with the movement `CR` is mapped to `chargeback_reversal`. To configure settlement reporting, a PayPal SFTP needs to be set up on the PayPal side. Please follow the [guidance](https://developer.paypal.com/docs/reports/sftp-reports/access-sftp-reports/) on how to enable the SFTP. After the SFTP is enabled, the credentials of the SFTP need to be filled out in the PayPal connector configuration in the dashboard. To set up these credentials, please go to the "Connections" tab, select the PayPal connector and navigate to the "Settlement" tab. Here settlement reporting can be enabled, after which prompts are provided to fill out the SFTP username and password. Below is the mapping of PayPal's settlement report to the consolidated settlement report. This data is pulled from the PayPal Settlement Report. | Settlement report | PayPal field? | PayPal report | | :---------------------------------------------- | :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Custom Field` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | Always `null` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Transaction Event Code \| Transaction Debit or Credit` | | `payment_service_transaction_created_at` | Yes | Always `null` | | `posted_at` | Yes | `Transaction Completion Date` | | `processing_amount_plain` | Yes | `Gross Transaction Amount` (only for `refund` and `settlement`) | | `processing_currency` | Yes | `Gross Transaction Currency` (only for `refund` and `settlement`) | | `exchange_rate` | Yes | Always `1`, unless settled in a different currency. In that case, it is calculated using `Gross Transaction Amount` presented in the two currencies | | `currency` | Yes | `Gross Transaction Currency` | | `gross_credit_plain` | Yes | `Gross Transaction Amount` \* `exchange_rate` (only when `Transaction Debit or Credit = 'CR'`) | | `net_credit_plain` | Yes | (`Gross Transaction Amount` - `Fee Amount`) \* `exchange_rate` (only when `Transaction Debit or Credit = 'CR'`) | | `gross_debit_plain` | Yes | `Gross Transaction Amount` \* `exchange_rate` (only when `Transaction Debit or Credit = 'DR'`) | | `net_debit_plain` | Yes | (`Gross Transaction Amount` + `Fee Amount`) \* `exchange_rate` (only when `Transaction Debit or Credit = 'DR'`) | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | `Fee Amount` \* `exchange_rate` | | `method` | Yes | Always `'paypal'` | | `raw_method` | Yes | Always `null` | | `scheme` | Yes | Always `null` | | `raw_scheme` | Yes | Always `null` | | `batch` | Yes | Always `null` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `Transaction ID` | | `payment_service_refund_reconciliation_id` | Yes | `Custom Field` | | `refund_external_identifier` | No | - | ### Notes * Transactions with different `currency` and `processing_currency` values are presented as multiple rows in the PayPal report. They are merged into a single row in the settlement report, with applied currency conversion derived from `T0200` records. Their respective `raw_journal_type` and `payment_service_modification_reference` values are concatenated to a single value in the merged row. * Non-customer facing journal types may have columns defaulting to `0` or empty strings. ### Journal type mapping | PayPal raw journal type | Journal type | | :---------------------- | :-------------------- | | `T0000 \| CR` | `settlement` | | `T0000 \| DR` | `refund` | | `T0001 \| CR` | `settlement` | | `T0001 \| DR` | `refund` | | `T0002 \| CR` | `settlement` | | `T0002 \| DR` | `refund` | | `T0003 \| CR` | `settlement` | | `T0003 \| DR` | `refund` | | `T0004 \| CR` | `settlement` | | `T0004 \| DR` | `refund` | | `T0005 \| CR` | `settlement` | | `T0005 \| DR` | `refund` | | `T0006 \| CR` | `settlement` | | `T0006 \| DR` | `refund` | | `T0007 \| CR` | `settlement` | | `T0007 \| DR` | `refund` | | `T0008 \| CR` | `settlement` | | `T0008 \| DR` | `refund` | | `T0009 \| CR` | `settlement` | | `T0009 \| DR` | `refund` | | `T0010 \| CR` | `settlement` | | `T0010 \| DR` | `refund` | | `T0011 \| CR` | `settlement` | | `T0011 \| DR` | `refund` | | `T0012 \| CR` | `settlement` | | `T0012 \| DR` | `refund` | | `T0013 \| CR` | `settlement` | | `T0013 \| DR` | `refund` | | `T0014 \| CR` | `settlement` | | `T0014 \| DR` | `refund` | | `T0015 \| CR` | `settlement` | | `T0015 \| DR` | `refund` | | `T0016 \| CR` | `settlement` | | `T0016 \| DR` | `refund` | | `T0017 \| CR` | `settlement` | | `T0017 \| DR` | `refund` | | `T0018 \| CR` | `settlement` | | `T0018 \| DR` | `refund` | | `T0019 \| CR` | `settlement` | | `T0019 \| DR` | `refund` | | `T0020 \| CR` | `settlement` | | `T0020 \| DR` | `refund` | | `T0021 \| CR` | `settlement` | | `T0021 \| DR` | `refund` | | `T0022 \| CR` | `settlement` | | `T0022 \| DR` | `refund` | | `T1107 \| CR` | `settlement` | | `T1107 \| DR` | `refund` | | `T1112 \| CR` | `settlement` | | `T1112 \| DR` | `refund` | | `T1113 \| CR` | `settlement` | | `T1113 \| DR` | `refund` | | `T1115 \| CR` | `settlement` | | `T1115 \| DR` | `refund` | | `T1117 \| CR` | `settlement` | | `T1117 \| DR` | `refund` | | `T1201 \| CR` | `chargeback_reversal` | | `T1201 \| DR` | `chargeback` | | `T1202 \| CR` | `chargeback_reversal` | | `T1202 \| DR` | `chargeback` | | `T1600 \| CR` | `settlement` | | `T1600 \| DR` | `refund` | | `T1602 \| CR` | `settlement` | | `T1603 \| DR` | `refund` | | `T1800 \| CR` | `settlement` | | `T1800 \| DR` | `refund` | | `T2201 \| CR` | `settlement` | | `T2201 \| DR` | `refund` | | any other value | `other` | Fields marked as not a **PayPal field** are populated from internal data and not from the imported payment service report. # Settlement reconciliation Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/reconciliation When a transaction is created with a payment service, the `reconciliation_id` is passed to the payment service if possible. This ID is used to link the transaction from the payment service's report back to the system. In the reports, this ID is reported, along with the `transaction_id` as well as the ID of the transaction in the payment service's system (the `payment_service_transaction_id`). The `reconciliation_id` is actually just a Base62-encoded version of the `transaction_id`. This ID is used because not all payment services can handle the full length of UUID transaction IDs. ## Reconciling to the system Storing the `reconciliation_id` or the `transaction_id` in systems against an order is recommended, so that reports can be reconciled against the system. This `reconciliation_id` allows matching the settlement of funds against the order and closing of any open position in the system. In the near future, support for marking the transaction as settled in the system is added, and additional data from requests, like an `external_identifier` reference in reports is offered. This allows seeing in the dashboard which transactions are settled, and reconciling reports based on a custom identifier. ## Identifying the original report It is possible to identify each line to the original report it was imported from using the `raw_report_id`. This ID identifies the report imported from the payment service in which this settlement line was reported. In the settlement tab of the connector's configuration page the list of imported reports for that payment service is visible. The last 30 days of imported reports are kept available for download. After that, only the report names are visible. Those reports are still available in the dashboard of the payment service the report was imported from. # Settlement report scheduling Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/scheduling Once [settlement report import](./ingestion) has been set up, the creation of settlement reports can be scheduled. To schedule the creation of a consolidated settlement report, a new scheduled report needs to be set up via the report dashboard. ## Setup A schedule can be set up which automatically creates daily consolidated settlement reports for the payment services which are enabled for settlement report import. It is currently only possible to create settlement reports via a report schedule. Custom and one-off reports are not yet available. Log in to the dashboard and go to the **Reports** tab, scroll to the **Financial** reports and then **Schedule** the **Settlement** report. Dashboard In the drawer an overview is given of the connections that are enabled for import of settlement data. If none of the connections are enabled, or do not support import of settlement data, then it is not possible to schedule a report via the dashboard. Once the schedule is enabled a consolidated settlement report becomes available for download daily after 2am UTC. ## Retrieval Once a report is created, the report is made available for download via the **Generated** reports tab on the dashboard. A webhook is also sent which includes the `report_execution_id`. This can be used to [fetch the report via the API](/reference/reports/generate-download-url). # Reconciling settlement records Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/settlement-records Reconciling settlement records against the system After a transaction has been captured (either through a direct sale or separate authorization and capture), a payment service likely proceeds with clearing the payments, after which they settle the funds to an account. A similar process occurs for transaction modifications, such as refunds or chargebacks. Once the funds have been settled by a payment service, the settlement reports are imported and reconciled. Those entries are matched against the corresponding system records (transactions, refunds). A system record is marked as settled by matching the imported settlement entries using the `reconciliation_id`, and any fees are attached to the matching record. See more about the ingestion and scheduling of the settlement reports in the [settlement reporting](guides/dashboard/reports/settlement) section. ## Settled status Once a record has been settled, the dashboard marks it as having a **Settled** status. At the API level, the `status` of a record does not change, and instead a few new fields are introduced to indicate a record is settled. An example of a settled transaction: ```json Response theme={"system"} { "type": "transaction", "id": "fe26475d-ec3e-4884-9553-f7356683f7f9", ... "settled_currency": "GBP", "settled_amount": 1000, "settled": true, ... } ``` ## Settlement record Additional information about the settlements can be queried using the following API endpoints: * [`GET/transactions/:transaction_id/settlements`](/reference/settlements/list-settlements) * [`GET/transactions/:transaction_id/settlements/:settlement_id`](/reference/settlements/get-settlement) * [`GET/transactions/:transaction_id/refund-settlements`](/reference/settlements/list-refund-settlements) * [`GET/transactions/:transaction_id/refund-settlements/:settlement_id`](/reference/settlements/get-refund-settlement) Each settlement record represents an imported record that matches the record in the system. The object contains settlement data pulled from the settlement report. Where available the object shows the cost, settlement currency, the raw report reference and settlement date. The amount stored in the settlement corresponds to the `net_credit` in the settlement report. This value could, in theory, be zero when a transaction was made for a low amount with a minimum fixed commission. An example of a transaction settlement: ```json Response theme={"system"} { "items": [ { "type": "settlement" "id": "f9261931-283f-4332-9e47-f6cfa6751cda", "merchant_account_id": "default", "created_at": "2025-09-20T03:04:55.000+00:00", "updated_at": "2025-09-20T03:04:55.000+00:00", "posted_at": "2013-07-16T19:23:00.000+00:00", "ingested_at": "2013-07-16T19:23:00.000+00:00", "currency": "EUR", "amount": 1299, "exchange_rate": 1.2, "commission": 25, "interchange": null, "markup": null, "scheme_fee": null, "payment_service_report_id": "01924d8d-a656-7aa6-a825-9ad2d9712640", "payment_service_report_file_ids": [ "01924d8e-1408-744d-81df-80540142790e" ], "transaction_id": "11048b49-993b-4b14-978f-a79c820e1063" } ] } ``` # Settlement report specification Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/specification Settlement reports are in comma-separated value format (CSV). The following is the specification of each of the fields in the report. | Field | Order | Type | Meaning | | :---------------------------------------------- | :---- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | 1 | String | For transactions that originated from the system, this is the reconciliation ID on the transaction. This is a Base62-encoded version of the transaction ID. This shorter version of the transaction ID is passed as not every service connected to supports the full length of the ID.

For transactions that originated outside of the system, this field is set to the value received from the payment service. In most cases, this is the merchant reference, but in some cases, this may be empty. | | `transaction_id` | 2 | UUID | The transaction ID that this line applies to. | | `payment_service_transaction_id` | 3 | String | The transaction ID as returned by the payment service. | | `payment_service_id` | 4 | UUID | The UUID of the connection through which the transaction associated with this record was sent. The connection can be [queried via the API](https://docs.gr4vy.com/reference/payment-services/get-payment-service). It is not set if the transaction cannot be found in the system. | | `payment_service_definition_id` | 5 | String | The definition ID of the connection through which the transaction associated with this record was sent. This defines the service provider followed by a dash followed by the payment method used (for example `stripe-card`). It is not set if the transaction cannot be found in the system. | | `payment_service_display_name` | 6 | String | The display name of the connection through which the transaction associated with this record was sent. The display name is set up by the merchant when configuring the connection. It is not set if the transaction cannot be found in the system. | | `journal_type` | 7 | String | The journal type of the entry. Where it is recognized, it is mapped to a standardized value, for example `settlement`. For any values not recognized, this field is `other`. | | `raw_journal_type` | 8 | String | The original value for the journal type as received from the payment service's report. | | `payment_service_transaction_created_at` | 9 | ISO8061 string | The timestamp at which the transaction was created in the payment service. | | `posted_at` | 10 | ISO8061 string | The timestamp at which the transaction was reported as settled in the imported report. | | `processing_amount_plain` | 11 | Decimal | The amount of the transaction expressed in the `processing_currency`. This is the customer facing amount. This is also the amount sent to the payment service. | | `processing_currency` | 12 | ISO4217 string | The currency of the transaction. This is the customer facing currency. This is also the currency sent to the payment service. | | `exchange_rate` | 13 | Decimal | The reported applied exchange rate of the processing currency to the settlement currency. | | `currency` | 14 | ISO4217 string | The currency in which the gross amount, fees, and net amounts are defined. | | `gross_credit_plain` | 15 | Decimal | The gross credit amount (expressed in `currency`) for the merchant. This pertains to settlement or any credit line type reported by the payment service. | | `net_credit_plain` | 16 | Decimal | The net credit amount (expressed in `currency`) for the merchant. This pertains to settlement or any credit line type reported by the payment service after deduction of fees. | | `gross_debit_plain` | 17 | Decimal | The gross debit amount (expressed in `currency`) for the merchant. This pertains to refunds or any debit line type reported by the payment service. | | `net_debit_plain` | 18 | Decimal | The net debit amount (expressed in `currency`) for the merchant. This pertains to refunds or any debit line type reported by the payment service. | | `fee_markup_plain` | 19 | Decimal | If provided in the reporting, this column shows the markup applied by the acquirer (expressed in `currency`). | | `fee_interchange_plain` | 20 | Decimal | If provided in the reporting, this column shows the transaction level interchange (expressed in `currency`). | | `fee_scheme_plain` | 21 | Decimal | If provided in the reporting, this column shows the transaction scheme fee (expressed in `currency`). | | `fee_total_plain` | 22 | Decimal | This column shows the cost of the transaction (expressed in `currency`). It specifies the total fee paid on the transaction. This is the difference between the net settled amount and the captured amount. For acquirers that charge a blend rate, this column is filled out. For alternative forms of payment, this column is filled out as well. Usually, for settlements, this is `gross_credit_plain - net_credit_plain`, but this depends on the payment service report. However, for refunds, this is usually equals to `net_debit_plain` - `gross_debit_plain`. | | `method` | 23 | String | Payment method used. An attempt is made to map this to standardized values where recognized. For any values not recognized, this field is `other`. | | `raw_method` | 24 | String | The original value for the payment method as received from the payment service's report. | | `scheme` | 25 | String | The scheme used in the transaction if the method is `card`. An attempt is made to map this to standardized values where recognized. For any values not recognized, this field is `other`. | | `raw_scheme` | 26 | String | The original value for the scheme as received from the payment service's report. | | `batch` | 27 | String | The batch number of the imported settlement data. | | `report_id` | 28 | UUID | The ID of the report from which this line of data came from. | | `raw_report_ids` | 29 | List\[String] | The list of raw IDs given to the raw payment service report imported where this transaction line was taken from. Can be used to determine the original payment service report the line was taken from. | | `ingested_at` | 30 | ISO8061 string | The timestamp at which this line was ingested. | | `description` | 31 | String | Raw string describing this entry coming from the payment service's report. | | `transaction_external_identifier` | 32 | String | The external identifier of the transaction. | | `transaction_metadata` | 33 | JSON | Additional information about the transaction. | | `report_payment_service_id` | 34 | UUID | The UUID of the connection through which the report was created. The connection can be [queried via the API](https://docs.gr4vy.com/reference/payment-services/get-payment-service). It can differ from the value in `payment_service_id` if the transaction associated with this record (if any) was sent through a different connection. | | `report_payment_service_definition_id` | 35 | String | The definition ID of the connection through which the report was created. This defines the service provider followed by a dash followed by the payment method used (for example `stripe-card`). It can differ from the value in `payment_service_definition_id` if the transaction associated with this record (if any) was sent through a different connection. | | `report_payment_service_display_name` | 36 | String | The display name of the connection through which the report was created. The display name is set up by the merchant when configuring the connection. It can differ from the value in `payment_service_display_name` if the transaction associated with this record (if any) was sent through a different connection. | | `payment_service_modification_reference` | 37 | String | A unique identifier, assigned by the payment service, that links a follow-up operation (such as a capture, refund, or cancellation) back to the original payment transaction. | | `payment_service_refund_reconciliation_id` | 38 | String | For refunds that originated from the system, this is the reconciliation ID on the refund. This is a Base62-encoded version of the refund ID.

For refunds that originated outside of the system, this field is set to the value received from the payment service. | | `refund_external_identifier` | 39 | String | An external identifier that can be used to match the refund against your own records. | **Additional fields** The right to add additional data as new columns after the ones documented here is reserved. Please ensure report parsers can handle any additional data being added at a later date. # Settlement report Stripe mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/stripe Below is the mapping of Stripe's settlement report to the consolidated settlement report. This data is pulled from the Stripe `payout_reconciliation.itemized.5` report. To make use of this report please make sure to have enabled automatic payouts on the Stripe side. | Settlement report | Stripe field? | Stripe report | | :---------------------------------------------- | :------------ | :----------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `payment_metadata[orchestrator_tx_sid]` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `payment_intent_id` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `reporting_category` | | `payment_service_transaction_created_at` | Yes | `charge_created_utc` | | `posted_at` | Yes | `available_on_utc` | | `processing_amount_plain` | Yes | `customer_facing_amount` | | `processing_currency` | Yes | `customer_facing_currency` | | `exchange_rate` | Yes | Always `null` | | `currency` | Yes | `currency` | | `gross_credit_plain` | Yes | `gross` (depends on `reporting_category` e.g `charge`) | | `net_credit_plain` | Yes | `net` (depends on `reporting_category` e.g `charge`) | | `gross_debit_plain` | Yes | `gross` (depends on `reporting_category` e.g `refund`) | | `net_debit_plain` | Yes | `net` (depends on `reporting_category` e.g `refund`) | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | `fee` | | `method` | Yes | Standardized value of `raw_method` | | `raw_method` | Yes | `payment_method_type` | | `scheme` | Yes | Standardized value of `raw_scheme` | | `raw_scheme` | Yes | `card_brand` | | `batch` | Yes | `automatic_payout_id` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `source_id` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | | `refund_external_identifier` | No | - | ### Journal type mapping | Stripe raw journal type | Journal type | | :---------------------- | :-------------------- | | `charge` | `settlement` | | `charge_failure` | `settlement_failure` | | `dispute` | `chargeback` | | `dispute_reversal` | `chargeback_reversal` | | `refund` | `refund` | | `refund_failure` | `refund_failure` | | any other value | `other` | Fields marked as not a **Stripe field** are populated from internal data and not from the imported payment service report. # Settlement report Trustly (US) mapping Source: https://docs.gr4vy.com/guides/dashboard/reports/settlement/trustly This integration is currently in beta and the exact mapping of fields might still change. To enable settlement reporting for Trustly (US), please contact your Trustly integration team to enable SFTP access. Settlement reporting needs to be set up with Trustly with the following considerations: 1. The report must be a [Funding (P11KFUN) Report](https://amer.developers.trustly.com/integrate/manage-your-integration/reports-and-reconciliation/funding-report). 2. The report must be in CSV format to be delivered via SFTP. 3. Please contact support to get a list of IP addresses for Trustly to whitelist. After SFTP access has been set up, SFTP credentials are received from Trustly. These credentials are used when enabling settlement reporting in the Trustly (US) connector configuration in the dashboard. To set up these credentials, please go to the "Connections" tab, select the Trustly (US) connector and navigate to the "Settlement" tab. Here settlement reporting can be enabled, after which prompts are provided to fill out the following: 1. The SFTP username. 2. The SFTP SSH key. 3. The SFTP address, which should include a port number. If it is not provided, the port number defaults to `22`. 4. Your Trustly merchant ID. Below is the mapping of Trustly's report to the consolidated settlement report. This data is pulled from Trustly's [Funding (P11KFUN) Report's funding records](https://amer.developers.trustly.com/integrate/manage-your-integration/reports-and-reconciliation/funding-report#funding-record). | Settlement report | Trustly field? | Trustly report | | :---------------------------------------------- | :------------- | :----------------------------------------------------------- | | `payment_service_transaction_reconciliation_id` | Yes | `Parent Merchant Reference` | | `transaction_id` | No | - | | `payment_service_transaction_id` | Yes | `Parent Transaction ID` | | `payment_service_id` | No | - | | `payment_service_definition_id` | No | - | | `payment_service_display_name` | No | - | | `journal_type` | Yes | Check journal type mapping table below | | `raw_journal_type` | Yes | `Transaction Type \| Transaction Status` | | `payment_service_transaction_created_at` | Yes | Always `null` | | `posted_at` | Yes | `Transaction Updated At` | | `processing_amount_plain` | Yes | Always `null` | | `processing_currency` | Yes | Always `null` | | `exchange_rate` | Yes | Always `1` | | `currency` | Yes | `Amount Currency` | | `gross_credit_plain` | Yes | `Amount` if `Amount > 0` else `0` | | `net_credit_plain` | Yes | `Amount + Transaction Fee` if `Amount > 0` else `0` | | `gross_debit_plain` | Yes | `(-1) * Amount` if `Amount < 0` else `0` | | `net_debit_plain` | Yes | `(-1) * (Amount + Transaction Fee)` if `Amount < 0` else `0` | | `fee_markup_plain` | Yes | Always `null` | | `fee_interchange_plain` | Yes | Always `null` | | `fee_scheme_plain` | Yes | Always `null` | | `fee_total_plain` | Yes | `(-1) * Transaction Fee` | | `method` | Yes | Always `trustly` | | `raw_method` | Yes | Always `null` | | `scheme` | Yes | Always `null` | | `raw_scheme` | Yes | Always `null` | | `batch` | Yes | `Batch ID` | | `report_id` | No | - | | `raw_report_ids` | No | - | | `ingested_at` | No | - | | `description` | Yes | Always `null` | | `transaction_external_identifier` | No | - | | `transaction_metadata` | No | - | | `report_payment_service_id` | No | - | | `report_payment_service_definition_id` | No | - | | `report_payment_service_display_name` | No | - | | `payment_service_modification_reference` | Yes | `Transaction ID` | | `payment_service_refund_reconciliation_id` | Yes | Always `null` | ### Journal type mapping | Trustly (US) raw journal type | Journal type | | :---------------------------- | :----------- | | `Capture \| Completed` | `settlement` | | `Pay \| Completed` | `settlement` | | `Refund \| Completed` | `refund` | | any other value | `other` | Fields marked as not a **Trustly field** are populated from internal data and not from the imported payment service report. # Report specification Source: https://docs.gr4vy.com/guides/dashboard/reports/spec The specification of a report as defined by the API. This is defined by a set of attributes as detailed below. | Attribute | Description | | --------- | ------------------------------------------------- | | `model` | Name of the report model to be used | | `params` | Parameters to be used for the chosen report model | The specification is defined in the `spec` attribute of the request body when a new report is created through the [API endpoint to create a report](/reference/reports/new-report). Below is an example of what a specification would look like: ```json theme={"system"} { "model": "transactions", "params": { "fields": [ "id", "created_at"], "filters": { "status": ["capture_succeeded"] }, "sort": [ { "field": "created_at", "order": "desc" } ] } } ``` # Additional user permissions Source: https://docs.gr4vy.com/guides/dashboard/roles-and-permissions/additional-permissions Securing user access with fine-grained controls The following additional permissions are only available when the user has been assigned the **Analyst** or **Customer Support** role, both of which allow the user to view transaction data. ## Download reports This permission provides a user with the ability to download reports that have been created. This does not give the user permission to generate new reports. These permissions are only available when the user has the **Analyst** or **Customer Support** roles which already grant the user permission to view transaction data. ## Create and schedule reports This permission provides a user with the ability to create and schedule new reports. This also grants the user permission to download those generated reports. This is only available when the user has the **Analyst** or **Customer Support** roles which already grant the user permission to view transaction data. ## Access buyer billing and shipping details This permission provides a user with the ability to read a buyer's billing and shipping details. Without these permissions, the buyer's data is redacted in the dashboard. # Roles & Permissions Source: https://docs.gr4vy.com/guides/dashboard/roles-and-permissions/overview Securing user access with fine-grained controls Roles and permissions allow managing user access on the dashboard by offering fine-grained control over who can access what part of the dashboard. The access privileges of a user can be customized based on specific user roles, controlling accessibility within the platform. Additionally, access can be further customized with additional user permissions available to some roles, granting, or restricting access to sensitive financial information accordingly. This level of granularity ensures that only authorized individuals or groups have the necessary permissions to view and manipulate critical data, mitigating the risk of unauthorized access or data breaches. ## Roles The following roles are available to dashboard users. | Role | Transactions | Connections | Flows | Buyers | Reports | Users | Integration | | :----------------: | :----------: | :---------: | :-------: | :-------: | ------- | :---: | :---------: | | [Administrator] | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Analyst] | View only | - | - | View only | - | - | - | | [Customer Support] | ✅ | - | - | - | - | - | - | | [System Manager] | - | ✅ | ✅ | - | - | - | - | | [System Support] | - | View only | View only | - | - | - | - | | [User Manager] | - | - | - | - | - | ✅ | - | [Administrator]: /guides/dashboard/roles-and-permissions/roles#administrator [Analyst]: /guides/dashboard/roles-and-permissions/roles#analyst [Customer Support]: /guides/dashboard/roles-and-permissions/roles#customer-support [System Manager]: /guides/dashboard/roles-and-permissions/roles#system-manager [System Support]: /guides/dashboard/roles-and-permissions/roles#system-support [User Manager]: /guides/dashboard/roles-and-permissions/roles#user-manager For more information, please see the guide on [user roles](./roles). ## Permissions The following additional permissions are available to dashboard users with the **Analyst** and **Customer Support** roles. * **[Download reports](/guides/dashboard/roles-and-permissions/additional-permissions#download-reports)** - provides a user with the ability to download reports that have been created * **[Create and schedule reports](/guides/dashboard/roles-and-permissions/additional-permissions#create-and-schedule-reports)** - provides a user with the ability to create and schedule new reports * **[Access buyer billing and shipping details](/guides/dashboard/roles-and-permissions/additional-permissions#access-buyer-billing-and-shipping-details)** - provides a user with the ability to read a buyer's billing and shipping details For more information, please see the guide on [additional permissions](./additional-permissions). ## Merchant account In an environment with multiple merchant accounts, roles play an additional part in how access is treated to each account. Administrators effectively operate at an environment level, providing them with access to all merchant accounts, while users with non-administrator roles are always restricted to the merchant accounts they've been assigned access. | Role | Access | Invite | | ----------------- | -------------------------------------------- | ----------------------------------------------------- | | **Administrator** | Can access all merchant accounts | Can invite a user to any merchant account | | **User Manager** | Can only access associated merchant accounts | Can only invite to their associated merchant accounts | For more information, please see the guide on [merchant accounts](/guides/features/merchant-accounts). # User roles Source: https://docs.gr4vy.com/guides/dashboard/roles-and-permissions/roles Securing user access with fine-grained controls The following roles can be assigned to users each providing their specific level of access to a user. ## Administrator An administrator has read and write access to all parts of the system, including (but not limited to) the ability to see all transaction details and perform refunds, configure connections and Flow rules, manage API keys, and control the access of administrator and non-administrator users. An administrator does not need any other roles assigned, as it has access to the combined permissions of all other roles. In a multi-merchant environment, an administrator has access to all [merchant accounts](/guides/features/merchant-accounts). ## Analyst An analyst can view transactions, including the payment method and buyer details. This role is great for a user that is looking to perform analysis over transactions but is not expected to perform any actions on transactions, like performing a refund. By default, this role has no access to billing details, shipping details, and reports. Additional permissions can be configured for this user. [Additional permissions](./additional-permissions) can be configured for this role to grant access to reports and billing details. ## Customer Support A customer support user can view and manage transactions, including the ability to perform refunds, voids, and captures. This role is great for a customer support agent who needs insight across all transactions and is expected to perform a refund, void transactions or capture an authorization. By default, this role has no access to billing details, shipping details, and reports. Additional permissions can be configured for this user. [Additional permissions](./additional-permissions) can be configured for this role to grant access to reports and billing details. ## System Manager A system manager can view and manage connections and Flow rules. This role is suited for a payment manager who needs the ability to manage connections to payment services, anti-fraud services or configure Flow rules. ## System Support A system support user has view-only access to connections and Flow rules. This role is great for a support agent who needs to inspect the configuration of Connections and Flow rules to understand how a transaction was processed. ## User Manager A user manager can manage users, including the ability to invite new users, reset passwords, assign roles, and remove users. Please note that a user manager needs to be assigned additional roles to allow them to assign those roles to other users. For example, if the user is generated with only the **User Manager** and **Analyst** roles, then the user manager is only able to assign other users the analyst and user manager roles. They are not able to assign them any other roles. # Single Sign-On with Azure AD Source: https://docs.gr4vy.com/guides/dashboard/sso/azure Configure Azure AD (Microsoft Entra ID) as a SAML identity provider for the Gr4vy dashboard. The following is a generic guide for setting up SSO through Azure AD (Microsoft Entra ID) as a SAML app. The exact setup may differ depending on your version of Azure AD and your desired setup. ## SAML app setup Various configurations for Azure AD are supported. The following is an example of an Azure setup. 1. Open [portal.azure.com](https://portal.azure.com). 2. Go to **Microsoft Entra ID → Add → Enterprise Application**. 3. Select the option to create your own app and choose the **non-gallery** type. 4. Enter a name for the app. A descriptive name is recommended so it can be easily identified later, for example `Gr4vy Dashboard Sandbox/Production`. 5. Click **Create**. Sandbox and production are configured separately. Create a separate enterprise app for each environment, each with its own values as shown below. Select **Single sign-on** in the left menu, then choose **SAML** as the method. Edit the **Basic SAML Configuration** for the environment you are setting up: * **Identifier (Entity ID):** `urn:auth0:gr4vy:{instance_id}-sandbox-saml` * **Reply URL:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-sandbox-saml&organization={instance_id}` * **Identifier (Entity ID):** `urn:auth0:gr4vy:{instance_id}-production-saml` * **Reply URL:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-production-saml&organization={instance_id}` Click **Save**. 1. Download the **Base64 Certificate** from the **SAML Signing Certificate** section. 2. Copy the **Login URL**. 3. Provide both to the support team so they can enable the connection. ## Users access Once the app is set up, make sure the right users have access to it. Assign users or groups to the enterprise app under **Users and groups**. Whichever approach you use, apply the roles and environments below to the intended users. ## Roles and environments By default, users are restricted to the `analyst` role in the `sandbox` environment. To assign roles and environments, the `gr4vy_roles` and `gr4vy_environments` attributes must be included in the SAML assertion. In Azure AD these are most commonly driven by group membership. ### Mapping Azure AD groups to Gr4vy roles 1. Create an Azure AD group for each Gr4vy role you need (up to nine). Only create the roles you actually use. If you want different roles across sandbox and production, create separate groups for each environment. 2. In the enterprise app, go to **Single sign-on → Attributes & Claims** and add a **group claim**. 3. Enable **Customize the name of the group claim** and set the name to `gr4vy_roles`. 4. Use the group claim's regular expression transformation to convert each Azure group name into the matching Gr4vy role name. For example: `Azure-ABS12123123-Tst_P_Administrator-AAD-Apps` → `Administrator`. 5. Role names are matched case-insensitively, as long as the transformed value matches a Gr4vy role name. This approach relies on group names containing the Gr4vy role in a consistent, predictable format. Environments can be delivered in the same way, using a `gr4vy_environments` claim. ### Roles The `gr4vy_roles` property controls the roles a user has. This needs to be an array with one or more of the following values. If not set, it defaults to `analyst`. * `analyst` * `administrator` * `customer-support` * `pii-viewer` * `system-manager` * `system-support` * `user-manager` * `report-manager` * `report-viewer` ### Environments The `gr4vy_environments` property controls which environments a user can access. This needs to be an array with one or more of the following values. If not set, it defaults to `sandbox`. * `production` * `sandbox` # Common SSO issues Source: https://docs.gr4vy.com/guides/dashboard/sso/common-issues There could be many reasons why an SSO login failed. In general it's one of the following issues. * The app set up for SSO is not a SAML app, this likely results in a failure to log into the identity provider. * The log in URL or certificate provided are not correct, which causes a validation error on log in. * An incorrect URN was set up, which causes a validation error on log in. * One of the expected `name`, `email` and `gr4vy_roles` user claims was not provided. This stops the mapping of an SSO user to a dashboard user. # Single Sign-On with Okta Source: https://docs.gr4vy.com/guides/dashboard/sso/okta Configure Okta as a SAML identity provider for the Gr4vy dashboard. The following is a generic guide for setting up SSO through Okta as a SAML app. The exact setup may differ depending on the version of Okta and your desired setup. ## SAML app setup Single sign-on with Okta supports various configurations. The following is an example of an Okta setup. 1. Log in to the Okta dashboard. 2. Go to **Applications → Applications** in the left-hand sidebar. 3. Click **Create App Integration**. 4. Select **SAML 2.0** and click **Next**. 5. Fill in the **General Settings** with any values (for example, an app name of `Gr4vy Dashboard`). Sandbox and production are configured separately. Create a separate Okta app for each environment, each with its own values as shown below. On the **Configure SAML** step, fill in the following for the environment you are setting up. The `instance_id` is the name of your Gr4vy instance. * **Single sign-on URL:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-sandbox-saml&organization={instance_id}` * **Audience URI (SP Entity ID):** `urn:auth0:gr4vy:{instance_id}-sandbox-saml` * **Single sign-on URL:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-production-saml&organization={instance_id}` * **Audience URI (SP Entity ID):** `urn:auth0:gr4vy:{instance_id}-production-saml` Add the following **Attribute Statements** with an **Unspecified** name format: | Name | Value | | -------------------- | ------------------------- | | `name` | `user.displayName` | | `email` | `user.email` | | `gr4vy_roles` | `user.gr4vy_roles` | | `gr4vy_environments` | `user.gr4vy_environments` | 1. Complete the app setup. 2. On the app's **Sign On** tab, copy the **Identity Provider Single Sign-On URL** and download the **X.509 Certificate** (available via **View SAML setup instructions**). 3. Provide the Sign-On URL and certificate to the support team so they can enable the connection. The exact value of the profile attribute mapping may depend on your setup. ## Users access Once an app is set up, make sure the right users have access to it. This can be configured on the user profile, through a group, or through app assignment. Whichever approach you use, apply the profile properties below to the intended users. ## Roles and environments By default, users are restricted to the `analyst` role in the `sandbox` environment. To assign roles and environments, set the `gr4vy_roles` and `gr4vy_environments` profile properties on the relevant users — these are sent in the assertion via the Attribute Statements configured in the preceding step. ### Roles The `gr4vy_roles` property controls the roles a user has. This needs to be an array with one or more of the following values. If not set, it defaults to `analyst`. * `analyst` * `administrator` * `customer-support` * `pii-viewer` * `system-manager` * `system-support` * `user-manager` * `report-manager` * `report-viewer` ### Environments The `gr4vy_environments` property controls which environments a user can access. This needs to be an array with one or more of the following values. If not set, it defaults to `sandbox`. * `production` * `sandbox` # Single Sign-On with OneLogin Source: https://docs.gr4vy.com/guides/dashboard/sso/onelogin Configure OneLogin as a SAML identity provider for the Gr4vy dashboard. The following is a generic guide for setting up SSO through OneLogin as a SAML app. The exact setup may differ depending on the version of OneLogin and your desired setup. ## SAML app setup The following is an example of a OneLogin setup using the SAML Test Connector. 1. Log in to the OneLogin administrator dashboard. 2. Go to **Apps** → **Add Apps**. 3. Search for **SAML** and select **SAML Test Connector (IdP w/attr)**. 4. Set the **Display Name** to anything recognizable, for example `Gr4vy Dashboard`. 5. Click **Save**. Sandbox and production are configured separately. Create a separate OneLogin app for each environment, each with its own values as shown below. On the **Configuration** tab, fill in the following for the environment you are setting up. The `instance_id` is the name of your Gr4vy instance. * **Audience:** `urn:auth0:gr4vy:{instance_id}-sandbox-saml` * **Recipient:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-sandbox-saml&organization={instance_id}` * **ACS (Consumer) URL:** same as **Recipient** * **ACS (Consumer) URL Validator:** `[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)` * **Audience:** `urn:auth0:gr4vy:{instance_id}-production-saml` * **Recipient:** `https://auth.gr4vy.com/login/callback?connection={instance_id}-production-saml&organization={instance_id}` * **ACS (Consumer) URL:** same as **Recipient** * **ACS (Consumer) URL Validator:** `[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)` On the **Parameters** tab, add a parameter for each attribute below. The steps are the same for every parameter: 1. Click the **+** to add a parameter. 2. Enter the **Field name**, check **Include in SAML assertion**, and click **Save**. 3. Open the parameter and set its **Value** to the corresponding OneLogin value, then save. | Field name | Value | | -------------------- | ------------------------------------------------------------------------------------------------- | | `name` | Set the value type to **Macro** and enter `{firstname} {lastname}` | | `email` | The **Email** field | | `gr4vy_roles` | The value holding the user's roles (see [Roles and environments](#roles-and-environments)) | | `gr4vy_environments` | The value holding the user's environments (see [Roles and environments](#roles-and-environments)) | `name` and `email` map to standard OneLogin fields. `gr4vy_roles` and `gr4vy_environments` carry the user's role and environment assignments — see [Roles and environments](#roles-and-environments) for how these are sourced and the accepted values. On the **SSO** tab, copy the following and send them to the support team so they can enable the connection: * **SAML 2.0 Endpoint (HTTP)** — the sign-in URL. * **X.509 Certificate** — click **View Details** and download the certificate. Once support confirms the connection is enabled, users can sign in. At this stage, every user is assigned the default role and environment until you complete the steps below. ## Users access Make sure the right users have access to the app in OneLogin. Access can be granted by assigning the app directly to individual users, or automatically through OneLogin roles or mappings. Only users with the app assigned can sign in to the dashboard. ## Roles and environments By default, users are restricted to the `analyst` role in the `sandbox` environment. To assign roles and environments, send the `gr4vy_roles` and `gr4vy_environments` attributes in the SAML assertion, populated per user from custom user fields (or from OneLogin roles or group membership). If a user needs more than one role or environment, enable the **Multi-value parameter** flag on the parameter so each value is sent as a separate SAML attribute value. If roles or environments are not applied as expected, reach out to the support team. ### Roles The `gr4vy_roles` property controls the roles a user has. It must contain one or more of the following values. If not set, it defaults to `analyst`. * `analyst` * `administrator` * `customer-support` * `pii-viewer` * `system-manager` * `system-support` * `user-manager` * `report-manager` * `report-viewer` ### Environments The `gr4vy_environments` property controls which environments a user can access. It must contain one or more of the following values. If not set, it defaults to `sandbox`. * `production` * `sandbox` # Single Sign-On Source: https://docs.gr4vy.com/guides/dashboard/sso/overview The dashboard supports login via Single Sign On (SSO) through various SAML and OpenID Connect (OIDC) identity providers. There are a few key benefits to SSO over email and password logins. * It gives centralized control for user access * It improves security as there are fewer passwords to manage * It can support company security policies including MFA * It streamlines the user experience ## SSO apps Two SSO apps are created for each instance; one for sandbox and one for production. A decision needs to be made on how to provision access to each from the IdP. Typically, creating an app for each environment within the IdP where users or groups can then be assigned for access is recommended. If there are a limited number of users who need access, sharing the same IdP app for both environments may be decided. ### User roles As part of SSO, customizing a user's access by defining the list of roles each user is assigned is allowed. Configuring the access level for a user by defining custom user attributes on their profile within the identity provider (IdP) is allowed. These attributes are added as custom claims by the SSO provider when the user is authenticated. For SAML apps, this might require mapping the attribute to the claim when setting up the dashboard as an app. For OIDC apps, a set of custom claims with the right name might need to be added or created. For roles, a claim named `gr4vy_roles` with one or more of the following values is supported. * `administrator` * `analyst` * `customer-support` * `system-manager` * `system-support` * `user-manager` When the `administrator` is set, all other roles are ignored, as they are all implied by this role. If no roles are provided, then users are given the `analyst` role by default. The following roles should only be assigned if the user has either the `analyst` or `customer-support` assigned as well. * `pii-viewer` * `report-manager` * `report-viewer` For more information on roles, please see the [guide](../../dashboard/roles-and-permissions/roles). ## Integrations For SAML or OIDC integrations, the following attributes/claims from the identity provider are expected. | Name | Required | Description | | ------------- | -------- | --------------------------------------------------------------- | | `name` | true | Used as the profile name | | `email` | true | Used as a unique identifier | | `gr4vy_roles` | false | Used to set permissions. If not set, this defaults to `analyst` | ## SSO administrator restrictions Regular administrators can normally edit all users and invite new users. To stop an SSO administrator from circumventing the identity provider, the following restrictions have been applied. * SSO administrators can not invite new users; instead, new users need to be provisioned through the SSO identity provider. * SSO administrators can not edit user roles or merchant accounts; instead, users need to be provisioned roles (and soon merchant accounts) through the SSO identity provider. * SSO administrators can delete users, as this is currently the only way to clean up users who no longer have access. * SSO administrators can edit all details of regular users. Additionally, SSO users can not edit their own name or password. ## User upgrade to SSO The automatic promotion of an email user to an SSO user is supported. Once SSO has been set up, any user who logs in with an email address that matches an existing user is upgraded to an SSO user. After this first log in, they are no longer able to log in with an email address and password. # 3-D Secure in Embed Source: https://docs.gr4vy.com/guides/features/3ds/embed Any merchant using Embed automatically benefits from **Universal 3-D Secure** once it has been [set up](/guides/features/3ds/setup) for a payment service. 3-D Secure prompt Additionally, **Dynamic 3-D Secure** can be set up using Flow rules, allowing dynamic skipping or forcing of 3-D Secure based on anti-fraud decisions, cart items, or any other transaction data. ## Buyers and billing details To optimize 3-D Secure it is highly recommended to provide a buyer with billing details attached to Embed. A buyer can be set up via the [`POST /buyers`](/reference/buyers/new-buyer) API. The buyer can then be attached to Embed by using the `buyerId` or `buyerExternalIdentifier` property. The buyer's name, email address, and billing address are used to help reduce buyers being asked to complete a 3-D Secure challenge. ```js React theme={"system"} ``` ```js Node theme={"system"} gr4vy.setup({ gr4vyId: "example", amount: 1299, currency: "AUD", country: "AU", buyerExternalIdentifier: "user-1234", ... }); ``` The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. We will use these billing details when contacting payment services, 3-D Secure Server, anti-fraud services, and more. ## Features For every transaction, we will handle the following steps. 1. Detect if any Flow rule explicitly requires or skips 3-D Secure 2. Detect if the selected payment service for this transaction has 3-D Secure enabled 3. Detect if the card used in the transaction is enrolled for 3-D Secure 4. Handle the seamless frictionless 3-D Secure flow including the device finger printing 5. Handle the 3-D Secure challenge flow, where a buyer is directed in-page to their bank to approve the transaction ## Usage To use 3-D Secure in Embed, [set up](/guides/features/3ds/setup) 3-D Secure on any of the enabled payment services. Once configured, Embed will handle all the user interactions. # Pass-through External 3-D Secure data Source: https://docs.gr4vy.com/guides/features/3ds/external 3-D Secure can be handled by a third party server, allowing you to pass through 3DS authentication data from that service to a preferred payment service. To use 3-D Secure with a separate server, it is assumed that 3-D Secure has been handled separately and the relevant data received at the end of the flow has been collected. The transaction API supports directly passing 3-D Secure data [as part of the transaction request](/reference/transactions/new-transaction#body-three-d-secure-data). This data is passed along to the payment service assuming it supports this data via their API. ```json POST /transactions theme={"system"} { "amount": 1299, "currency": "AUD", "payment_method": { "method": "card", "number": "4111111111111111", "expiration_date": "11/25", "security_code": "123", "redirect_url": "https://example.com/callback" }, "three_d_secure_data": { "cavv": "3q2+78r+ur7erb7vyv66vv8=", "eci": "05", "version": "2.1.0", "directory_response": "C", "caav_algorithm": "1", "xid": "ODgxNDc2MDg2MDExODk5MAAAAAA=", "authentication_response": "Y" } } ``` The `authentication_response` field follows the EMV 3DS transaction status values. See [Authentication results](/guides/features/3ds/statuses) for the full reference. **Payment service compatibility** Not all payment services support external 3-D Secure data, and therefore even when this data is provided a `redirect_url` is still expected as well. If none of the selected payment services support the pass-through of 3-D Secure data the API might [return a pending transaction](./hosted) with an `approval_url` in the response. # Hosted 3-D Secure Source: https://docs.gr4vy.com/guides/features/3ds/hosted **Hosted 3-D Secure** is available when using the API or [Secure Fields](/guides/payments/secure-fields/), as long as any payment service has been [set up](./setup) for 3-D Secure. This integration equally supports **Dynamic 3-D Secure** which can be set up using Flow rules, allowing dynamic skipping or forcing of 3-D Secure based on anti-fraud decisions, cart items, or any other transaction data. ## Usage To use 3-D Secure via the API, [set up](./setup) 3-D Secure on any of the enabled payment services and pass a `redirect_url` when creating the transaction. ```json POST /transactions theme={"system"} { "amount": 1299, "currency": "AUD", "buyer_external_identifier": "user-1234", "payment_method": { "method": "card", "number": "4111111111111111", "expiration_date": "11/25", "security_code": "123", "redirect_url": "https://example.com/callback", } } ``` With 3-D Secure configured for a payment service, automatic detection occurs if it is required to get the buyer's approval for a transaction. If it is required, the API returns a transaction with the status `buyer_approval_pending` and an `approval_url` that the buyer can be sent to. ```json theme={"system"} { "type": "transaction", "id": "869df4fc-a3db-43db-806a-14464d9e6920", "status": "buyer_approval_pending", "payment_method": { "approval_url": "https://embed.example.gr4vy.app/...", ... }, ... } ``` Redirect the buyer to the `approval_url` and all the intricacies of 3-D Secure are handled. Once the buyer has approved (or rejected) the transaction, the browser is redirected back to the `redirect_url` that was set when the transaction was created. The `redirect_url` will be appended with both a transaction ID and status. ``` https://example.com/callback?gr4vy_transaction_id=123&gr4vy_transaction_status=capture_succeeded ``` Confirming the actual transaction status by fetching the updated transaction by its `id` is strongly recommended. ## Buyers and billing details To optimize 3-D Secure it is highly recommended to provide a buyer with billing details attached when making an API call. A buyer can be set up via the API or provided as an [in-line guest buyer](/reference/transactions/new-transaction#body-buyer). ## Features For every transaction, the following steps are handled. 1. Detect if any Flow rule explicitly requires or skips 3-D Secure. For cards whose issuer mandates authentication, Gr4vy attempts 3-D Secure even when a rule skips it. See [Issuer-mandated 3-D Secure](/guides/features/3ds/overview#issuer-mandated-3-d-secure). 2. Detect if the selected payment service for this transaction has 3-D Secure enabled 3. Detect if the card used in the transaction is enrolled for 3-D Secure 4. Handle the seamless frictionless 3-D Secure flow including the device finger printing once the user is redirected to the `approval_url`. 5. Handle the 3-D Secure challenge flow, where a buyer is directed to their bank to approve the transaction. # Native 3-D Secure Source: https://docs.gr4vy.com/guides/features/3ds/native **Native 3-D Secure** gives you full control over the authentication experience by building the 3-D Secure challenge UI directly into your app. This approach is ideal for merchants who want a seamless, native experience without redirects or hosted pages. The implementation automatically handles all device fingerprinting requirements, including collecting device IP address, user agent, and other authentication metadata. This ensures full compliance with 3-D Secure specifications without requiring manual fingerprint collection. Native 3-D Secure is available across multiple platforms: * **Web**: Using [Secure Fields](/guides/payments/secure-fields/) for React or vanilla JavaScript integrations * **iOS**: Using the native SDK with Swift * **Android**: Using the native SDK with Kotlin Additionally, **Dynamic 3-D Secure** can be configured via Flow rules, allowing you to dynamically skip or force 3-D Secure based on anti-fraud decisions, cart items, or other transaction data. ## Prerequisites Native 3-D Secure requires [merchant account-level 3-D Secure configuration](/guides/features/3ds/setup#merchant-account-level-configuration-beta) to be set up before you begin. This is different from per-connection setup and must be enabled for your account. ## Integration guides Choose your platform to get started: Implement Native 3DS in web applications using React or vanilla JavaScript. Add Native 3DS to your iOS app with Swift. Add Native 3DS to your Android app with Kotlin. # 3-D Secure Source: https://docs.gr4vy.com/guides/features/3ds/overview The system provides flexible 3-D Secure integration options that let you choose the approach best suited for your use case. Each method handles Strong Customer Authentication (SCA) with varying levels of control and customization. Most integrations automatically handle the device fingerprinting, card enrollment checks, authentication, challenge, and other 3DS nuances. Additionally, the system supports **Dynamic 3-D Secure**, allowing you to dynamically skip or force 3-D Secure based on anti-fraud decisions, cart items, or any other transaction-level data. The flexible solution offers the following 3-D Secure integration methods. * [Embed](/guides/features/3ds/embed) automatically detects 3-D Secure for a transaction and handles all the user interactions to complete the transaction. * [Hosted 3DS](/guides/features/3ds/hosted) offers 3-D Secure via the API, allowing capture of card data that then relies on the hosted 3-D Secure to handle the user interaction. This can also be used in combination with [Secure Fields](/guides/payments/secure-fields/). * [Native 3DS](/guides/features/3ds/native) provides a fully customizable 3-D Secure experience built directly into your app. Available for web ([Secure Fields](/guides/payments/secure-fields/)), iOS (Swift), and Android (Kotlin). **Requires merchant account-level 3DS configuration.** * [External](/guides/features/3ds/external) 3-D Secure data can be passed in to create a card checkout experience including a custom 3-D Secure integration. Whichever method you use, the authentication result follows the same set of values. See [Authentication results](/guides/features/3ds/statuses) for the full reference. ## Issuer-mandated 3-D Secure This feature is available in most environments, but not all. Contact the support team to confirm availability for your account. Some card issuers require Strong Customer Authentication (SCA) on every transaction, regardless of your own 3-D Secure preferences. This is common for issuers in the European Economic Area (EEA) and the United Kingdom under the Second Payment Services Directive (PSD2). Some issuers in other regions apply equivalent mandates. To reduce authorization declines on these cards, Gr4vy identifies issuers with a known authentication mandate using bank identification number (BIN) data. When the issuer requires authentication, Gr4vy runs 3-D Secure even if a [Flow rule](/guides/dashboard/flow/card-transactions#action-3-d-secure) would otherwise skip it. The behavior depends on the transaction's resolved 3-D Secure outcome. * **No rule matches, or no 3-D Secure rule is configured.** Gr4vy attempts 3-D Secure. This is unchanged from the standard behavior. * **A rule skips 3-D Secure.** For an issuer with a known mandate, Gr4vy overrides the rule and attempts 3-D Secure instead. Cards without a known mandate continue to skip. * **A rule forces 3-D Secure.** Gr4vy forces 3-D Secure for all cards. This is unchanged. When the issuer's authentication requirement can't be determined — for example, the BIN isn't present in the dataset — Gr4vy treats the card as having no mandate and follows your configured behavior. Issuer mandates never override a connection with 3-D Secure turned off: in that case Gr4vy doesn't run 3-D Secure, even for a mandated issuer. An overridden skip rule is still recorded as having matched, so [Authentication Insights](/guides/dashboard/insights/authentications) continue to reflect the rule that applied. # 3DS Scenarios Source: https://docs.gr4vy.com/guides/features/3ds/scenarios The 3DS Scenarios API allows a merchant to manage custom 3D Secure authentication scenarios for the hosted 3DS flow. Scenarios define specific authentication behaviors and response patterns for testing purposes. ## Overview 3DS Scenarios are configuration templates that define how 3D Secure authentication should behave for transactions. Use scenarios to: * Test specific authentication flows and outcomes * Configure consistent challenge behaviors across payment tests * Simulate different 3DS authentication scenarios 3DS Scenarios are only available for the hosted 3DS flow. For other integration methods, refer to the [3DS testing guide](/guides/features/3ds/testing) to use test cards from the underlying 3DS providers. ## Registering a scenario Register a new 3DS scenario by making a request to the [create scenario endpoint](/reference/three-ds-scenarios/new-three-ds-scenario): ```csharp C# theme={"system"} var res = await sdk.ThreeDsScenarios.CreateAsync(threeDSecureScenarioCreate: new ThreeDSecureScenarioCreate() { Conditions = new ThreeDSecureScenarioConditions() { CardNumber = "4242424242424242", }, Outcome = new ThreeDSecureScenarioOutcome() { Version = "2.2.0", Authentication = new ThreeDSecureScenarioOutcomeAuthentication() { TransactionStatus = "Y", }, }, }); ``` ```go Go theme={"system"} conditions := components.ThreeDSecureScenarioConditions{ CardNumber: gr4vy.String("4242424242424242"), } outcome := components.ThreeDSecureScenarioOutcome{ Version: "2.2.0", Authentication: &components.ThreeDSecureScenarioOutcomeAuthentication{ TransactionStatus: "Y", }, } scenarioCreate := components.ThreeDSecureScenarioCreate{ Conditions: conditions, Outcome: outcome, } res, err := client.ThreeDsScenarios.Create(ctx, scenarioCreate) ``` ```java Java theme={"system"} CreateThreeDsScenarioResponse response = gr4vyClient.threeDsScenarios().create() .threeDSecureScenarioCreate(ThreeDSecureScenarioCreate.builder() .conditions(ThreeDSecureScenarioConditions.builder() .cardNumber("4242424242424242") .build()) .outcome(ThreeDSecureScenarioOutcome.builder() .version("2.2.0") .authentication(ThreeDSecureScenarioOutcomeAuthentication.builder() .transactionStatus("Y") .build()) .build()) .build()) .call(); ThreeDSecureScenario scenario = response.threeDSecureScenario().orElse(null); ``` ```php PHP theme={"system"} $scenarioCreate = new ThreeDSecureScenarioCreate( conditions: new ThreeDSecureScenarioConditions( cardNumber: '4242424242424242' ), outcome: new ThreeDSecureScenarioOutcome( version: '2.2.0', authentication: new ThreeDSecureScenarioOutcomeAuthentication( transactionStatus: 'Y' ) ) ); $response = $sdk->threeDsScenarios->create($scenarioCreate); $scenario = $response->threeDSecureScenario; ``` ```python Python theme={"system"} scenario = client.three_ds_scenarios.create( conditions={ "card_number": "4242424242424242" }, outcome={ "version": "2.2.0", "authentication": { "transaction_status": "Y" } } ) ``` ```ts TypeScript theme={"system"} const scenario = await gr4vy.threeDsScenarios.create({ conditions: { cardNumber: "4242424242424242" }, outcome: { version: "2.2.0", authentication: { transactionStatus: "Y" } } }); ``` A 3DS scenario is used any time the conditions are matched to a new transaction. Note that if multiple scenarios match, the most specific scenario (the one with the most conditions matched) is used for the transaction. Once created, you can manage scenarios using the 3DS Scenarios API endpoints, such as [List 3DS Scenarios](/reference/three-ds-scenarios/list-three-ds-scenarios). # Setup 3DS card schemes Source: https://docs.gr4vy.com/guides/features/3ds/schemes Once [3DS has been set up](./setup), configure a profile for each card scheme that is supported through the connection. | Field | Description | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | **Acquirer BIN** | The acquirer BIN for the supported card scheme. | | **Acquirer Merchant ID** | The merchant ID provided by the acquirer used by your payment service. | | **Merchant Name** | Your merchant name. This is sent on to the 3-D Secure provider. | | **Merchant Country Code** | ISO 3166-1 numeric three-digit country code for this merchant account. | | **Merchant Category Code** | The merchant category code or `MCC` for the merchant account. This describes the type of business, product or service offered. | | **Merchant URL** | The URL on which the payments are processed. | **Where to find these details** Most of these identifiers can be found either in the payment service's dashboard or through their support channels. Please see the details for each of the **connectors** for more information. # 3-D Secure Setup Source: https://docs.gr4vy.com/guides/features/3ds/setup 3-D Secure (3DS) can be configured in two ways: for a specific connection or for an entire merchant account. This guide walks through both options. This setup is only required when using Gr4vy's 3DS solutions, such as Gr4vy Embed or the Hosted 3DS page. No configuration is needed if [passing through 3DS data](./external) from an external source. The main difference between the two options is that a merchant account-level configuration can be shared across multiple payment service connections. The following table highlights the main differences. | Feature | Per-Connection | Per-Merchant Account | | ------------------------- | :------------: | :------------------: | | Shared scheme profiles | No | Yes | | Metadata filters | No | Yes | | Click to Pay support | No | Yes | | Native mobile SDK support | No | Yes | ## Configuration options ### Per-connection configuration To configure 3DS for a specific payment service connection, follow these steps: 1. Go to the **Connections** tab in the Gr4vy Admin Panel. 2. Select an active card connection and navigate to the **3-D Secure** tab. 3. Enable the **Enable 3DS** toggle. 4. Add a [scheme profile](./schemes) for each card scheme to enable 3DS for. ### Merchant account-level configuration (Beta) A new option to configure 3DS at the merchant account level is being rolled out. This simplifies the setup by allowing a single configuration to be shared across multiple connections. This feature is currently in beta. Please contact the support team to enable it for the account. Once enabled, 3DS can be configured for a merchant account by following these steps: 1. Go to **Settings** in the Gr4vy Admin Panel. 2. Click **Edit merchant** and select the **3-D Secure** tab. 3. Add a [scheme profile](./schemes) for each card scheme to enable 3DS for. After setting up the merchant account-level configuration, 3DS still needs to be enabled on each connection to use it with. 1. Go to the **Connections** tab. 2. Select an active card connection and go to the **3-D Secure** tab. 3. Switch the **Enable 3DS** toggle on. ## Scheme profile resolution When a transaction requires 3DS, Gr4vy determines which configuration to use based on the following order: 1. **Connection-level profile**: If a 3DS profile is configured for the card's scheme on the specific connection, that profile is used. 2. **Merchant account-level profile**: If no connection-level profile is found, Gr4vy uses the merchant account-level configuration. This resolution takes into account the buyer's country and any metadata passed in the transaction to select the appropriate profile. # 3DS authentication results Source: https://docs.gr4vy.com/guides/features/3ds/statuses Look up the 3-D Secure transaction status values returned across every integration path. Every 3-D Secure integration returns the same authentication result, which follows the EMVCo ARes transaction status (`TransStatus`). This page is the canonical reference for those values. ## Property names The same value surfaces under a different property name depending on the integration path. They all hold the EMVCo transaction status. | Property | Where it appears | | ------------------------- | -------------------------------------------------------------------------------------------- | | `transaction_status` | The Secure Fields 3-D Secure finish callback `authentication` object. | | `transactionStatus` | The native iOS and Android SDK tokenization result `authentication` object. | | `authentication_response` | The transaction object (`three_d_secure.response_data.authentication_response`) and the API. | ## Transaction status values These are the values you can receive. They are identical across every integration path, because all paths follow the same EMV 3DS specification. | Value | Meaning | | ------ | --------------------------------------------------------------------------------------------------------------------------- | | `"Y"` | Authentication was successful. | | `"A"` | Not authenticated, but a proof of authentication attempt was generated. | | `"N"` | Not authenticated; the transaction was denied. | | `"R"` | Authentication was rejected by the issuer, which requests that authorization not be attempted. | | `"U"` | Authentication could not be performed because of a technical or other problem. | | `null` | No authentication status could be determined. This is typically only returned when an error occurred during authentication. | `"U"` and `null` are distinct. `"U"` is an explicit status from the issuer or directory server indicating that authentication could not be performed, whereas `null` means no status value was determined at all, typically when an error occurred during authentication. A successful frictionless authentication returns `"Y"`, not `null`. The EMV 3DS specification also defines the intermediate values `C` (a challenge is required), and, from version 2.2.0, `D` (decoupled authentication) and `I` (informational only). These represent in-progress states that are resolved before a final result is returned, so they aren't surfaced as a final transaction status. # 3-D Secure testing Source: https://docs.gr4vy.com/guides/features/3ds/testing ## Testing approaches There are two approaches to testing 3D Secure: 1. **Test cards from 3DS provider** (documented below): Use specific card numbers provided by the underlying 3DS providers to simulate different authentication outcomes directly in your payment flows. 2. **Register custom scenarios**: Programmatically create and manage authentication scenarios via the [3DS Scenarios API](/guides/features/3ds/scenarios). This approach provides more flexible testing and configuration, but is only available for the hosted 3DS flow. This guide covers testing for **Embed**, **Hosted**, and **External** 3DS approaches only. If you're building a **Native 3DS** integration with Secure Fields, iOS (Swift), or Android (Kotlin), refer to the dedicated testing sections in those guides: * [Secure Fields Native 3DS testing](/guides/payments/secure-fields/three-d-secure#testing-and-validation) * [Native SDK testing](/guides/payments/native/3ds#testing-and-validation) ## Configuration Before testing 3DS in the sandbox environment, ensure: * 3DS is configured for each card scheme (Visa, Mastercard, American Express, etc.) on your primary card connector * Flow rules do not skip 3DS for the test scenarios you want to verify * You're using the correct test card numbers for your desired outcome ## Testing with hosted embed and web flows The Gr4vy 3DS integration uses 3DSecure.io as the 3DS provider. Use the following test cards to simulate different authentication scenarios. ### Frictionless authentication - successful These cards return a frictionless response with successful authentication (`transStatus: Y`). | Card Number | Scheme | Expiry | Security Code | Outcome | | ------------------ | ---------------- | ------ | ------------- | -------------------- | | `5200000000001203` | Mastercard | 03/30 | 100 | Frictionless success | | `4111111111101203` | Visa | 03/30 | 100 | Frictionless success | | `340000000022003` | American Express | 03/30 | 1000 | Frictionless success | | `3558111111121203` | JCB | 03/30 | 100 | Frictionless success | ### Challenge flow - manual and automatic These cards trigger a challenge that requires user interaction. | Card Number | Scheme | Expiry | Security Code | Outcome | | ------------------ | ---------------- | ------ | ------------- | ------------------ | | `5240000000001072` | Mastercard | 03/30 | 100 | Challenge required | | `4111111111181072` | Visa | 03/30 | 100 | Challenge required | | `340000000082072` | American Express | 03/30 | 1000 | Challenge required | | `3558111111121872` | JCB | 03/30 | 100 | Challenge required | When a challenge is triggered, complete the verification process in the challenge modal. The outcome depends on your selection: * **Manual challenge (card ending in 72)**: You can choose to pass or fail the challenge. * **Automatic challenge (card ending in 70)**: The challenge automatically passes. ### Card not enrolled Cards without 3DS enrollment skip authentication. | Card Number | Scheme | Expiry | Security Code | Outcome | | ------------------ | ------ | ------ | ------------- | ------------ | | `9000100111111111` | Visa | 03/30 | 100 | Not enrolled | ### Issuer-mandated authentication These cards simulate an issuer that mandates authentication. Gr4vy attempts 3-D Secure for these cards even when a Flow rule skips it. See [Issuer-mandated 3-D Secure](/guides/features/3ds/overview#issuer-mandated-3-d-secure). | Card Number | Scheme | Expiry | Security Code | Outcome | | ------------------ | ------ | ------ | ------------- | ------------------------------------------------------ | | `4111412911111172` | Visa | 03/30 | 100 | Enrolled — challenge required even with a skip rule | | `9000100111111117` | Visa | 03/30 | 100 | Not enrolled — 3-D Secure attempted, card not enrolled | To test the override, configure a Flow rule that skips 3-D Secure, then run a transaction with one of these cards. Gr4vy attempts 3-D Secure anyway because the simulated issuer mandates it. ### Advanced testing scenarios For more detailed testing including message version variations and 3DS method handling, refer to the [3DSecure.io sandbox documentation](https://docs.3dsecure.io/3dsv2/sandbox.html). The following test card patterns can be used for specific scenarios: * **Message version testing**: Cards with patterns like `xxxx` in positions 2-4 determine the 3DS message version (2.1, 2.2, or 2.3.1). * **3DS Method**: Cards with `x0xx` pattern include 3DS Method, `x1xx` exclude it, `x2xx` simulate timeout. * **Challenge outcomes**: Cards with `xx70` auto-pass, `xx71` auto-fail, `xx72` allow manual selection. # Account funding transactions Source: https://docs.gr4vy.com/guides/features/account-funding-transactions/overview Account Funding Transactions (AFT) involve a payment where the funds are sent to a destination that does not represent a regular purchase of goods or service, like a payment wallet, or a stock account. To process, most PSPs require a merchant to be set up as this feature is generally only available for some merchant categories. AFTs for card payment are currently supported and support has been added for passing details about the funding source (buyer) and recipient destination through the API. ## Supported connectors The following connectors are currently supported for AFTs. Most of these require the source (buyer) and recipient's name, billing address, and account number. Please refer to the individual docs for more information. * [ACI Worldwide](/connections/payments/aci-card) * [Adyen](https://docs.adyen.com/online-payments/instant-card-funding/) * [Checkout](https://www.checkout.com/docs/payments/manage-payments/perform-an-account-funding-transaction) * [Nuvei](https://docs.nuvei.com/documentation/features/financial-operations/aft/) ## Making an AFT payment To make an AFT payment, it's important to provide as much of the [`buyer`](/reference/transactions/new-transaction#body-buyer) and [`recipient`](/reference/transactions/new-transaction#body-recipient) data as is required by your payment service, and to set the [`account_funding_transaction`](/reference/transactions/new-transaction#body-account-funding-transaction) flag to `true`. ## Limitations There are a few limitations to the AFT integration. * AFTs are powered by Visa Direct and Mastercard Send in the EU, and through other rails in other regions. Therefore, availability differs per market as well as the scheme of the card used. * AFTs are often enabled at the payment service side, and passing through AFT flags for merchant account that have not been enabled may raise errors with some services, while in others they are simply ignored. Please verify that your account correctly handles the AFTs before proceeding to process live transactions. * Although the AFT flags are sent to a service when requested, there is no guarantee the transaction was marked as an AFT by the downstream PSP unless it's been set up correctly. # Manual account updates Source: https://docs.gr4vy.com/guides/features/account-updater/integration The batch account updater is provided as an on-demand and asynchronous service, available via API. Currently Visa, Mastercard, American Express, and Discover are supported. ## Setup To have the batch account updater enabled on your instance please fill out [this form][form]. The enrollment happens directly with the card schemes and may take up to two weeks. The customer support team may reach out with more questions if needed. If you're already enrolled for this service with the schemes, filling out the form is still required to set up the necessary data points in the systems as well as the downstream partner's system. ## Request an update check Once enabled it is possible to call the account updater service using the [`POST /account-updater/jobs` endpoint][endpoint]. The request can contain any set of stored card IDs. The set of cards is then submitted to the schemes to receive any updates on their account details. This process can take up to 7 days. Any updates to the card are done automatically. Therefore there is no need to handle the response of the account updater service. If the payment method is made unavailable, either because the card has been canceled or the buyer has indicated to stop recurring payments by this merchant, then the card does not get updated but transactions are declined. At this point, deleting the stored card via the API is recommended. **Scheme enrollment limitations** Account updates are enabled individually per card scheme and per merchant ID (MID). It is important to be aware of which schemes your MID has been enrolled in. If an update job is submitted for a card in a scheme for which you are not enrolled, then your update may remain stuck in a pending state for up to 7 days. ## Handling updated details When the results are ready, the new account details are stored on the payment method but left in a "standby" mode. This means the details have been received but are not used immediately. The reason for this is that it can happen that details have been updated, for example, a new card with a new expiry date has been issued, but these details are pending activation of the card holder. The old card might still be in use in the meantime. Card details are eventually updated when it is determined that the old details are no longer valid. After the card details have been updated the payment method ID remains the same but the `last_replaced_at` field on the payment method is updated. This way, as a merchant, you can keep using the same identifier to trigger recurring payments using up-to-date details. There are three scenarios in which the actual replacement occurs. * When the card has an expiry date in the past * When an update has been received that only changes the expiration date * When a transaction using this card is declined with any of the following codes * `canceled_payment_method` * `expired_payment_method` * `unavailable_payment_method` * `unknown_payment_method` ## Webhooks Once a payment method has been updated a webhook is sent out for the payment method to notify you of the change. You can use this webhook to pull in the latest expiry date, last 4 digits, or BIN for use in your own UI. [form]: https://gr4vy.atlassian.net/servicedesk/customer/portal/1/group/7/create/32 [endpoint]: /reference/account-updater/new-account-updater-job # Account Updater Source: https://docs.gr4vy.com/guides/features/account-updater/overview To keep card details up to date most card schemes have created services to inform customers about changes to card and account details, for example, when the expiry date of a card changes. Using an account updater, it is possible to update the details of stored card details automatically. This way it is possible to keep all information fresh and up to date and maintain continuity in your payment cycle, without the buyer having to re-fill their card details after they have changed. Card details are automatically updated when the following events occur. * A new expiry date is available * A new card is issued, replacing the old card * A card is reported as stolen or lost * The buyer has no longer authorized the merchant to automatically charge the card Two types of account updater are offered; batch and real time. The batch account updater allows you to define a set of stored cards to update whereas the real time account updater checks for card updates during transaction processing. ## Enable account updater To enable an account updater on your instance, please [contact support](https://support.gr4vy.com). If you're already enrolled for this service with the schemes, filling out the form is still required to set up the necessary data points in the systems as well as the downstream partner's system. [form]: https://gr4vy.atlassian.net/servicedesk/customer/portal/1/group/7/create/32 # Real time account updates Source: https://docs.gr4vy.com/guides/features/account-updater/real-time The real time account updater automatically checks for updated card details at the point of a decline. Where new card details are available, the payment method is updated and the transaction is retried with the same connector. This approach requires no integration changes. ## Setup To have the real time account updater enabled on your instance please fill out [this form][form]. The enrollment happens directly with the card schemes and may take up to two weeks. The customer support team may reach out with more questions if needed. If you're already enrolled for this service with the schemes, filling out the form is still required to set up the necessary data points in the systems as well as the downstream partner's system. ## Usage and limitations The real-time account updater has the following limitations. * Only card PANs are supported. Digital wallet and network tokens are ignored. * Only subsequent merchant initiated transactions are supported * One of the following error codes is returned, or a MAC `01` is returned * `canceled_payment_method` * `expired_payment_method` * `incorrect_expiry_date` * `issuer_decline` * Only Visa & Mastercard are currently supported * Cards with pending updates from the batch account updater use the new stored credentials instead [form]: https://gr4vy.atlassian.net/servicedesk/customer/portal/1/group/7/create/32 As with other updates, merchants are only charged for cards that are updated. ## Simulator Your sandbox instance is automatically enabled to use the real time account updater simulator. You can test different scenarios by using the `connection_options` property when creating a transaction. Please see the various scenarios and examples below. Using the card simulator connection is the easiest way to test different scenarios as this connector returns specific decline error codes depending on the transaction amount. The real time account updater logic only triggers for subsequent merchant initiated transactions so you must first create a stored payment method. Once you have this payment method ID you can use it to test as shown when calling the [`POST /transactions` API](/reference/transactions/new-transaction). ```json Request theme={"system"} { "amount": 200005, "country": "US", "currency": "USD", "payment_service_id": "f6933999-362f-468b-83c3-ed16b1a4ca17", "merchant_initiated": true, "payment_source": "card_on_file", "is_subsequent_payment": true, "payment_method": { "method": "id", "id": "f6933999-362f-468b-83c3-ed16b1a4ca17", "redirect_url": "https://gr4vy.com/callback" }, "connection_options": { "account-updater": { "response_code": "updated", "account_number": "4242424242424242" } } } ``` ### Examples The following are a few examples of how to use the `connection_options` to trigger particular situations. ```json Full new details theme={"system"} { { ... "connection_options": { "account-updater": { "response_code": "updated", "account_number": "4242424242424242", "expiration_month": "12", "expiration_year": "2050" } } } ``` ```json New number only theme={"system"} { ... "connection_options": { "account-updater": { "response_code": "updated", "account_number": "4242424242424242" } } } ``` ```json Unchanged theme={"system"} { ... "connection_options": { "account-updater": { "response_code": "unchanged" } } } ``` ```json Error theme={"system"} { ... "connection_options": { "account-updater": { "error_code": "error" } } } ``` # Scheduled account updates Source: https://docs.gr4vy.com/guides/features/account-updater/scheduler The batch account updater supports automatic scheduling of an entire vault for updates every 12 days. This allows your entire vault to stay up to date on a monthly basis, without the need to manually submit cards to the account updater. ## Setup To use the account updater service, you need to have the service enabled. To have the batch account updater enabled on your instance, please fill out [this form][form]. The enrollment happens directly with the card schemes and may take up to two weeks. The customer support team may reach out with more questions if needed. If you're already enrolled for this service with the schemes, filling out the form is still required to set up the necessary data points in the systems as well as the downstream partner's system. Next, the scheduler needs to be set up, which requires a change to be made on your instance. When you fill in the form, please select if you want to use the scheduler or not. ## Usage and limitations * The entire content of the vault is updated every 12 days, allowing for 2 full updates within 1 calendar month * You are only charged for cards that are updated * Any card already submitted to the account updater in some other way does not get submitted as part of the scheduler * Any card already updated but pending its first use in the vault does not get updated until the new card has been automatically used. This may happen when a card is updated, but the old card is still in use. * Only Visa, Mastercard, American Express, and Discover cards are supported by the account updater, and any others are ignored by the scheduler * Any cards previously marked as dead (`LCA`) are ignored [form]: https://gr4vy.atlassian.net/servicedesk/customer/portal/1/group/7/create/32 # Automatic anti-fraud device fingerprinting Source: https://docs.gr4vy.com/guides/features/anti-fraud/fingerprint Enabling automatic device fingerprinting A device fingerprint uniquely identifies the device a customer is using at checkout. Anti-fraud connections use this to determine whether this device or user has been flagged for fraudulent behavior in the past, allowing it to reject the transaction and protecting you from fraud. Each anti-fraud service has a different way of collecting the device fingerprint, and therefore the `f.js` library wraps around each of these, allowing focus on the preferred anti-fraud service. If using Embed or one of the e-commerce plugins, then none of the steps below are necessary. Embed automatically loads the right library and ensures the device fingerprint is collected. ## Usage without Embed To create a device fingerprint, load the `f.js` library into your checkout page. This can be the page on which you render your checkout using Secure Fields, or any other integration. ```html theme={"system"} ``` In a sandbox environment make sure you use `api.sandbox.{instance_id} .gr4vy.app/f.js`. This automatically loads the fingerprinting library for your [**Primary**](/guides/features/anti-fraud/overview#connection-mode) anti-fraud service — and, if any [**Silent**](/guides/features/anti-fraud/silent-mode) services are configured, their libraries too — seeding all of them with the same shared fingerprint value. The value is attached to `window.gr4vyAntiFraud.f` and can be sent as the [`anti_fraud_fingerprint`](/reference/transactions/new-transaction#body-anti-fraud-fingerprint) property when creating a transaction. ## Embed, e-commerce, and custom When using Embed, or one of the e-commerce plugins like Magento, then the device fingerprint is automatically created and sent along when creating a transaction. This behavior can be overridden by sending in a custom fingerprint to Embed. For example, if the anti-fraud service in use is known, and that service's fingerprint script has already been loaded, then the fingerprint created by that service can be passed directly to Embed or the API. When the `antiFraudFingerprint` value is set, the device fingerprint libraries are not loaded and, instead, the fingerprint provided is passed along as-is when creating a transaction. ```js React theme={"system"} ``` ```js Node / CDN theme={"system"} setup({ gr4vyId: "example", antiFraudFingerprint: "my-fingerprint-id", ... }); ```
For most anti-fraud services the `fingerprint` represents either the session ID or device fingerprint ID defined by that service's anti-fraud library. Please refer to the documentation of your anti-fraud service for more details. ## Custom & native fingerprints In the event the automated solution cannot be used to generate the device fingerprint, use the anti-fraud fingerprint libraries directly and then pass the fingerprint by using the [`anti_fraud_fingerprint`](/reference/transactions/new-transaction#body-anti-fraud-fingerprint) when creating a new transaction. When accepting PayPal the device fingerprint is sent to both PayPal and the Anti-Fraud service. To ensure the same fingerprint works for both services, creating a PayPal fingerprint first is recommended, and then passing the ID generated by their library to the anti fraud fingerprint library to seed the value. ## Native mobile fingerprinting If you build a native mobile checkout without one of Gr4vy's [Embed SDKs](/guides/payments/native/sdks) wrapping a web view, the providers' web fingerprint scripts cannot run. Instead, integrate each anti-fraud provider's native iOS and Android SDKs and forward a single shared identifier as `anti_fraud_fingerprint`. The platform forwards that single identifier to every configured provider — Primary and any [Silent](/guides/features/anti-fraud/silent-mode) services — as the device session identifier on each provider's server-side decision request. So the only requirement for native is: **register every provider's device profile under one shared identifier, and pass that exact same identifier to Gr4vy as `anti_fraud_fingerprint` so each provider can correlate the device profile with its decision request.** There are two viable patterns: ### Pattern A — Merchant-generated identifier, pushed into each provider's SDK Generate a unique identifier (for example, a UUID) at the start of the checkout session, then push it into each provider's mobile SDK *before* it emits any events. Each provider registers its device profile under that identifier; the same identifier is then forwarded server-side, and each provider can stitch the profile to the transaction. Use whatever format the providers you're integrating with accept. This is the native equivalent of how `f.js` exposes a fingerprint on `window.gr4vyAntiFraud.f` on web. ```swift Swift theme={"system"} let fingerprintUUID = UUID().uuidString // Push the UUID into the anti-fraud provider SDK BEFORE any events are emitted, // so the device profile is registered under this UUID on the provider's backend. // The method names below are pseudocode — see your provider's mobile SDK docs. ProviderASDK.shared.configure(siteId: PROVIDER_A_SITE_ID) ProviderASDK.shared.setDeviceUID(fingerprintUUID) // Same UUID seeds the second provider's session. ProviderBSDK.profileRequest(sessionID: fingerprintUUID) // Forward the same UUID to your own backend, which then includes it // as `anti_fraud_fingerprint` when calling Gr4vy's Create transaction API. yourCheckoutBackend.startTransaction( amount: 12345, currency: "AUD", antiFraudFingerprint: fingerprintUUID ) ``` ```kotlin Kotlin theme={"system"} val fingerprintUUID = UUID.randomUUID().toString() // Method names below are pseudocode — see your provider's mobile SDK docs. ProviderASDK.getInstance().configure(context, PROVIDER_A_SITE_ID) ProviderASDK.getInstance().setDeviceUID(fingerprintUUID) ProviderBSDK.getInstance().profile( ProfilingOptions().setSessionID(fingerprintUUID), null ) // Forward the same UUID to your own backend, which then includes it // as `anti_fraud_fingerprint` when calling Gr4vy's Create transaction API. yourCheckoutBackend.startTransaction( amount = 12345, currency = "AUD", antiFraudFingerprint = fingerprintUUID ) ``` The exact "set device UID" / "set event ID" API name varies by provider and SDK version — refer to your provider's mobile SDK documentation. ### Pattern B — Use one provider's native UID as the shared identifier If a provider's mobile SDK auto-generates a stable per-install identifier (for example, a UID derived from iOS's identifier for vendor (IDFV)) and does not expose a setter to inject your own value, let it generate the identifier, read it out, and use it as the seed for any other providers and for Gr4vy. ```swift Swift theme={"system"} // Method names below are pseudocode — see your provider's mobile SDK docs. ProviderASDK.shared.configure(siteId: PROVIDER_A_SITE_ID) let providerAUID = ProviderASDK.shared.getDeviceUID() // SDK-generated // Use Provider A's UID as the seed for Provider B's session. ProviderBSDK.profileRequest(sessionID: providerAUID) // Forward the UID to your own backend, which then includes it // as `anti_fraud_fingerprint` when calling Gr4vy's Create transaction API. yourCheckoutBackend.startTransaction( amount: 12345, currency: "AUD", antiFraudFingerprint: providerAUID ) ``` ```kotlin Kotlin theme={"system"} // Method names below are pseudocode — see your provider's mobile SDK docs. ProviderASDK.getInstance().configure(context, PROVIDER_A_SITE_ID) val providerAUID = ProviderASDK.getInstance().getDeviceUID() ProviderBSDK.getInstance().profile( ProfilingOptions().setSessionID(providerAUID), null ) // Forward the UID to your own backend, which then includes it // as `anti_fraud_fingerprint` when calling Gr4vy's Create transaction API. yourCheckoutBackend.startTransaction( amount = 12345, currency = "AUD", antiFraudFingerprint = providerAUID ) ``` Each provider may have its own format requirements for the session or device identifier it accepts. Refer to your provider's connector documentation for the exact format expected for `anti_fraud_fingerprint`. ### Which pattern to use * **Use Pattern A** when every provider's mobile SDK exposes a way to inject a merchant-generated identifier. It keeps the seed provider-independent — useful if you may add or swap providers later. * **Use Pattern B** when at least one provider's SDK does not expose an injection hook. It inverts the dependency — that provider becomes the source of the identifier — but always works. ## Merchant accounts In an environment with multiple merchant accounts it's important to add the `merchant_account_id` as a query parameter to the fingerprint script. This ensures the script is loaded for the [**Primary**](/guides/features/anti-fraud/overview#connection-mode) anti-fraud service — and any [**Silent**](/guides/features/anti-fraud/silent-mode) services configured — for that specific merchant account. ```html theme={"system"} ``` Please note that when using an Integration API key with Embed or one of the e-commerce platforms, then the `merchantAccountId` needs to be set explicitly for Embed to load the anti-fraud scripts for that merchant account. ```js React theme={"system"} ``` ```js Node / CDN theme={"system"} setup({ gr4vyId: "example", merchantAccountId: "my-merchant-id" ... }); ``` # Anti-fraud Source: https://docs.gr4vy.com/guides/features/anti-fraud/overview Managing risk in your transaction flow As part of [Flow](/guides/dashboard/flow) the system allows you to build rules which use decisions and scores from anti-fraud services. For detailed information on setting up and configuring specific anti-fraud providers, visit the [Anti-fraud connectors](/connections/anti-fraud) in the Connections section. Cybersource, Forter, Riskified, Sardine, and Sift are supported. Flow rule with an anti fraud decision You can use these scores and decisions for [card transactions](/guides/dashboard/flow/card-transactions) to evaluate the risk of a transaction and take appropriate actions to, for example, force 3-D Secure, decline a transaction, or route to a specific payment service. ## How does it work? For every transaction, your [**Primary**](#connection-mode) anti-fraud service is only called **once**. When a request is made for a transaction, your active anti-fraud provider is only called once, assuming a rule is triggered for which an anti-fraud score or decision is the condition. This feature prevents incurring any extra cost by calling your anti-fraud service multiple times, or calling your service unnecessarily if the rule is not triggered. ## Connection mode Each of your configured anti fraud services can be set to a **Primary**, [**Silent**](/guides/features/anti-fraud/silent-mode) or **Inactive** mode. | Mode | Description | | :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Primary** | Traffic is processed through this connector's fraud checks. It returns an approval or decline, which determines whether the transaction continues. Only one primary connector can be configured at any time. | | [**Silent**](./silent-mode) | Traffic is processed through this connector, but its decision is not enforced. Results are logged for learning/analysis only. | | **Inactive** | No traffic is processed through this connector, but it is available to be re-activated at any time. | # Anti-fraud reviews Source: https://docs.gr4vy.com/guides/features/anti-fraud/reviews Manually reviewing anti-fraud decisions Some anti-fraud services may hold a transaction in review. If your chosen anti-fraud service supports this feature then you can enable manual reviews as part of the payment flow. This pauses a transaction and waits for the result of the review before proceeding. A transaction in review When a transaction is marked for review the following steps are performed. * The transaction request is accepted * A call is made out to the anti-fraud service to fetch a decision * When the service requires a manual review, the transaction is marked as pending review * The transaction is authorized but does not continue to capture * When a support agent reviews the transaction a webhook is received * The pending review status is removed from the transaction * Either capture proceeds if that was the original intent, or the transaction is voided if it was rejected ## Supported connections The following anti-fraud services currently support manual reviews. * Cybersource Decision Manager * Sardine * Sift ## Set up webhooks To enable manual review you need to set up webhooks from your anti-fraud service to the system. This webhook is used to notify when a review has had a decision. To get the webhook URL, head over to your connection by going to **Connections** -> **\[Anti-Fraud connection]** -> **Synchronization** and copying the webhook URL. Then follow the guide for your chosen anti-fraud service to set up the webhook in their dashboard. # Anti-fraud setup Source: https://docs.gr4vy.com/guides/features/anti-fraud/setup Setting up an anti-fraud service To enable anti-fraud you first need to create a new anti-fraud connection which can be completed via the dashboard by heading to **Connections** -> **Catalog**. On this page, scroll down to the bottom to explore the available anti-fraud services. For detailed setup instructions for each anti-fraud provider, visit the appropriate connector page: * [Cybersource](/connections/anti-fraud/cybersource) * [Forter](/connections/anti-fraud/forter) * [Riskified](/connections/anti-fraud/riskified) * [Sardine](/connections/anti-fraud/sardine) * [Sift](/connections/anti-fraud/sift) Anti-fraud connections To enable your chosen anti-fraud connection: 1. Provide the required credentials and other details to configure the connection. 2. Set the [connection mode](/guides/features/anti-fraud/overview#connection-mode) to Primary. 3. Create a new [card transactions](/guides/dashboard/flow/card-transactions) flow rule with an anti-fraud decision as its condition. ## Multiple anti-fraud services You can configure multiple anti-fraud services on the same merchant account. Exactly one service can be in **Primary** [connection mode](/guides/features/anti-fraud/overview#connection-mode) at a time, and its decisions drive your Flow rules. Any number of additional services can run in **[Silent](/guides/features/anti-fraud/silent-mode)** mode alongside the Primary. Whenever a Flow rule triggers an anti-fraud check, Silent services are evaluated alongside the Primary and produce decisions that are logged but not enforced. This makes it straightforward to evaluate a new service against real traffic and migrate to it without disruption. See [Silent mode](/guides/features/anti-fraud/silent-mode) for the full migration playbook. # Silent mode Source: https://docs.gr4vy.com/guides/features/anti-fraud/silent-mode Run additional anti-fraud services in Silent mode alongside your Primary service to compare and migrate without enforcing their decisions ## Overview Silent mode lets you run one or more anti-fraud services *alongside* your Primary service without enforcing their decisions. Whenever a Flow rule triggers an anti-fraud check, Silent services are evaluated alongside the Primary, return decisions, and write transaction history events — but those decisions never reject, step up, or otherwise affect the customer's flow. This is the recommended way to: * **Warm up a new service.** Let it gather data and tune its models on real traffic before you switch over. * **Validate a new service before switching over.** Compare its decisions against your Primary in the dashboard. * **Decommission an old service gradually.** Keep the outgoing service in Silent mode for monitoring after switching to a new Primary. ## Connection modes Each configured service is in one of three modes (see [Anti-fraud overview](/guides/features/anti-fraud/overview#connection-mode)): | Mode | Receives traffic? | Decision enforced? | | :----------- | :---------------------------------- | :----------------- | | **Primary** | Yes (when an anti-fraud check runs) | Yes | | **Silent** | Yes (when an anti-fraud check runs) | No (logged only) | | **Inactive** | No | — | Exactly one service can be Primary at a time. Any number of services can be Silent. ## How it works Anti-fraud services are only called when a Flow rule that depends on an anti-fraud score or decision triggers for a transaction (see [Anti-fraud overview](/guides/features/anti-fraud/overview#how-does-it-work)). When that happens: * The Primary service is called **synchronously** so its decision can be evaluated against your Flow rules. * Each Silent service is called **asynchronously** via the message queue, so it never adds latency to the transaction. * All checks (Primary and Silent) are stored against the transaction. The dashboard surfaces every Silent decision as a transaction history event so you can compare side-by-side without affecting the customer. * If a webhook arrives for a Silent service (for example, a Cybersource Decision Manager review status change), the corresponding check is updated, but no further action is taken on the transaction. ## Fingerprinting with multiple services No matter how many anti-fraud services you have configured (Primary + any number of Silent), your integration only ever passes **one** device fingerprint value per transaction. There is **no** per-provider fingerprint field. A single shared fingerprint identifier per session is used to seed the fingerprinting library of *every active provider* — that is, the Primary and any Silent services (Inactive services receive no traffic and are skipped). Each provider registers that identifier under its own session/device key. At transaction time you submit the identifier once, on [`anti_fraud_fingerprint`](/reference/transactions/new-transaction#body-anti-fraud-fingerprint), and the platform forwards it to the Primary and each Silent service using whatever per-provider mapping that connector defines. See each connector's documentation for the specific field it expects. ### End-to-end flow with Embed (Primary + Silent) ```mermaid theme={"system"} sequenceDiagram participant Browser as Customer browser (Embed) participant FJS as Gr4vy /f.js participant ACDN as Provider A CDN participant BCDN as Provider B CDN participant API as Gr4vy Transactions API participant Q as Async queue participant A as Provider A Decision API participant B as Provider B Decision API Browser->>FJS: GET /f.js FJS-->>Browser: loader (one shared seed + per-service loaders) Browser->>ACDN: Provider A fingerprint script (seeded with shared id) Browser->>BCDN: Provider B fingerprint script (seeded with shared id) Note over ACDN,BCDN: Both providers now hold the same identifier. Browser->>API: POST /transactions { anti_fraud_fingerprint: id } API->>A: Decision call (id) — synchronous Note over API,A: Provider A — Primary, enforced by Flow rules API->>Q: Enqueue Silent decision (id) Q-->>B: Decision call (id) — asynchronous Note over Q,B: Provider B — Silent, logged only, no added latency ``` When you use Embed (web or mobile), this happens automatically — adding a Silent service requires no code changes in your integration. If you don't use Embed, see [Automatic anti-fraud device fingerprinting](/guides/features/anti-fraud/fingerprint) for how to load `f.js` yourself or how to seed the same identifier into native mobile SDKs. ## Migration pattern The intended migration playbook for switching from one anti-fraud provider to another: Configure the new provider in the dashboard with connection mode set to **Silent**. Your existing Primary keeps enforcing decisions; the new provider starts collecting data and emitting decisions side-by-side. Review the side-by-side decisions on transactions over a representative period (typically a few weeks). Tune the new provider's rules and models as needed. Flip the flags: set the new provider to **Primary** and the old provider to **Silent** (or **Inactive**). No client-side change is required — the same `anti_fraud_fingerprint` value keeps flowing on every transaction; only enforcement changes. Once you're confident, set the old provider to **Inactive** to stop traffic to it entirely. ## API reference Connection mode is set via the [Update anti-fraud service API](/reference/anti-fraud-services/update-anti-fraud-service): ```http theme={"system"} PUT /anti-fraud-services/{anti_fraud_service_id} ``` ```json Request body theme={"system"} { "anti_fraud_service_definition_id": "sift-anti-fraud", "active": false, "silent": true } ``` A service cannot be `active` and `silent` at the same time: * `active: true` makes the service **Primary** (the existing Primary, if any, is automatically deactivated). * `silent: true` makes it **Silent**. * If both are `false`, the service is **Inactive**. `anti_fraud_service_definition_id` is required by the schema, but the underlying provider can't be changed on update — you must echo the service's existing definition string (for example, `sift-anti-fraud`). Read it from the dashboard or from the [Get anti-fraud service](/reference/anti-fraud-services/get-anti-fraud-service) API response for the service you're updating. # Anti-fraud simulator Source: https://docs.gr4vy.com/guides/features/anti-fraud/simulator An simulator anti-fraud connection is provided which can be used for integration testing. This anti-fraud connection makes it straight forward to test all response decisions and asynchronous webhooks. ## Credentials To configure the connection, you need to set the following credentials. | Credential | Description | | :--------- | :------------------------------------------------- | | API Key | This is not validated and can be set to any string | ## Decision mapping To test various anti-fraud decisions you must create a buyer with a specific email address (see table below). If you do not pass a buyer with email address the decision is `skipped`. | Buyer email | Decision | Description | | :------------------ | :---------- | :------------------------------------------------ | | `accept@gr4vy.com` | `accept` | Simulates a low risk transaction | | `reject@gr4vy.com` | `reject` | Simulates a high risk transaction | | `review@gr4vy.com` | `review` | Simulates a transaction which needs manual review | | `error@gr4vy.com` | `error` | Simulates a bad request | | `timeout@gr4vy.com` | `exception` | Simulates a server timeout/bad response | ## Errors To simulate a network error, for example to simulate a situation where the connector is unable to connect to the anti-fraud provider you can use `unavailable@gr4vy.com`. This results in the decision being skipped and creates an `anti-fraud-decision-error` transaction event. ## Webhooks To test the `review` status you can manually send a POST request to the anti-fraud service webhook URL. You can find this value from the dashboard or via the API when [fetching the anti-fraud service](/reference/anti-fraud-services/get-anti-fraud-service). ```json Response theme={"system"} { "type": "anti-fraud-service", "id": "f80b5fc6-c95d-4a28-a929-4d5268c3e141", "merchant_account_id": "default", "display_name": "Simulator", "anti_fraud_service_definition_id": "mock-anti-fraud", "active": true, "reviews_enabled": true, "created_at": "2024-04-01T00:00:00+00:00", "updated_at": "2024-04-01T00:00:00+00:00", "webhook_url": "https://api.sandbox.example.gr4vy.app/i/af/-AtfxsldSiipKU1SaMPhQWZvcnRlci1hbnRpLWZyYXVk/5bOPmoOpwNRR6bKZaPD7MNjiZcYgSu1cNtNUO0jLUNc", "fields": [] } ``` The expected `POST` body for the webhook URL must contain the UUID of the transaction and a decision of `ACCEPT` or `REJECT`: ```json Simulated webhook theme={"system"} { "transactionId": "d6d2bc16-8a25-4e05-a595-b4cd51fe4932", "decision": "ACCEPT" | "REJECT" } ``` ## Device fingerprinting Device fingerprinting is not currently supported via this connection. # Decrypted Apple Pay tokens Source: https://docs.gr4vy.com/guides/features/apple-pay/decrypted-tokens Some merchants and platforms may have the option to decrypt an Apple Pay token themselves. For this scenario, direct pass through of these decrypted Apple Pay tokens to the API is supported using the [`network-token` method](/reference/transactions/new-transaction#network-token-payment-method-create). ```json Payment method theme={"system"} { "method": "network-token", "token": "4111111111111111", "expiration_date": "02/30", "cryptogram": "AAEBAwQjSQAAXX...", "eci": "05", "card_suffix": "1234", "card_scheme": "visa", "card_source": "apple-pay", "card holder_name": "John Smith" } ``` # Apple Pay on iOS with the SDK Source: https://docs.gr4vy.com/guides/features/apple-pay/ios Both the native iOS SDK and React Native SDKs support native Apple Pay out of the box. ## About this integration The SDK requires you to perform the following steps to get set up. * Enable Apple Pay in your merchant dashboard. * Sign up for an Apple Pay Developer account and [register a payment processing certificate](/guides/features/apple-pay/ios#register-a-certificate). * [Add the merchant ID](/guides/features/apple-pay/ios#add-the-certificate-to-your-app) and its processing certificate to your app. * Pass the merchant ID to the constructor of the SDK. ## Enable Apple Pay To enable Apple Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Apple Pay**. Next, complete, and submit the form to create a new Apple Pay service. ### Register a certificate To process Apple Pay in a mobile app, register for an Apple Pay developer account and join the [Apple developer program](https://developer.apple.com/programs/). Once set up, generate a new Apple Pay processing certificate using the dashboard. Go to **Connections** -> **Apple Pay** -> **Certificates** and click **Add certificate** to start the process. Apple Pay: Add a new certificate Provide a name and download a **Certificate Signing Request** (CSR). Next, visit the [Apple developer dashboard](https://developer.apple.com/account/resources/identifiers/list/merchant) to generate a payment processing certificate. * Create or select a **Merchant ID** to associate a payment processing certificate with. * In the **Apple Pay Payment Processing Certificate** section click **Create Certificate**. * Select **Choose File** to upload the CSR you downloaded from the dashboard, and then Continue. \*Verify the certificate details and **Download** the signed certificate from Apple. Next, go back to the dashboard and upload the signed certificate. ### Add the certificate to your app For the app to accept Apple Pay, set the same Apple **Merchant ID** in the app. In the Xcode project find the **Signing & Capabilities** in the project editor. Select the same **Merchant ID** used to register the payment certificate. Please ensure the provisioning profiles and signing certificates are updated to contain this ID. ## Integrate Apple Pay ### Update SDK initialization Because the Xcode project can be configured with more than one merchant ID, update the initialization of the SDK to pass the `applePayMerchantId` to the constructor. ```swift Swift theme={"system"} import gr4vy_ios let result = Gr4vy.init( gr4vyId: "[GR4VY_ID]", token: "[TOKEN]", amount: 1299, currency: "AUD", country: "AU", buyerId: nil, environment: Gr4vyEnvironment.sandbox, applePayMerchantId: "[MERCHANT_ID]" ) ``` ```swift React Native theme={"system"} import EmbedReactNative from '@gr4vy/embed-react-native'; const handleCheckout = () => { EmbedReactNative.showPaymentSheet({ gr4vyId: '[GR4VY_ID]', environment: 'sandbox', token: '[TOKEN]', amount: 1299, currency: 'AUD', country: 'AU', applePayMerchantId: "[MERCHANT_ID]" ... }) } ``` The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. ## Test Apple Pay Apple has an extensive [guide on sandbox testing](https://developer.apple.com/apple-pay/sandbox-testing/). Apple Pay requires a **Sandbox Tester** account to be able to test transactions in the sandbox. Sandbox Testers can add fake test cards to their account that can then be used in Apple Pay. When a Sandbox Tester account is used in production, Apple Pay may fail for various reasons. Similarly, when a regular Apple account is configured on a Mac or iPhone, Apple Pay may fail to load the payment sheet. This may result in the Apple Pay UI quickly appearing and then disappearing. ### Create a sandbox tester account A sandbox tester account can be set up in the [**User and Access section**](https://appstoreconnect.apple.com/access/users/sandbox) of a Apple Developer account. If you do not have an Apple Developer account please contact support and they can set you up with a Sandbox Tester account under an Apple Developer account. To set up an account the following details are needed. * **First and last name**: This can be anything really but using the person's full name is recommended. * **email:** This needs to be a real email address that is not already an Apple account. This needs to be an email that can receive actual emails. * **App Store Country or Region:** This can help with any locale testing. ### Setup on device Once set up, a sandbox tester account can be added to a Mac or iPhone. Sign in to iCloud with the sandbox tester on macOS (or iOS). Sign out of the existing iCloud account and sign in specifically with the sandbox account. This allows you to register the sandbox cards in the Apple Wallet. On a Mac, it helps to create a second user account so that you don't need to log out of your own iCloud account every time you need to test Apple Pay. One caveat is that only 1 Apple account per Mac can be used to store cards in the vault, so you'd not be able to use Apple Pay in your own account. ### Add test cards Next, add a test card from the [Apple Pay docs](https://developer.apple.com/apple-pay/sandbox-testing/). On a Mac this can be done by going to **System Preferences** -> **Wallet & Apple Pay** -> **Add card**. ### Create sandbox transaction To make an Apple Pay sandbox transaction the following are required. * An Apple device with a Sandbox Tester account on it * An app with an Apple merchant ID associated with it * A merchant ID with a signed payment processing certificate associated with it * Apple Pay enabled in the dashboard * The payment processing certificate registered in the dashboard * A card processor enabled that can process Apple Pay in the given currency. For a currency that has a card processor that supports Apple Pay, the payment option should appear in the app. Select Apple Pay and continue with the payment. The Apple Pay sheet should appear. ### Create production transaction To make an Apple Pay transaction in production replace the Sandbox Tester account with a regular Apple account with real cards. ## Common Issues There could be many reasons why this doesn't show. * Make sure the merchant ID is the same as shown in the dashboard * Make sure the certificate isn't expire * Make sure an Apple account is set up on the device and cards are added to it * Make sure the system is set up to handle Apple Pay * Check the Apple Pay connection is enabled * Check a card connector is enabled for the selected country/currency * Check that a Flow rule doesn't hide Apple Pay There could be a few reasons why this doesn't show but most likely this means the card was sent to a connector that either doesn't understand Apple Pay cards, or did not recognize the test card. This seems to happen at times with the test cards provided by Apple. Try a different card, or try again later. # Apple Pay on iOS without the SDK Source: https://docs.gr4vy.com/guides/features/apple-pay/ios-without-sdk It is possible to use Apple Pay in an iOS app without the SDK. To learn how to integrate Apple Pay, following Apple's [documentation][documentation] is recommended. The steps below highlight the basics and focus on the interaction with the API. A full [sample app][documentation] is available in Apple's developer documentation. ## About this integration Similar to the SDK integration, this setup requires you to perform the following steps. * Enable Apple Pay in your merchant dashboard. * Sign up for an Apple Pay Developer account and [register a payment processing certificate](/guides/features/apple-pay/ios#register-a-certificate). * [Add the merchant ID](/guides/features/apple-pay/ios#add-the-certificate-to-your-app) and its processing certificate to your app. Additionally, you then need to implement the following. * Render your own Apple Pay button. * Create a session with the right merchant ID. * Catch the Apple Pay token and pass it to the API for processing. ## Enable Apple Pay To enable Apple Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Apple Pay**. Next, complete, and submit the form to create a new Apple Pay service. ### Register a certificate To process Apple Pay in a mobile app, register for an Apple Pay developer account and join the [Apple developer program](https://developer.apple.com/programs/). Once set up, generate a new Apple Pay processing certificate using the dashboard. Go to **Connections** -> **Apple Pay** -> **Certificates** and click **Add certificate** to start the process. Apple Pay: Add a new certificate Provide a name and download a **Certificate Signing Request** (CSR). Next, visit the [Apple developer dashboard](https://developer.apple.com/account/resources/identifiers/list/merchant) to generate a payment processing certificate. * Create or select a **Merchant ID** to associate a payment processing certificate with. * In the **Apple Pay Payment Processing Certificate** section, click **Create Certificate**. * Select **Choose File** to upload the CSR you downloaded from the dashboard, and then Continue. * Verify the certificate details and **Download** the signed certificate from Apple. Next, go back to the dashboard and upload the signed certificate. ### Add the certificate to your app In order for the app to accept Apple Pay, set the same Apple **Merchant ID** in the app. In the Xcode project, find the **Signing & Capabilities** in the project editor. Select the same **Merchant ID** used to register the payment certificate. Please ensure the provisioning profiles and signing certificates are updated to contain this ID. ## Integrate Apple Pay ### Display an Apple Pay button An Apple Pay button can be displayed in a few different ways. [Apple's guide](https://developer.apple.com/documentation/passkit/apple_pay/offering_apple_pay_in_your_app#3846467) shows a code sample that checks if Apple Pay is enabled on the device and then adds the button directly to a view with code. ```swift theme={"system"} if let applePayButton = button { let constraints = [ applePayButton.centerXAnchor.constraint(equalTo: applePayView.centerXAnchor), applePayButton.centerYAnchor.constraint(equalTo: applePayView.centerYAnchor) ] applePayButton.translatesAutoresizingMaskIntoConstraints = false applePayView.addSubview(applePayButton) NSLayoutConstraint.activate(constraints) } ``` The sample app doesn't display the add button if a device can't accept payments due to hardware limitations, parental controls, or any other reasons. ### Set the merchant ID Once the button is clicked, the guide requires you to set up a new payment request. In this step, set the `merchantIdentifier` to the merchant ID for the Apple Pay certificate you've [registered in the merchant dashboard](/guides/features/apple-pay/ios#enabling-apple-pay). For example, if you registered a certificate for merchant ID `merchant.com.example.demo` in the dashboard, then set this same ID in your app code. ```swift theme={"system"} let paymentRequest = PKPaymentRequest() paymentRequest.paymentSummaryItems = paymentSummaryItems paymentRequest.merchantIdentifier = "merchant.com.example.demo" ... ``` Apple's documentation has an [extensive guide](https://developer.apple.com/documentation/passkit/apple_pay/setting_up_apple_pay) on setting up your iOS app to accept Apple Pay. ### Create a transaction Finally, once the Apple Pay transaction has been authorized by Apple, create a transaction with the API. This API call could be made in your frontend code in Swift or Objective C, or the token could be sent to your backend for processing. ```sh theme={"system"} curl -X POST https://api.example.gr4vy.app/transactions \ -H "Authorization: bearer [JWT]" -d '{ amount: 1299, currency: "AU", currency: "AUD", payment_method: { method: "applepay", token: "[TOKEN]" } }' ``` In this example, the `[TOKEN]` value is the token from the [PKPayment](https://developer.apple.com/documentation/passkit/pkpayment) object as returned by Apple Pay in the `paymentAuthorizationController(_:didAuthorizePayment:handler:)` method. In React Native you can use any Apple Pay integration, together with your merchant identifier. One of the easiest solutions is to use a library like [React Native Payments](https://github.com/appfolio/react-native-payments) to get an Apple Pay token. On initialization, any of these libraries requires you to set the Apple merchant identifier that you created in the Apple developer dashboard earlier. ```js theme={"system"} const METHOD_DATA = [{ supportedMethods: ['apple-pay'], data: { merchantIdentifier: 'merchant.com.your-app.namespace', supportedNetworks: ['visa', 'mastercard', 'amex'], countryCode: 'AU', currencyCode: 'AUD' } }]; ``` Once the user has approved the payment, your app receives an Apple Pay token from the library. You can pass this library to the server for processing. ```js theme={"system"} paymentRequest.show() .then(paymentResponse => { const { paymentData } = paymentResponse.details; return fetch('https://api.example.gr4vy.app/transactions', { method: 'POST', headers: { "Authorization": "Bearer [TOKEN]" }, body: { amount: 1299, currency: "AU", currency: "AUD", payment_method: { method: "applepay", token: paymentData } } }) .then(res => res.json()) .then(successHandler) .catch(errorHandler) }); ``` ## Common Issues There could be many reasons why this doesn't show. * Make sure the merchant ID is the same as shown in the dashboard * Make sure the certificate isn't expire * Make sure an Apple account is set up on the device and cards are added to it * Make sure the system is set up to handle Apple Pay * Check the Apple Pay connection is enabled * Check a card connector is enabled for the selected country/currency * Check that a Flow rule doesn't hide Apple Pay There could be a few reasons why this doesn't show but most likely this means the card was sent to a connector that either doesn't understand Apple Pay cards, or did not recognize the test card. This seems to happen at times with the test cards provided by Apple. Try a different card, or try again later. [documentation]: https://developer.apple.com/documentation/passkit/apple_pay/offering_apple_pay_in_your_app # Apple Pay Source: https://docs.gr4vy.com/guides/features/apple-pay/overview Apple Pay Apple Pay is supported both on the web and in iOS apps. In both environments, Apple Pay can be integrated using the SDK and without the SDK. ## Prerequisites To enable Apple Pay transactions, the system is directly integrated with Apple. As a result, it transmits decoded device tokens to payment services instead of encrypted gateway tokens. Please note that not all payment services support decoded Apple Pay tokens, and they may require this feature to be activated. Contacting your payment service provider to enable this feature is recommended. ## Web (Embed) On the web, Apple Pay can be easily integrated both with and without Embed. In both offerings, the need to sign up for an Apple Developer account has been removed, reducing additional financial and maintenance costs. | | [Using SDK (Embed)][web] | [Without SDK][web-without] | | --------------------------------- | ------------------------ | -------------------------- | | Apple Developer account required? | No | No | | Apple merchant account required? | No | No | | Customization & Theming? | Limited | Full | | Domain association required? | Yes | Yes | | Integrated with Checkout Flow? | Yes | Optional | ## Mobile (iOS) On mobile apps, Apple Pay can be easily integrated both with and without the SDK. In both offerings, signing up for an Apple Developer account and creating an Apple merchant ID and processing certificate is required. | | [Using SDK][mobile] | [Without SDK][mobile-without] | | --------------------------------- | ------------------- | ----------------------------- | | Apple Developer account required? | Yes | Yes | | Apple merchant account required? | Yes | Yes | | Customization & Theming? | Limited | Full | | Domain association required? | No | No | | Integrated with Checkout Flow? | Yes | Optional | ## Recurring payments Recurring payments are supported on Apple Pay in a similar way to how [recurring payments][recurring-payments] are supported regular card payments. To facilitate recurring Apple Pay payments, your payment service provider needs to support decoded Apple Pay tokens as well as recurring payment flags. Please contact your payment service provider to enable this feature. [web]: /guides/features/apple-pay/web [web-without]: /guides/features/apple-pay/web-without-sdk [mobile]: /guides/features/apple-pay/ios [mobile-without]: /guides/features/apple-pay/ios-without-sdk [recurring-payments]: /guides/features/recurring-payments # Apple Pay on web with Embed Source: https://docs.gr4vy.com/guides/features/apple-pay/web Apple Pay is the faster, more secure way to pay online using cards saved on your customer's Apple device. Apple Pay is supported out of the box in Embed with minimal configuration. ## About this integration Embed requires minimal configuration to get set up to process Apple Pay. Unlike some other integrations it does not require you to sign up for an Apple Pay Developer account. * Upload the **Domain Association File** to your website. * Enable Apple Pay in your merchant dashboard. ## Enable Apple Pay To enable Apple Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Apple Pay**. Next, complete, and submit the form to create a new Apple Pay service. ### Registering a domain To process Apple Pay via the web, register all the domains where the buyer can checkout. To do this, navigate to the Apple Pay service via the dashboard, **Connections** -> **Apple Pay** -> **Domains** -> **Add domain name**. **Domain Association File** Before submitting a domain name, please download the Domain Association File from the dashboard and upload it to every domain you wish to support. The file needs to be added to every domain in a predefined location. ``` https://{domain}/.well-known/apple-developer-merchantid-domain-association ``` This file is checked by Apple in the production environment to verify that permission has been granted to perform Apple Pay transactions on the dashboard. ## Test Apple Pay Apple has an extensive [guide on sandbox testing](https://developer.apple.com/apple-pay/sandbox-testing/). Apple Pay requires a **Sandbox Tester** account to be able to test transactions in the sandbox. Sandbox Testers can add fake test cards to their account that can then be used in Apple Pay. When a Sandbox Tester account is used in production, Apple Pay may fail for various reasons. Similarly, when a regular Apple account is configured on a Mac or iPhone, Apple Pay may fail to load the payment sheet. This may result in the Apple Pay UI quickly appearing and then disappearing. ### Create a sandbox tester account A sandbox tester account can be set up in the [**User and Access section**](https://appstoreconnect.apple.com/access/users/sandbox) of a Apple Developer account. If you do not have an Apple Developer account please contact support and they can set you up with a Sandbox Tester account under an Apple Developer account. To set up an account the following details are needed. * **First and last name**: This can be anything really but using the person's full name is recommended. * **email:** This needs to be a real email address that is not already an Apple account. This needs to be an email that can receive actual emails. * **App Store Country or Region:** This can help with any locale testing. ### Setup on device Once set up, a sandbox tester account can be added to a Mac or iPhone. Sign in to iCloud with the sandbox tester on macOS (or iOS). Sign out of the existing iCloud account and sign in specifically with the sandbox account. This allows you to register the sandbox cards in the Apple Wallet. On a Mac, it helps to create a second user account so that you don't need to log out of your own iCloud account every time you need to test Apple Pay. One caveat is that only 1 Apple account per Mac can be used to store cards in the vault, so you'd not be able to use Apple Pay in your own account. ### Add test cards Next, add a test card from the [Apple Pay docs](https://developer.apple.com/apple-pay/sandbox-testing/). On a Mac this can be done by going to **System Preferences** -> **Wallet & Apple Pay** -> **Add card**. Apple Pay - Add card ### Create sandbox transaction To make an Apple Pay sandbox transaction the following are required. * An Apple Pay compatible device with a Sandbox Tester account on it * One or more test cards added to the Sandbox Tester account on that device * Embed loaded on an HTTPS site in an Apple Pay compatible browser * Apple Pay enabled in the dashboard * A card processor enabled that can process Apple Pay in the given currency. For a currency that has a card processor that supports Apple Pay, the payment option should appear in the app. Select Apple Pay and continue with the payment. The Apple Pay sheet should appear. Apple Pay - Add card ### Create production transaction To make an Apple Pay transaction in production replace the Sandbox Tester account with a regular Apple account with real cards. ## Third-party browsers support Users can shop with Apple Pay on devices other than Macs and in third-party browsers. Embed supports this feature by automatically injecting the Apple Pay JS SDK when needed and offering the Apple Pay option in such scenarios if the feature is supported. On submit, a popup displays asking users to scan a code with their iOS 18+ device and complete the payment there. Third-party browser popup Embed attempts cross-browser Apple Pay under certain conditions only. * If `window.ApplePaySession` is not already defined. This property is typically already defined in Safari browsers on a Mac, or when the Apple Pay JS SDK is already loaded directly outside of Embed. * If the script is loaded successfully. In case of errors (network errors, missing resource, etc), or if the script takes too long to load, Embed won't show the option. Embed logs some information about the Apple Pay JS SDK status when loaded in `debug` mode. For example, when the SDK is loaded correctly: ``` Gr4vy - Apple Pay JS SDK loaded { version: '1.latest' } ``` Loading times can be optimized by adding the script to the head section of the site: ``` ``` **Content Security Policy** Make sure to allow the Apple Pay JS SDK domain in the CSP if using one, otherwise the script won't load and Embed won't show the Apple Pay option in third-party browsers: ``` default-src 'self' applepay.cdn-apple.com ...; script-src 'self' applepay.cdn-apple.com ... ``` Please see the [Pay with Apple Pay in third-party browsers documentation](https://support.apple.com/en-jo/guide/safari/ibrw9b779bd3/mac) for more information. ## Apple Pay inside an iframe Apple Pay works when your checkout page sits inside an iframe, but it needs extra configuration. Each merchant session is tied to a domain, and that domain has to be the **top level** page, the one shown in the browser's address bar, rather than the frame the payment is requested from. Skip this section if your checkout page is the top level page. A mismatched domain is not rejected when the merchant session is created. The call to [`POST /digital-wallets/apple/session`](/reference/digital-wallets/get-apple-pay-session) succeeds, the Apple Pay sheet opens, the buyer authorizes the payment, and only then does it fail with a "Payment Not Completed" message. No payment is taken, but nothing looks wrong until the buyer has already authorized it. ### Allow payments in the iframe Add `allow="payment"` to the iframe that contains your checkout page. ```html theme={"system"} ``` Without it the browser blocks the payment request, so the Apple Pay button either does not appear or the sheet cannot open. This is required on Safari 17 and iOS 17 and later. Permission is delegated one level at a time, so where your checkout page sits more than one iframe deep, **every** iframe in the chain needs the attribute. Missing it on a single ancestor blocks the payment, even when the outer frames carry it. The permission is bound to the origin it was granted for, and `allow="payment"` grants it to the origin of the iframe `src`. If the framed page then navigates to a **different** origin, the permission stops applying, and Apple Pay disappears. A sign-in or SSO redirect that returns to another domain is the usual way this happens, and it is easy to miss because the frame still looks the same. The browser reports this as `SecurityError: Third-party iframes are not allowed to request payments unless explicitly allowed via Feature-Policy (payment)`. Keep the framed page on one origin for the whole checkout. Where it genuinely has to move between origins, name each one: ```html theme={"system"} ``` ### Register the top level domain [Register the domain of the top level page](/guides/features/apple-pay/web#registering-a-domain) for Apple Pay, and upload the domain association file to it, as you would for any other checkout domain. ### Send the top level domain The domain sent when the merchant session is created has to be that same top level domain. This is the step most often missed, and registering the domain without sending it fails in exactly the same way as sending it without registering. When using Embed, set the [`topLevelDomain` option](/guides/payments/embed/options). ```js theme={"system"} gr4vy.setup({ // ... topLevelDomain: "shop.example.com", }); ``` When calling the API directly, send it as `domain_name` rather than deriving it from `document.location`, which resolves to the frame's own domain. ```js theme={"system"} body: JSON.stringify({ validation_url: event.validationURL, domain_name: "shop.example.com", }), ``` Every domain in the chain must be served over HTTPS with a valid certificate. ## Common issues There could be many reasons why this doesn't show. * Make sure you are using an [Apple Pay compatible browser and device](https://support.apple.com/en-gb/102896) * Make sure an Apple account is set up on the device and cards are added to it * Make sure the system is set up to handle Apple Pay * Check the Apple Pay connection is enabled * Check the Apple Pay connection is set up to handle transactions on the domain you're testing on * Check a card connector is enabled for the selected country/currency * Check that a Flow rule doesn't hide Apple Pay There could be a few reasons why this doesn't show but most likely this means the card was sent to a connector that either doesn't understand Apple Pay cards, or did not recognize the test card. This seems to happen at times with the test cards provided by Apple. Try a different card, or try again later. When using a real card in a sandbox environment, Apple Pay fails to initialize. This results in the Apple Pay UI quickly appearing and then disappearing. The reason for this happening is that the validation URL generated by Apple Pay is rejected by the [`POST /digital-wallets/apple/session`](/reference/digital-wallets/get-apple-pay-session) endpoint. Please only use [test cards](./testing) in the sandbox environment. If the Apple Pay dialog shows but closes automatically with a "Payment Not Completed" message, check whether your checkout page is inside an iframe. The merchant session is tied to a domain, and that domain has to be the top level page, so a nested checkout page needs the top level domain registered and sent when the session is created. See [Apple Pay inside an iframe](#apple-pay-inside-an-iframe) for the configuration this requires. # Apple Pay on web without Embed Source: https://docs.gr4vy.com/guides/features/apple-pay/web-without-sdk It is possible to use Apple Pay on the web without the SDK. To learn how to integrate Apple Pay, following Apple's [documentation][documentation] is recommended. The steps below highlight the basics and focus on the interaction with the API. A full [code sample is available](https://github.com/gr4vy/sample-standalone-apple-pay) that shows this integration in action. ## About this integration Similar to the standard Embed integration, there is minimal configuration to get set up to process Apple Pay on the web. There is no need to sign up for an Apple Developer account with this integration. * Upload the **Domain Association File** to your website. * Enable Apple Pay in your merchant dashboard. Additionally, you then need to implement the following. * Load the Apple Pay JS SDK. * Render an Apple Pay button. * Handle the click of the button. * Verify the Apple Pay session. * Catch the Apple Pay token and pass it to the API for processing. ## Enable Apple Pay To enable Apple Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Apple Pay**. Next, complete, and submit the form to create a new Apple Pay service. ### Registering a domain To process Apple Pay via the web, register all the domains where the buyer can checkout. To do this, navigate to the Apple Pay service via the dashboard, **Connections** -> **Apple Pay** -> **Domains** -> **Add domain name**. **Domain Association File** Before submitting a domain name, please download the Domain Association File from the dashboard and upload it to every domain you wish to support. The file needs to be added to every domain in a predefined location. ``` https://{domain}/.well-known/apple-developer-merchantid-domain-association ``` This file is checked by Apple in the production environment to verify that permission has been granted to perform Apple Pay transactions on your dashboard. ## Integrate Apple Pay ### Load the Apple Pay JS SDK Since iOS 18, users can shop with Apple Pay on devices other than Macs and non-Safari browsers. On submit, a popup displays asking users to scan a code with their iOS 18+ device and complete the payment there. Third-party browser popup To enable Apple Pay in browsers besides Safari, load the Apple Pay JS SDK into the app. It is safe to load this same library in Safari as well. ```html theme={"system"} ``` #### Content Security Policy Make sure to allow the Apple Pay JS SDK domain in your CSP if you're using one; otherwise, the script does not load and the Apple Pay option does not show in third-party browsers. ``` default-src 'self' applepay.cdn-apple.com ...; script-src 'self' applepay.cdn-apple.com ... ``` Please see the [Pay with Apple Pay in third-party browsers documentation](https://support.apple.com/en-jo/guide/safari/ibrw9b779bd3/mac) for more information. ### Render an Apple Pay button An Apple Pay button can be displayed and customized [with Apple specific CSS](https://developer.apple.com/documentation/apple_pay_on_the_web/displaying_apple_pay_buttons_using_css). ```html theme={"system"} ``` ### Handle button click When a button is clicked, start an [Apple Pay Session](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/creating_an_apple_pay_session). ```js theme={"system"} const onClick = async () => { const session = new ApplePaySession(3, { countryCode: 'AU', currencyCode: 'AUD', merchantCapabilities: ["supports3DS"], supportedNetworks: ["visa", "masterCard", "amex", "discover"], total: { label: "Demo (Card is not charged)", type: "final", amount: '12.99', }, }); ... session.begin(); }; ``` ### Verify session Next, this is the bit that's specific to the API. Make an API call to the Apple Pay session endpoint to verify the Apple Pay session for your domain. This checks if accepting Apple Pay on your domain is allowed. For this to work it's important to [register the domain](/guides/features/apple-pay/web#enabling-apple-pay) your domain for use with Apple Pay in the dashboard. ```js theme={"system"} ... session.onvalidatemerchant = async (event) => { const response = await fetch(`http://api.sandbox.example.gr4vy.app/digital-wallets/apple/session`, { method: "POST", headers: { "Authorization": `bearer [JWT]`, "Content-Type": "application/json", }, body: JSON.stringify({ validation_url: event.validationURL, domain_name: document.location.hostname, }), }); const merchantSession = await response.json(); session.completeMerchantValidation(merchantSession); }; session.begin(); ``` When using a real card in a sandbox environment, the validation URL is rejected by the [`POST /digital-wallets/apple/session`](/reference/digital-wallets/get-apple-pay-session) endpoint. Please only use test cards in the sandbox environment. ### Create a transaction Finally, once the Apple Pay transaction has been authorized by Apple, create a transaction with the API. This API call could be made in your frontend code, or the token could be sent to your backend for processing. ```js theme={"system"} session.onpaymentauthorized = (event) => { await fetch(`http://api.sandbox.example.gr4vy.app/transactions`, { method: "POST", headers: { "Authorization": `bearer [JWT]`, "Content-Type": "application/json", }, body: JSON.stringify({ amount: 1299, currency: "AUD", country: "AU", payment_method: { method: "applepay", token: event.payment.token, }, }), }); session.completePayment({ status: ApplePaySession.STATUS_SUCCESS, }); }; session.begin(); ``` ## Apple Pay inside an iframe Apple Pay works when your checkout page sits inside an iframe, but it needs extra configuration. Each merchant session is tied to a domain, and that domain has to be the **top level** page, the one shown in the browser's address bar, rather than the frame the payment is requested from. Skip this section if your checkout page is the top level page. A mismatched domain is not rejected when the merchant session is created. The call to [`POST /digital-wallets/apple/session`](/reference/digital-wallets/get-apple-pay-session) succeeds, the Apple Pay sheet opens, the buyer authorizes the payment, and only then does it fail with a "Payment Not Completed" message. No payment is taken, but nothing looks wrong until the buyer has already authorized it. ### Allow payments in the iframe Add `allow="payment"` to the iframe that contains your checkout page. ```html theme={"system"} ``` Without it the browser blocks the payment request, so the Apple Pay button either does not appear or the sheet cannot open. This is required on Safari 17 and iOS 17 and later. Permission is delegated one level at a time, so where your checkout page sits more than one iframe deep, **every** iframe in the chain needs the attribute. Missing it on a single ancestor blocks the payment, even when the outer frames carry it. The permission is bound to the origin it was granted for, and `allow="payment"` grants it to the origin of the iframe `src`. If the framed page then navigates to a **different** origin, the permission stops applying, and Apple Pay disappears. A sign-in or SSO redirect that returns to another domain is the usual way this happens, and it is easy to miss because the frame still looks the same. The browser reports this as `SecurityError: Third-party iframes are not allowed to request payments unless explicitly allowed via Feature-Policy (payment)`. Keep the framed page on one origin for the whole checkout. Where it genuinely has to move between origins, name each one: ```html theme={"system"} ``` ### Register the top level domain [Register the domain of the top level page](/guides/features/apple-pay/web#registering-a-domain) for Apple Pay, and upload the domain association file to it, as you would for any other checkout domain. ### Send the top level domain The domain sent when the merchant session is created has to be that same top level domain. This is the step most often missed, and registering the domain without sending it fails in exactly the same way as sending it without registering. When using Embed, set the [`topLevelDomain` option](/guides/payments/embed/options). ```js theme={"system"} gr4vy.setup({ // ... topLevelDomain: "shop.example.com", }); ``` When calling the API directly, send it as `domain_name` rather than deriving it from `document.location`, which resolves to the frame's own domain. ```js theme={"system"} body: JSON.stringify({ validation_url: event.validationURL, domain_name: "shop.example.com", }), ``` Every domain in the chain must be served over HTTPS with a valid certificate. ## Common issues There could be many reasons why this doesn't show. * Make sure you are using an [Apple Pay compatible browser and device](https://support.apple.com/en-gb/102896) * Make sure an Apple account is set up on the device and cards are added to it * Make sure the system is set up to handle Apple Pay * Check the Apple Pay connection is enabled * Check the Apple Pay connection is set up to handle transactions on the domain you're testing on * Check a card connector is enabled for the selected country/currency * Check that a Flow rule doesn't hide Apple Pay There could be a few reasons why this doesn't show but most likely this means the card was sent to a connector that either doesn't understand Apple Pay cards, or did not recognize the test card. This seems to happen at times with the test cards provided by Apple. Try a different card, or try again later. When using a real card in a sandbox environment, Apple Pay fails to initialize. This results in the Apple Pay UI quickly appearing and then disappearing. The reason for this happening is that the validation URL generated by Apple Pay is rejected by the [`POST /digital-wallets/apple/session`](/reference/digital-wallets/get-apple-pay-session) endpoint. Please only use [test cards](./testing) in the sandbox environment. If the Apple Pay dialog shows but closes automatically with a "Payment Not Completed" message, check whether your checkout page is inside an iframe. The merchant session is tied to a domain, and that domain has to be the top level page, so a nested checkout page needs the top level domain registered and sent when the session is created. See [Apple Pay inside an iframe](#apple-pay-inside-an-iframe) for the configuration this requires. [documentation]: https://developer.apple.com/documentation/apple_pay_on_the_web/ # Card fingerprints Source: https://docs.gr4vy.com/guides/features/cards/fingerprints A unique hash for every card in the vault A card fingerprint can be used to seamlessly identify card numbers stored in your vault without the burden of PCI compliance. Key features of card fingerprints. * Secure and irreversible fingerprint generation for every card received by the system * Inclusion of fingerprint values in API responses wherever payment methods are returned, ensuring seamless integration with your system ## Use-cases There are a few use cases for card fingerprints. 1. Identifying fraud: Because the API does not return the original raw card number back via the API, it's hard to know if a card has been used previously in a fraudulent transaction. For example, two transactions with the same masked card number of `4111 11** **** 1111` could be the same number or two different numbers. 2. Identifying duplicate cards: Similarly, you could use the card fingerprint to determine if the same card is stored twice for a user without needing to see the original number. ## Availability & limitations A card `fingerprint` is returned for every `payment_method` returned by the API. Fingerprints are the same for every unique card number used. Because of this, payments made with Apple Pay, Click to Pay, and some Google Pay have a different fingerprint than cards filled in by hand by your customers. ## Comparison to PAR [PAR](./payment-account-reference.mdx) and fingerprints go hand in hand to detect duplicate and fraudulent cards. * PAR has limited availability and depends on the data received back from the payment service, while card fingerprints are available for every card transaction * PARs represent the underlying account, while a fingerprint represents the actual card number. As a result, the fingerprint is different when using a digital wallet like Apple Pay or Google Pay. # Payment account references Source: https://docs.gr4vy.com/guides/features/cards/payment-account-reference A unique ID for the account behind the card The Payment Account Reference (PAR) is a unique identifier assigned to the underlying account for which a card is used. This PAR is generally the same for different cards tied to the same bank account. For example, the number on a physical card, a virtual card for the same account, a network token, and an Apple or Google Pay token would all have the same PAR. This also applies to updated cards that have changed the card number due to the card expiring or being lost. ## Use-cases There are a few use cases for PARs. 1. Identifying fraud: Because the API does not return the original raw card number back via the API, it's hard to know if a card has been used previously in a fraudulent transaction. For example, two transactions with the same masked card number of `4111 11** **** 1111` could be the same number or two different numbers. 2. Identifying duplicate cards: Similarly, you could use the PAR to determine if the same card is stored twice for a user without needing to see the original number. ## Availability The availability of a PAR depends on a few factors. Firstly, the payment service needs to return the PAR to the system. Secondly, the connector needs to be implemented to pick up the PAR and return it back. When available, the `payment_account_reference` field is returned as part of any `payment_method` on a [transaction](/reference/transactions/list-transactions), Please reach out to support if the preferred connector does not yet have PAR enabled. ## Comparison to fingerprints [Fingerprints](./fingerprints.mdx) and PARs go hand in hand to detect duplicate and fraudulent cards. * PAR has limited availability and depends on the data received back from the payment service, while card fingerprints are available for every card transaction * PARs represent the underlying account, while a fingerprint represents the actual card number. As a result, the fingerprint is different when using a digital wallet like Apple Pay or Google Pay. # Customer Authentication Module (CAM) Source: https://docs.gr4vy.com/guides/features/click-to-pay/cam Customer Authentication Module (CAM) is a feature provided by Mastercard's Click to Pay that adds an extra layer of security to transactions. It verifies the identity of the customer by analyzing device and behavioral data during the checkout process, reducing the risk of fraud. When CAM is enabled, it silently collects device and behavioral data in the background as the customer interacts with the checkout page. This data is used to create a risk profile for the transaction. Based on this profile, CAM determines whether the transaction is low-risk and can proceed without interruption, or if it requires additional verification. If a higher risk is detected, CAM may prompt the customer for a one-time password (OTP) or another form of step-up authentication to confirm their identity before the payment is completed. This process is designed to be as seamless as possible, only introducing friction when necessary. ## Benefits * **Enhanced Security**: Adds a robust layer of authentication to prevent fraudulent transactions. * **Reduced Friction**: Most legitimate transactions are processed without any extra steps for the customer. * **Increased Trust**: Provides customers with greater confidence that their payments are secure. ## Implementation To enable Customer Authentication Module when using Secure Fields for Click to Pay, add the `authenticate.consumer` property to your Secure Fields configuration and set it to `true`. When enabled, CAM automatically collects and analyzes data to authenticate customers during checkout, providing enhanced security without any additional integration effort. ```jsx React {9} theme={"system"} ``` ```js Node {11} theme={"system"} const clickToPay = secureFields.addClickToPay('#click-to-pay', { srcDpaId: '{SRC_DPA_ID}', dpaName: '{DPA_NAME}', dpaLocale: 'en_AU', cardBrands: ['mastercard', 'visa', 'american-express'], consentCheckbox: "#click-to-pay-consent-checkbox", learnMoreLink: "#click-to-pay-learn-more-link", cardForm: "#cc-form", signIn: "#click-to-pay-sign-in" authenticate: { consumer: true, } }) ``` ## Common issues This occurs when the 3DS acquirer configuration does not match the required values. Check the 3DS acquirer configuration and verify that the acquirer details for each card scheme are configured exactly as per the [Mastercard Unified Checkout Solutions SDK reference](https://developer.mastercard.com/unified-checkout-solutions/documentation/sdk-reference/parameters/#acquirer-data), listed below. **Mastercard** | Parameter | Value | | -------------------- | -------- | | Acquirer BIN | `545301` | | Acquirer Merchant ID | `SRC3DS` | | MCC | `0001` | **Visa** | Parameter | Value | | -------------------- | ---------- | | Acquirer BIN | `432104` | | Acquirer Merchant ID | `33334444` | | MCC | `0001` | On supported devices, authentication can complete with a passkey and no 3DS prompt appears. If you expect a challenge-based 3DS flow and no prompt appears, work through the following checks. **1. Check which features are enabled** In the browser developer tools, open the **Network** tab and find the request to `click-to-pay.html`. Copy the **Request URL** and URL-decode it twice. The decoded payload should include an `authenticate` block reflecting the features you have enabled: ```json theme={"system"} "authenticate": { "checkout": true, "consumer": true } ``` `authenticate.checkout` controls [TAS](/guides/features/click-to-pay/tas) and `authenticate.consumer` controls [CAM](/guides/features/click-to-pay/cam). If either value is missing or set to `false`, the feature is not enabled. **2. Check the `dynamicDataType` field** In the same decoded payload, ensure that the `dynamicDataType` field is either omitted or set to `CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM`. This configuration requests a dynamic network token, which [TAS](/guides/features/click-to-pay/tas) requires. **3. Verify `acquirer_data` is present in the acquirer response** In the **Network** tab, locate the acquirer request. The response must have values for `acquirer_data`. If there is no acquirer data, it is likely due to the checkout session initiation. Ensure the checkout session setup was created with the correct data fields. # Click to Pay Source: https://docs.gr4vy.com/guides/features/click-to-pay/overview Click to Pay is a digital payment solution that provides a streamlined and secure guest checkout experience for online shopping. Backed by major card networks including American Express, Discover, Mastercard, and Visa, it allows customers to make purchases without creating an account or manually entering their card details for every transaction. ## How it works Click to Pay simplifies the checkout process by maintaining a secure payment profile for customers across different merchants. The typical checkout flow is: 1. The customer enters their email address at checkout. 2. Click to Pay recognizes the customer and prompts them to authenticate. 3. Once authenticated, the customer can select from their saved cards. 4. The payment is completed using a secure network token, without exposing sensitive card information. ## Benefits of Click to Pay Integrating Click to Pay offers several advantages: * **Increased Conversion**: A faster and more convenient checkout process leads to higher conversion rates and reduced cart abandonment. * **Enhanced Security**: Payments are processed using network tokens, reducing the risk of fraud and data breaches. * **Improved Customer Experience**: Customers no longer need to remember passwords or manually enter card details for each purchase. * **Cross-Merchant Recognition**: Once enrolled, customers can use Click to Pay across any participating merchant. ## Advanced security features Click to Pay supports additional security features that can be enabled to further enhance transaction security and improve the customer experience: ### Token Authentication Service Token Authentication Service generates a cryptogram that authenticates payment tokens during checkout, providing EMV-level security for online transactions. TAS can replace traditional 3-D Secure flows, eliminating redirect steps while maintaining strong authentication. On supported devices, TAS leverages passkeys for biometric authentication. [Learn more about TAS →](./tas) ### Customer Authentication Module Customer Authentication Module analyzes device and behavioral data to create a risk profile for each transaction. It silently authenticates most legitimate transactions without friction, only prompting for step-up authentication (like OTP) when higher risk is detected. [Learn more about CAM →](./cam) ## Click to Pay with Secure Fields The platform makes it easy to add Click to Pay to your checkout flow through Secure Fields. When a customer's email is recognized as being enrolled in Click to Pay, the option is automatically presented to them, providing a seamless and secure payment experience. For detailed implementation instructions, read the [setup guide](./setup). For a practical implementation guide, check out the [Click to Pay sample repository](https://github.com/gr4vy/sample-standalone-click-to-pay). # Click to Pay Setup Source: https://docs.gr4vy.com/guides/features/click-to-pay/setup ## Merchant setup To process Click to Pay payments, register as a Digital Payments Application (DPA). Set up Click to Pay in the Connections dashboard which automatically registers and configures the DPA with Mastercard. ## Prepare the server Before loading Click to Pay with Secure Fields into the checkout, generate a checkout session via the API. This is made easy with the server-side SDKs. ### Install a server-side SDK Use the package manager in the preferred programming language to install the server-side SDK. Generating a checkout session can only be done server side and doing this client side is not recommended as it exposes the API key to customers. ```sh C# theme={"system"} dotnet add package Gr4vy ``` ```sh Go theme={"system"} go get github.com/gr4vy/gr4vy-go ``` ```sh Java theme={"system"} # Please check for the latest version implementation 'com.gr4vy:sdk:1.0.0' ``` ```sh PHP theme={"system"} composer require "gr4vy/gr4vy-php" ``` ```sh Python theme={"system"} pip install gr4vy ``` ```sh TypeScript theme={"system"} npm install @gr4vy/sdk # or: yarn add @gr4vy/sdk ``` Please install the [latest release](/guides/get-started#sdks-and-plugins) of the preferred SDK. ### Initialize the SDK client Next, initialize the SDK with the ID of the instance and the private key. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; using System.Collections.Generic; // Loaded the key from a file, env variable, // or anywhere else var privateKey = "..."; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); ``` ```go Go theme={"system"} package main import ( "context" gr4vy "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/operations" "log" "os" ) func main() { ctx := context.Background() privateKey := "...." // Private key loaded from disk or env var withToken := gr4vy.WithToken(privateKey, []JWTScope{ReadAll, WriteAll}, 60) s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithSecuritySource(withToken), gr4vy.WithMerchantAccountID("default"), ) } ``` ```java Java theme={"system"} package hello.world; import com.gr4vy.sdk.BearerSecuritySource; import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.Gr4vy.AvailableServers; import com.gr4vy.sdk.models.components.AccountUpdaterJobCreate; import com.gr4vy.sdk.models.errors.*; import com.gr4vy.sdk.models.operations.ListTransactionsRequest; import java.lang.Exception; import java.util.List; public class Application { public static void main(String[] args) throws Exception { String privateKey = "-----BEGIN PRIVATE KEY-----\n...."; // a valid private key Gr4vy sdk = Gr4vy.builder() .id("example") .server(AvailableServers.SANDBOX) .merchantAccountId("default") .securitySource(new BearerSecuritySource.Builder(privateKey).build()) .build(); } } ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; // Loaded the key from a file, env variable, // or anywhere else $privateKey = "..."; $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth import os client = Gr4vy( id="example", server="production", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) ``` ```ts TypeScript theme={"system"} import fs from "fs"; import { Gr4vy, withToken } from "@gr4vy/sdk"; const gr4vy = new Gr4vy({ server: "sandbox", id: "example", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); ``` This SDK needs to be initialized on your server-side. Please do not expose your private key to your client-side code. This assumes the key you created in the previous step is kept in a secure location and can be loaded as a string. You could store this key in an environment variable or a secure vault. To learn more about the API authentication, and how to generate a bearer token for use without the SDKs, please see the more extensive [authentication guide](/guides/api/authentication). ### Create a Checkout Session With the SDK installed, use it to create a checkout session for use with Click to Pay. ```js Node theme={"system"} const response = await client.newCheckoutSession(); ``` ```py Python theme={"system"} response = client.create_new_checkout_session() ``` ```php PHP theme={"system"} $checkout_session = $client->newCheckoutSession() ``` ```java Java theme={"system"} CheckoutSession session = client.newCheckoutSession() ``` ```shell cURL theme={"system"} curl -i -X POST "https://api.{instance_id}.gr4vy.app/checkout-sessions" \ -H "Authorization: Bearer [JWT_TOKEN]" \ -H "Content-Type: application/json" ```
Please refer to the API reference to [learn more about our Checkout Sessions](/reference/checkout-sessions/new-checkout-session) and the additional options that can be passed when creating them. ## Create your checkout With your checkout session ready, it's time to start creating a card form that can support Click to Pay. The frontend integration is called Secure Fields and it essentially wraps each of your credit card input fields in a secure element, keeping you PCI-compliant and allowing for seamless integration with Click to Pay. For more information on Secure Fields, please see the [detailed guide](/guides/payments/secure-fields/) which covers all the available options, events, and theming customizations available. ### Install Secure Fields There are three ways to install **Secure Fields** for use with Click to Pay: either as a React library, a Node library or straight off the CDN. ```bash theme={"system"} npm install @gr4vy/secure-fields-react --save # or: yarn add @gr4vy/secure-fields-react ``` ### Initializing Secure Fields With **Secure Fields** installed it's now possible to initialize the connection to your instance. It expects the checkout session ID you created earlier. ```jsx theme={"system"} import { SecureFields } from "@gr4vy/secure-fields-react";
``` When `SecureFields` is loaded without a valid `sessionId` it will error. We recommend only loading the component if the session ID is set. ```jsx theme={"system"} {sessionId && ( ... )} ``` ### Create a card form Next, add any of the 3 individual card fields to the form. Mix and match these with custom forms, and add custom labels. Let's start by adding the form with 4 fields: the card holder's name, the card number, card expiration date, and the security code for the card. ```jsx theme={"system"} import { CardForm, CardNumber, ExpiryDate, SecurityCode, useSecureFields } from '@gr4vy/secure-fields-react' const secureFields = useSecureFields() {/* This card form will automatically hide */} { console.log('Card form visibility changed. Visible', visible) }} >
{/* You can add your own fields as well as secure fields */} {/* These are fields that will become secure fields */}
``` Each secure field should now be loaded on the page. Please see our more extensive guides on how to add [event listeners](/guides/payments/secure-fields/events) and custom [styles](/guides/payments/secure-fields/theming) to **Secure Fields**. ### Add Click to Pay Next, add the Click to Pay components to show and hide their UI on demand. ```jsx theme={"system"} import { ClickToPay, ClickToPaySignIn } from '@gr4vy/secure-fields-react' {/* The main Click to Pay component */} {/* An optional sign-in with email or phone for Click to Pay would go here */} {/* This shows how to sign in with email. For the mobile number use the `mobileNumber` with a `countryCode` and `number` */} {/* ... */} {/* ... */} ``` Secure Fields will automatically display and hide the Click to Pay Component, the sign in form, and your card form, based on the status of Click to Pay. ### Handle form submission Once the data has been submitted, use the `onCardVaultSuccess` property on the `SecureFields` component to create a transaction. ```tsx theme={"system"} { // call your API }} >... ``` For more information on Secure Fields, please see our [detailed guide](/guides/payments/secure-fields/) which will cover all the available options, events, and theming customizations available. ```bash Node theme={"system"} npm install @gr4vy/secure-fields --save # or: yarn add @gr4vy/secure-fields ``` ```html CDN theme={"system"} ``` When using the CDN the latest version of the library is always pulled straight from the server for every request. ### Initializing Secure Fields With **Secure Fields** installed it's now possible to initialize the connection to your instance. It expects the checkout session ID you created earlier. ```js theme={"system"} import SecureFields from "@gr4vy/secure-fields"; // set up the environment const gr4vyId = "example"; const environment = "sandbox"; const sessionId="8e2adc90-681d-442b-acd4-2d5182e62c72" // initialize the SDK const secureFields = new SecureFields({ gr4vyId, environment, sessionId, }); // enable debugging secureFields.setDebug(true); ``` ### Create a card form Next, add any of the 3 individual card fields to the form. Mix and match these with custom forms, and add custom labels. Let's start by adding the form with 4 fields: the card holder's name, the card number, card expiration date, and the security code for the card. ```html theme={"system"} Pay ``` It is important to add all the card inputs including the number, expiration date, and security code. Without each of these fields, a transaction can not be processed. Additional inputs can be added to your form but they will not be handled by our library. Next, initialize each of the inputs as a secure field. ```js theme={"system"} // Add fields using a querySelector compatible string const number = secureFields.addCardNumberField("#cc-number", { placeholder: "Enter card number", }); const securityCode = secureFields.addSecurityCodeField("#cc-security-code", { placeholder: "Enter CVV", }); // Alternatively an HTML element can be passed directly const expiryDate = secureFields.addExpiryDateField( document.querySelector("#cc-expiry-date"), { placeholder: "Enter expiry date", } ); ``` This example replaces each of the `` fields for the card form with a new PCI secure field. It's worth noting that we did not attach a secure field for the card holder name, instead, this field will remain a regular HTML input Every field that Secure Field is attached to needs to be an HTML element. In this case, we attached the fields to `` fields. The fields can be attached to any element using a `querySelector`-compatible query. Each secure field should now be loaded on the page. Please see our more extensive guides on how to add [event listeners](/guides/payments/secure-fields/events) and custom [styles](/guides/payments/secure-fields/theming) to **Secure Fields**. ### Add Click to Pay Next, add a placeholder component to your form so we know where to render the Click to Pay component. Additionally, add a checkbox to allow a customer not already enrolled to determine if they want to share the card data with Click to Pay or not. Finally, add the rest of the Click to Pay components to show and hide their UI on demand. ```html theme={"system"}
``` Next, attach the secure field for Click to Pay to this element. This will require an HTML query for the consent checkbox that controls if the card data for a new card is shared with Click to Pay or not. Next to the consent label, add a link to let users learn more about Click to Pay. References to the card form and sign in HTML containers you added previously are also required. ```js theme={"system"} const clickToPay = secureFields.addClickToPay('#click-to-pay', { srcDpaId: '{SRC_DPA_ID}', dpaName: '{DPA_NAME}', dpaLocale: 'en_AU', cardBrands: ['mastercard', 'visa', 'american-express'], consentCheckbox: "#click-to-pay-consent-checkbox", learnMoreLink: "#click-to-pay-learn-more-link", cardForm: "#cc-form", signIn: "#click-to-pay-sign-in" // email: 'john@example.com', // optional: define a Click to Pay user e-mail instead of capturing it with the sign-in form /* mobileNumber: { countryCode: "61", phoneNumber: "491570159" }, */ // optional: define a Click to Pay user phone instead of capturing it with the sign-in form }) ``` Secure Fields will automatically display and hide the Click to Pay Component, the sign in form, and your card form, based on the status of Click to Pay. ### Handle form submission To handle a form submission, listen to the submission of the `
` element or a click of the submit button. Then prevent the default behavior and submit Secure Fields. This will instruct the fields to post the card data (regular, or Click to Pay) to the API. ```js theme={"system"} document.querySelector('#cc-form').addEventListener( "submit", (e) => { e.preventDefault() secureFields.submit() } ) ``` Once the data has been submitted, use the `secureFields` object to listen to the card data being successfully, or unsuccessfully vaulted. ```js theme={"system"} secureFields.addEventListener( SecureFields.Events.CARD_VAULT_SUCCESS, () => { // Make an API call to your server to complete the transaction } ) secureFields.addEventListener( SecureFields.Events.CARD_VAULT_FAILURE, () => { // Handle the inability to store the card data } ) ``` In the case of a single-page app, it might be useful to unload any of the event listeners when the form is unloaded. ## Create a payment With the card data stored in the vault, create a transaction on the server-side. To create a transaction, pass the amount, currency, as well as the payment method, in this case a checkout session. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 1299, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate( new CheckoutSessionWithUrlPaymentMethodCreate() { Id = checkoutSession.Id, } ), } ); ``` ```go Go theme={"system"} amount := int64(1299) currency := "USD" checkoutSessionWithURLPaymentMethodCreate := components.CheckoutSessionWithURLPaymentMethodCreate{ ID: checkoutSession.ID, } paymentMethod := components.CreateTransactionCreatePaymentMethodCheckoutSessionWithURLPaymentMethodCreate(checkoutSessionWithURLPaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: amount, Currency: currency, PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil) // handle response ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(1299L) .currency("USD") .paymentMethod(TransactionCreatePaymentMethod.of(CheckoutSessionWithUrlPaymentMethodCreate.builder() .id(checkoutSession.id()) .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); // handle response ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate(amount: 1299, currency: 'USD', paymentMethod: new CheckoutSessionWithUrlPaymentMethodCreate(id: $checkoutSession->id)); $response = self::$sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction: models.Transaction = client.transactions.create( amount=1299, currency="USD", payment_method={ "method": "checkout-session", "id": checkout_session.id, } ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 1299, currency: "USD", paymentMethod: { method: "checkout-session", id: checkoutSession.id } }) ``` The returned transaction includes details about the payment method used, and the status of the transaction. ```json Response theme={"system"} { "type": "transaction", "id": "fe26475d-ec3e-4884-9553-f7356683f7f9", "status": "authentication_succeeded", "amount": 1299, "currency": "AUD", "payment_method": { "type": "payment-method", "id": "77a76f7e-d2de-4bbc-ada9-d6a0015e6bd5", "method": "card", "scheme": "visa", "expiration_date": "07/24", ... }, ... } ``` ### Client-side vs server-side A transaction should be created server-side instead of client-side, as there are many reasons why a success message may never reach your server, leaving you in a state where it's unclear if your transaction has succeeded. ## Error handling The available error codes for Click to Pay are as follows. It is recommended to catch and handle Click to Pay errors as required. * `CODE_INVALID` - The user entered an incorrect OTP. An error message is also displayed on the OTP component. * `INVALID_CARD` - The user entered incorrect card details, or the details of a card that is not one of the supported schemes. * `ACCT_INACCESSIBLE` - The user's account is temporarily not accessible. * `USER_NOT_RECOGNIZED` - The user is not recognized by Click to Pay (typically when a user hasn't signed in yet). * `UNKNOWN` - An unknown error occurred. These are usually unrecoverable. For example, the Click to Pay library was not initialized due to an invalid parameter. * `RETRIES_EXCEEDED` - The user has exceeded the maximum number of retries filling in their one-time password (OTP) and their profile is locked. An error message is also displayed in the OTP component. **It is recommended to hide the Click to Pay component for the user at this point.** * `SIGN_OUT_FAILED` - When attempting to sign out via the "Not you?" link, it is possible that Click to Pay is not able to sign out the user. **It is recommended to hide the Click to Pay component for the user at this point.** ```js theme={"system"} { if (error.code === 'RETRIES_EXCEEDED' || error.code === 'SIGN_OUT_FAILED') { // Hide the Click to Pay component setClickToPayVisible(false); } console.error(error); }} /> ``` ```js theme={"system"} secureFields.addEventListener( SecureFields.Events.CLICK_TO_PAY_ERROR, ({ error }) => { console.error(error); if ((error.code === 'RETRIES_EXCEEDED' || error.code === 'SIGN_OUT_FAILED') && clickToPay) { // Hide the Click to Pay form clickToPay.hide(); } } ) ``` ## Events The following props can be used on the `SecureFields` component to listen to specific Click to Pay events. | Name | Event | Description | | --------------------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------- | | `onMethodChange` | `METHOD_CHANGE` | Triggered when a user switches between the card and the Click to Pay payment methods. | | `onClickToPayInitialized` | `CLICK_TO_PAY_INITIALIZED` | Triggered when Click to Pay is loaded and its `init` method called successfully. | | `onClickToPayReady` | `CLICK_TO_PAY_READY` | Triggered when a Click to Pay user is identified correctly and can start using Click to Pay. | | `onClickToPaySignOut` | `CLICK_TO_PAY_SIGN_OUT` | Triggered when a Click to Pay user signs out using the "Not me" / "Not my cards" functionality. | | `onClickToPayError` | `CLICK_TO_PAY_ERROR` | See [Error Handling](#error-handling) | | `onClickToPayCancel` | `CLICK_TO_PAY_CANCEL` | Triggered when a Click to Pay user cancels the checkout process from within the UI. | | `onClickToPayCheckoutWithNewCard` | `CLICK_TO_PAY_CHECKOUT_WITH_NEW_CARD` | Triggered when a Click to Pay user starts the process of checking out with a new (not enrolled) card. | | `onClickToPayUnableToLoadDpa` | `CLICK_TO_PAY_UNABLE_TO_LOAD_DPA` | Triggered when the provided Click to Pay DPA cannot be loaded. | Additionally, you can add the prop `onVisibilityChange` to the `ClickToPay`, `ClickToPaySignIn` and `CardForm` components to listen to visibility change events (`CLICK_TO_PAY_VISIBILITY_CHANGE`, `CLICK_TO_PAY_CARD_FORM_VISIBILITY_CHANGE`, `CLICK_TO_PAY_SIGN_IN_VISIBILITY_CHANGE`). ```js theme={"system"} console.log('Card form visible', visible)} /> ``` The following Click to Pay events can be listened to by attaching an event handler to the `SecureFields` instance using the `addEventListener` method. | Name | Description | | ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | | `METHOD_CHANGE` | Triggered when a user switches between the card and the Click to Pay payment methods. | | `CLICK_TO_PAY_INITIALIZED` | Triggered when Click to Pay is loaded and its `init` method called successfully. | | `CLICK_TO_PAY_READY` | Triggered when a Click to Pay user is identified correctly and can start using Click to Pay. | | `CLICK_TO_PAY_SIGN_OUT` | Triggered when a Click to Pay user signs out using the "Not me" / "Not my cards" functionality. | | `CLICK_TO_PAY_ERROR` | See [Error Handling](#error-handling) | | `CLICK_TO_PAY_CANCEL` | Triggered when a Click to Pay user cancels the checkout process from within the UI. | | `CLICK_TO_PAY_CHECKOUT_WITH_NEW_CARD` | Triggered when a Click to Pay user starts the process of checking out with a new (not enrolled) card. | | `CLICK_TO_PAY_UNABLE_TO_LOAD_DPA` | Triggered when the provided Click to Pay DPA cannot be loaded. | | `CLICK_TO_PAY_VISIBILITY_CHANGE` | Triggered when the Click to Pay element is shown or hidden. | | `CLICK_TO_PAY_CARD_FORM_VISIBILITY_CHANGE` | Triggered when the card form container is shown or hidden. | | `CLICK_TO_PAY_SIGN_IN_VISIBILITY_CHANGE` | Triggered when the sign in container is shown or hidden. | ```js theme={"system"} // Listen for the different Click to Pay events secureFields.addEventListener( SecureFields.Events.METHOD_CHANGE, () => { console.log('Method changed'); } ) ``` ## Testing To test Click to Pay in the `sandbox` environment, use the test resources below. These sandbox environments and test cards are provided and maintained by the card networks. * [Click to Pay test cards](https://developer.mastercard.com/unified-checkout-solutions/documentation/testing/test_cases/click_to_pay_case/#test-cards) — test card numbers for Click to Pay scenarios. * [Mastercard sandbox account](https://sandbox.src.mastercard.com/profile) — manage your Mastercard Click to Pay sandbox account and enrolled cards. * [Visa sandbox account](https://sandbox.secure.checkout.visa.com/) — manage your Visa Click to Pay account and enrolled cards. ## Links **Quick start:** Secure fields **Guide:** Vault Forward **API Reference:** New checkout session **API Reference:** New transaction # Token Authentication Service (TAS) Source: https://docs.gr4vy.com/guides/features/click-to-pay/tas Token Authentication Service (TAS) is a security feature provided by Mastercard for Click to Pay transactions. TAS generates a cryptogram that authenticates the payment token during checkout, providing an additional layer of security similar to EMV chip transactions for online payments. TAS is only available for Mastercard and Visa transactions. Other card networks supported by Click to Pay (American Express and Discover) do not currently support this feature. ## How TAS works When TAS is enabled, a cryptogram is generated during the checkout process. This cryptogram is a unique, one-time code that validates the authenticity of the payment token being used. The cryptogram is sent along with the transaction to the card issuer for verification. This process happens seamlessly in the background without requiring any additional action from the customer. The cryptogram provides strong authentication that the payment token is being used by the authorized card holder, reducing the risk of fraud. On supported devices, TAS leverages passkeys (biometric authentication such as fingerprint or face recognition) to further streamline the authentication process while maintaining high security standards. When a customer authenticates with a passkey, the transaction is no longer treated as a 3-D Secure flow. The merchant no longer sees 3DS data on the transaction. Instead, it is processed as a network token transaction with a cryptogram and an Electronic Commerce Indicator (ECI) that reflects the authentication outcome. ## Benefits * **Enhanced Security**: Adds cryptographic authentication to token-based transactions, significantly reducing fraud risk. * **Higher Authorization Rates**: Issuers can approve transactions with greater confidence, leading to fewer declined payments. * **Replaces 3-D Secure**: Provides strong authentication that can replace traditional 3-D Secure (3DS) flows, eliminating redirect steps and improving conversion rates. * **Seamless Experience**: Works transparently without adding friction to the customer checkout flow. * **EMV-Level Security**: Brings chip card security standards to online and mobile transactions. ## Prerequisites TAS requires 3-D Secure to be configured at the merchant account level, not at the connection level. This is because TAS authentication occurs before transaction routing, at a point where the payment service connection has not yet been determined. To set up 3DS at the merchant account level, follow the instructions in the [3-D Secure setup guide](/guides/features/3ds/setup#merchant-account-level-configuration-beta). Make sure to configure a scheme profile for each card scheme you want to support with Click to Pay. Merchant account-level 3DS configuration is currently in beta. Please contact the support team to enable this feature for your account. ## Implementation The platform makes it simple to enable Token Authentication Service when using Secure Fields for Click to Pay. To activate TAS, add the `authenticate.checkout` property to your Secure Fields configuration and set it to `true`. When enabled, TAS automatically generates the cryptogram for each Click to Pay transaction, providing enhanced security without any additional integration effort. ```jsx React {9} theme={"system"} ``` ```js Node {11} theme={"system"} const clickToPay = secureFields.addClickToPay('#click-to-pay', { srcDpaId: '{SRC_DPA_ID}', dpaName: '{DPA_NAME}', dpaLocale: 'en_AU', cardBrands: ['mastercard', 'visa', 'american-express'], consentCheckbox: "#click-to-pay-consent-checkbox", learnMoreLink: "#click-to-pay-learn-more-link", cardForm: "#cc-form", signIn: "#click-to-pay-sign-in" authenticate: { checkout: true, } }) ``` ## Common issues This occurs when the 3DS acquirer configuration does not match the required values. Check the 3DS acquirer configuration and verify that the acquirer details for each card scheme are configured exactly as per the [Mastercard Unified Checkout Solutions SDK reference](https://developer.mastercard.com/unified-checkout-solutions/documentation/sdk-reference/parameters/#acquirer-data), listed below. **Mastercard** | Parameter | Value | | -------------------- | -------- | | Acquirer BIN | `545301` | | Acquirer Merchant ID | `SRC3DS` | | MCC | `0001` | **Visa** | Parameter | Value | | -------------------- | ---------- | | Acquirer BIN | `432104` | | Acquirer Merchant ID | `33334444` | | MCC | `0001` | On supported devices, authentication can complete with a passkey and no 3DS prompt appears. If you expect a challenge-based 3DS flow and no prompt appears, work through the following checks. **1. Check which features are enabled** In the browser developer tools, open the **Network** tab and find the request to `click-to-pay.html`. Copy the **Request URL** and URL-decode it twice. The decoded payload should include an `authenticate` block reflecting the features you have enabled: ```json theme={"system"} "authenticate": { "checkout": true, "consumer": true } ``` `authenticate.checkout` controls [TAS](/guides/features/click-to-pay/tas) and `authenticate.consumer` controls [CAM](/guides/features/click-to-pay/cam). If either value is missing or set to `false`, the feature is not enabled. **2. Check the `dynamicDataType` field** In the same decoded payload, ensure that the `dynamicDataType` field is either omitted or set to `CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM`. This configuration requests a dynamic network token, which [TAS](/guides/features/click-to-pay/tas) requires. **3. Verify `acquirer_data` is present in the acquirer response** In the **Network** tab, locate the acquirer request. The response must have values for `acquirer_data`. If there is no acquirer data, it is likely due to the checkout session initiation. Ensure the checkout session setup was created with the correct data fields. # Gift Cards Source: https://docs.gr4vy.com/guides/features/gift-cards/overview Gift card payments are supported directly through the API with support for split tender across traditional payment methods and gift cards, as well as automatic reversal. ## Setup See the [Qwikcilver][qwikcilver] and [Value Link][valuelink] connector pages for setup instructions. ## Features * **Balance checks** - Query the balance of one or more gift cards before checkout. * **Gift card-only payments** - Accept payments funded entirely by gift cards. * **Split tender** - Split a payment across one or more gift cards and a standard payment method. * **Stored gift cards** - Vault gift cards against a buyer for reuse. * **Automatic reversal** - Automatically revert all gift card charges if any single card fails. * **Virtual card issuance** - Issue a new virtual gift card through a supported gift card service. * **Physical card activation** - Activate a physical gift card, with the option to store it in the vault. ## API endpoints The API for gift cards consists of the following endpoints and API features. * [Manage gift card services](/reference/gift-card-services) * [Check gift card balances](/reference/gift-cards/list-gift-card-balances) * [Manage stored gift cards](/reference/gift-cards) and associate them with buyers * [Issue a virtual gift card](/reference/gift-cards/issue-gift-card) * [Activate a physical gift card](/reference/gift-cards/activate-gift-card) * [Enhancements to the transaction endpoints](/reference/transactions/new-transaction) to allow for payments with one or more gift cards, including the ability to split a payment across gift cards and other payment methods. ## Integration ### Check a gift card balance Before processing a payment, you can check the balance of one or more gift cards. You can query by stored gift card ID or by raw card number and PIN. ```csharp C# theme={"system"} var res = await sdk.GiftCards.Balances.ListAsync(giftCardBalanceRequest: new GiftCardBalanceRequest() { Items = new List() { Item.CreateGiftCardRequest( new GiftCardRequest() { Number = "4123455541234561234", Pin = "1234", } ), }, }); // handle response ``` ```go Go theme={"system"} res, err := s.GiftCards.Balances.List(ctx, components.GiftCardBalanceRequest{ Items: []components.Item{ components.CreateItemGiftCardRequest( components.GiftCardRequest{ Number: "4123455541234561234", Pin: "1234", }, ), }, }) if err != nil { log.Fatal(err) } if res != nil { // handle response } ``` ```java Java theme={"system"} ListGiftCardBalancesResponse res = sdk.giftCards().balances().list() .giftCardBalanceRequest(GiftCardBalanceRequest.builder() .items(List.of( Item.of(GiftCardRequest.builder() .number("4123455541234561234") .pin("1234") .build()))) .build()) .call(); if (res.giftCardSummaries().isPresent()) { System.out.println(res.giftCardSummaries().get()); } ``` ```php PHP theme={"system"} $giftCardBalanceRequest = new Gr4vy\GiftCardBalanceRequest( items: [ new Gr4vy\GiftCardRequest( number: '4123455541234561234', pin: '1234', ), ], ); $response = $sdk->giftCards->balances->list( giftCardBalanceRequest: $giftCardBalanceRequest ); if ($response->giftCardSummaries !== null) { // handle response } ``` ```python Python theme={"system"} res = g_client.gift_cards.balances.list(items=[ { "number": "4123455541234561234", "pin": "1234", }, ]) # Handle response print(res) ``` ```typescript TypeScript theme={"system"} const result = await gr4vy.giftCards.balances.list({ items: [ { number: "4123455541234561234", pin: "1234", }, ], }); console.log(result); ``` See the [balance check API reference](/reference/gift-cards/list-gift-card-balances) for the full list of request and response fields. ### Store a gift card You can store a gift card in the vault to use it in future transactions without re-entering the card details. Optionally, associate the card with a buyer. ```csharp C# theme={"system"} var res = await sdk.GiftCards.CreateAsync(giftCardCreate: new GiftCardCreate() { Number = "4123455541234561234", Pin = "1234", }); // handle response ``` ```go Go theme={"system"} res, err := s.GiftCards.Create(ctx, components.GiftCardCreate{ Number: "4123455541234561234", Pin: "1234", }) if err != nil { log.Fatal(err) } if res != nil { // handle response } ``` ```java Java theme={"system"} CreateGiftCardResponse res = sdk.giftCards().create() .giftCardCreate(GiftCardCreate.builder() .number("4123455541234561234") .pin("1234") .build()) .call(); if (res.giftCard().isPresent()) { System.out.println(res.giftCard().get()); } ``` ```php PHP theme={"system"} $giftCardCreate = new Gr4vy\GiftCardCreate( number: '4123455541234561234', pin: '1234', ); $response = $sdk->giftCards->create( giftCardCreate: $giftCardCreate ); if ($response->giftCard !== null) { // handle response } ``` ```python Python theme={"system"} res = g_client.gift_cards.create( number="4123455541234561234", pin="1234", ) # Handle response print(res) ``` ```typescript TypeScript theme={"system"} const result = await gr4vy.giftCards.create({ number: "4123455541234561234", pin: "1234", }); console.log(result); ``` See the [stored gift cards API reference](/reference/gift-cards) for managing and listing vaulted gift cards. ### Issue a virtual gift card You can issue a new virtual gift card through the primary gift card service configured on the merchant account. ```csharp C# theme={"system"} var res = await sdk.GiftCards.Issuances.CreateAsync(giftCardIssuanceCreate: new GiftCardIssuanceCreate() { Theme = "031111372", Amount = 5000, Currency = "EUR", }); // handle response ``` ```go Go theme={"system"} res, err := s.GiftCards.Issuances.Create(ctx, components.GiftCardIssuanceCreate{ Theme: "031111372", Amount: 5000, Currency: "EUR", }) if err != nil { log.Fatal(err) } if res != nil { // handle response } ``` ```java Java theme={"system"} IssueGiftCardResponse res = sdk.giftCards().issuances().create() .giftCardIssuanceCreate(GiftCardIssuanceCreate.builder() .theme("031111372") .amount(5000L) .currency("EUR") .build()) .call(); if (res.giftCardIssuance().isPresent()) { System.out.println(res.giftCardIssuance().get()); } ``` ```php PHP theme={"system"} $giftCardIssuanceCreate = new Gr4vy\GiftCardIssuanceCreate( theme: '031111372', amount: 5000, currency: 'EUR', ); $response = $sdk->giftCards->issuances->create( giftCardIssuanceCreate: $giftCardIssuanceCreate ); if ($response->giftCardIssuance !== null) { // handle response } ``` ```python Python theme={"system"} res = g_client.gift_cards.issuances.create(theme="031111372", amount=5000, currency="EUR") # Handle response print(res) ``` ```typescript TypeScript theme={"system"} const result = await gr4vy.giftCards.issuances.create({ theme: "031111372", amount: 5000, currency: "EUR", }); console.log(result); ``` The response includes a `url` for the issued gift card. The raw card number and PIN are not returned directly in the API response. If you want to store the card for future use, retrieve the card details from that URL and pass them to the [store a gift card](#store-a-gift-card) endpoint. See the [issue a gift card API reference](/reference/gift-cards/issue-gift-card) for the full list of request and response fields. ### Activate a physical gift card You can activate a physical gift card through the primary gift card service. The `pin` is optional, but if provided, it must be the correct PIN for the card. Set `store` to `true` to also store the activated gift card in the vault, optionally associating it with a buyer using `buyer_id` or `buyer_external_identifier`. A `pin` is required when `store` is `true`. ```csharp C# theme={"system"} var res = await sdk.GiftCards.Activations.CreateAsync(giftCardActivationCreate: new GiftCardActivationCreate() { Number = "4123455541234561234", }); // handle response ``` ```go Go theme={"system"} res, err := s.GiftCards.Activations.Create(ctx, components.GiftCardActivationCreate{ Number: "4123455541234561234", }) if err != nil { log.Fatal(err) } if res != nil { // handle response } ``` ```java Java theme={"system"} ActivateGiftCardResponse res = sdk.giftCards().activations().create() .giftCardActivationCreate(GiftCardActivationCreate.builder() .number("4123455541234561234") .build()) .call(); if (res.giftCard().isPresent()) { System.out.println(res.giftCard().get()); } ``` ```php PHP theme={"system"} $giftCardActivationCreate = new Gr4vy\GiftCardActivationCreate( number: '4123455541234561234', ); $response = $sdk->giftCards->activations->create( giftCardActivationCreate: $giftCardActivationCreate ); if ($response->giftCard !== null) { // handle response } ``` ```python Python theme={"system"} res = g_client.gift_cards.activations.create(number="4123455541234561234", store=False) # Handle response print(res) ``` ```typescript TypeScript theme={"system"} const result = await gr4vy.giftCards.activations.create({ number: "4123455541234561234", }); console.log(result); ``` When `store` is `true`, a `gift-card.created` [webhook](/guides/features/webhooks/events) is sent once the card has been stored. See the [activate a gift card API reference](/reference/gift-cards/activate-gift-card) for the full list of request and response fields. ## Reversals As part of processing gift cards, the ability to automatically revert an authorized payment method or redeemed gift card before it is reverted is supported. The logic for this feature is as follows. * When a transaction occurs, regular payment methods are authorized (or captured) first, depending on their support for delayed capture. * Gift cards are only redeemed after the (optional) regular payment method has succeeded to authorize/capture. * When no regular payment method is present, gift cards are always redeemed. * In the case that any of the gift cards failed to redeem, any redemptions of other gift cards and regular payments are reverted, so that no charges remain at the end. * In the case of an authorized or captured regular payment method, the transaction is reverted by either voiding the authorization or refunding a capture. In some cases, gift card redemptions are not reverted. Please see the anti-fraud section below. ### Outcome There are two fields returned by the transaction API which allows you to quickly understand if the original intent of a transaction was met. * The `multi_tender` (boolean) field indicates if the transaction included more than one tender. * The `intent_outcome` (enum) field indicates if the original intent (`authorize` / `capture`) was met. This field is set to either `pending` if the transaction has not completed yet, `succeeded` in the case all tenders were processed successfully, and `failed` if any of them failed. This field does not change value after the `succeeded` or `failed` status has been achieved, even if the transaction is subsequently captured, voided, or refunded in any way. ```json theme={"system"} { "type": "transaction", "id": "89bdaeeb-4be8-4ab7-a9e2-6f2c3da5f2d0", "intent": "capture", "multi_tender": true, "intent_outcome": "succeeded", ... } ``` ### Reversals and anti-fraud reviews There is a key difference in how reversals are handled when a transaction encounters any kind of halt in processing. This happens when the transaction is held in anti-fraud review. In these situations, if the approval fails, or if the transaction is rejected, the gift cards are **not refunded**. The reason for this is that because of the time delay between the redemption and refund the user may no longer have the gift card at hand anymore. ## Gift card usage data Each stored gift card tracks usage statistics that help you determine which card to preselect at checkout or prioritize in your UI. | Field | Description | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `last_used_at` | The date and time when this gift card was most recently used in any transaction. `null` if the gift card has not been used yet. | | `usage_count` | The number of times this gift card has been used in any transaction. | | `cit_last_used_at` | The date and time when this gift card was most recently used in a customer-initiated transaction (CIT). `null` if the gift card has not been used in a CIT yet. | | `cit_usage_count` | The number of times this gift card has been used in a customer-initiated transaction (CIT). | Usage data is not back-filled. Only transactions processed after this feature was enabled are counted. ### Sorting by usage The [list buyer gift cards](/reference/gift-cards/list-buyer-gift-cards) endpoint supports a `sort_by` query parameter to order results by any of the four usage fields. ``` GET /buyers/gift-cards?sort_by=last_used_at GET /buyers/gift-cards?sort_by=cit_last_used_at ``` Results are returned in descending order by default, so the most recently used or most frequently used gift card appears first. To sort in ascending order, set `order_by=asc`. ## Stored gift card filtering The API automatically removes any gift cards stored for a buyer with a zero balance or an expiry date in the past. When you add a new card, you may receive an error informing you that you've hit the limit of the number of stored cards (defaults to 10). You need to actively call the [`GET /buyers/gift-cards`](/reference/gift-cards/list-buyer-gift-cards) to clear out any expired and zero balance gift cards. ## Limits By default, the number of gift cards that can be used at the same time is limited to 10. This limit applies to the APIs for querying gift card balances, processing gift cards, as well as the number of gift cards that can be stored on a buyer. To change this limit, reach out to the support team. In the event of the limit being exceeded, a `HTTP 400` response with an error message `The buyer's gift card count has already reached the maximum limit of 10 gift cards` is returned. ## Testing Use the [gift card simulator](/guides/features/gift-cards/simulator) to test balance checks, redemptions, and error codes in your sandbox environment without a live connector. [qwikcilver]: /connections/payments/qwikcilver-gift-card [valuelink]: /connections/payments/valuelink-gift-card # Gift card simulator Source: https://docs.gr4vy.com/guides/features/gift-cards/simulator The gift card simulator is a sandbox-only connector that can be used to simulate responses for balance checks, gift card redemptions and refunds, and [issuing](/reference/gift-cards/issue-gift-card) and [activating](/reference/gift-cards/activate-gift-card) gift cards. The values for the `error_code`, `balance` and `expiration_date` can be simulated by passing in different pin and gift card numbers. This can be used when testing your integration. ## Credentials To configure the connection, you need to set the following credentials. | Credential | Description | | ---------- | -------------------------------------------------- | | API Key | This is not validated and can be set to any string | ## Error codes The `pin` field is used to simulate error codes: * Starts with `0`: Reserved for successful responses. Example: `01000`. * Starts with `1`: Validation error returned by the provider, `error_code` populated as explained below. Example `10001`. * Starts with `2`: Server error, `error_code` populated as explained below. Example: `20010`. * Starts with `3`: Client error, `error_code` populated as explained below. Example: `30003`. The rest of digits of the `pin` number are used to determine the `error_code`: | `error_code` | Description | PIN last digits | | :------------------------------ | :-------------------------------------------------------- | :-------------- | | `invalid_gift_card` | Gift card details are invalid, for example number or pin. | `0000` | | `expired_card` | Gift card expired. | `0001` | | `inactive_card` | Gift card is inactive. | `0002` | | `invalid_service_credentials` | Service credentials are not valid. | `0003` | | `invalid_amount` | Amount is invalid. | `0004` | | `incorrect_currency` | Currency was rejected by service. | `0005` | | `insufficient_funds` | Amount exceeds available balance. | `0006` | | `invalid_service_configuration` | Service is incorrectly configured. | `0007` | | `operation_canceled` | Operation was canceled as part of the batch. | `0008` | | `service_error` | Internal server error or upstream processing error. | `0009` | | `service_network_error` | Service was unreachable or experienced a timeout. | `0010` | | `unknown_error` | Mapping to a more specific error code failed. | `0011` | | `max_gift_cards_reached` | Buyer reached the maximum number of stored gift cards. | `0012` | | `suspected_fraud` | Service flagged the transaction as suspected fraud. | `0013` | | `canceled_payment_method` | Gift card reported lost, stolen, or otherwise canceled. | `0014` | | `duplicate_transaction` | Transaction is a duplicate of a previous transaction. | `0015` | | `unexpected_state` | Service or account is in an unexpected state. | `0016` | Any other value is mapped to `unknown_error` too. ## Refunds Similar logic is applied to trigger error cases for refunds, but the last digit of the refund amount is used, rather than the PIN. * Ends with `0`: Reserved for successful responses. Example: `1000`. * Ends with `1`: Validation error returned by the provider. Example `1001`. * Ends with `2`: Server error. Example: `1002`. * Ends with `3`: Client error. Example: `1003`. ## Balance For endpoints returning the gift card balance, its value is the `pin` number as an integer. The recommendation is that it starts with `0`, so it's always considered a successful response. For example, a PIN of `01234` results in a gift card balance of `12.34`. ## Activation [Activating](/reference/gift-cards/activate-gift-card) a gift card uses the `pin` to simulate errors, and the `error_code` is taken from the remaining digits as described in the error codes section. The prefixes differ slightly from a balance check. * Omit the `pin`: successful activation. * Starts with `1`: Client error. Example: `10001`. * Starts with `2`: Server error. Example: `20010`. * Starts with `3`: Client error. Example: `30003`. * Starts with `4`: Validation error returned by the provider. Example: `40006`. On a successful activation, the resulting balance is the `amount` you send. Omit the amount and the balance is derived from the `pin` exactly as described in the [Balance](#balance) section. ## Issuance [Issuing](/reference/gift-cards/issue-gift-card) a virtual gift card has no `pin` or `number` to simulate errors with, so the `amount` is used instead. The last digit selects the type of error and the remaining digits determine the `error_code`. * Ends with `0`: Reserved for successful responses. Example: `5000`. * Ends with `1`: Client error. Example: `10001`. * Ends with `2`: Server error. Example: `10002`. * Ends with `3`: Client error. Example: `10003`. * Ends with `4`: Validation error returned by the provider. Example: `10004`. ## Expiration date For endpoints returning the expiration date, the gift card `number` is considered. * A gift card number that starts with `0` results in an expiration date in the past. For example: `0000444455556666` results in an expiration date set in the past. Currently, this is set to a month in the past, but this behavior may change. * A gift card number that starts with `1` results in an expiration date in the future. For example: `1000444455556666` results in an expiration date set in the future. Currently, this is set to a month in the future, but this behavior may change. * Otherwise, any other gift card has no expiration date. For example: `9000444455556666` results in a gift card without an expiration date. # Decrypted Google Pay tokens Source: https://docs.gr4vy.com/guides/features/google-pay/decrypted-tokens Some merchants and platforms may have the option to decrypt a Google Pay token themselves. For this scenario, direct pass through of these decrypted Google Pay tokens to the API is supported using the [`network-token` method](/reference/transactions/new-transaction#network-token-payment-method-create). ```json Payment method theme={"system"} { "method": "network-token", "token": "4111111111111111", "expiration_date": "02/30", "cryptogram": "AAEBAwQjSQAAXX...", "eci": "05", "card_suffix": "1234", "card_scheme": "visa", "card_source": "google-pay", "card holder_name": "John Smith" } ``` # Google Pay on Android with the SDK Source: https://docs.gr4vy.com/guides/features/google-pay/mobile The Android SDK supports native Google Pay out of the box. ## About this integration The Android SDK requires minimal configuration to get set up to process Google Pay. Unlike some other integrations it does not require you to sign up for a Google Developer account. ## Enable Google Pay To enable Google Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Google Pay**. Next, fill in your merchant name and the one or more domain names where you want to use Google Pay. Google Pay connector setup ## Test Google Pay To test Google Pay follow the [quick start guide](/guides/payments/android/quick-start/overview) to install the SDK into your app. Google Pay should automatically be displayed as a payment option. Please follow the Google Pay documentation with further guides on how to add [test cards](https://developers.google.com/pay/api/android/guides/resources/test-card-suite) for use in a sandbox environment. # Google Pay on Android without the SDK Source: https://docs.gr4vy.com/guides/features/google-pay/mobile-without-sdk It is possible to use Google Pay without the SDK. ## About this integration Even without the Android SDK, there is only minimal configuration required to get set up to process Google Pay. Unlike some other integrations it does not require you to sign up for a Google Developer account. ## Enable Google Pay To enable Google Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Google Pay**. Next, fill in your merchant name and the one or more domain names where you want to use Google Pay. Google Pay connector setup ## Integrate Google Pay To learn how to integrate Google Pay, following Google's [tutorial][tutorial] is recommended. The steps below highlight any differences and specifics for the API. ### Set gateway and merchant ID In step 2 of [Google's tutorial][tutorial] you are instructed to request a payment token for your provider. In this case, the value for `gateway` needs to be set to `gr4vy`, and the value of `gatewayMerchantId` needs to be set to `app.gr4vy.sandbox.[gr4vy_id].[merchant_account_id]` for your sandbox environment, and `app.gr4vy.[gr4vy_id].[merchant_account_id]` in production. ```java Java theme={"system"} private static JSONObject getGatewayTokenizationSpecification() throws JSONException { return new JSONObject() {{ put("type", "PAYMENT_GATEWAY"); put("parameters", new JSONObject() {{ put("gateway", "gr4vy"); put("gatewayMerchantId", "app.gr4vy.sandbox.example.default"); }}); }}; } ``` ```kotlin Kotlin theme={"system"} private fun gatewayTokenizationSpecification(): JSONObject { return JSONObject().apply { put("type", "PAYMENT_GATEWAY") put("parameters", JSONObject(mapOf( "gateway" to "gr4vy", "gatewayMerchantId" to "app.gr4vy.sandbox.example.default"))) } } ``` The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. ### Create a transaction In step 9 of Google's tutorial, you have a `paymentData` that needs to be sent to the gateway. You can send this object to the [`POST /transactions`](/reference/transactions/new-transaction#google-pay-payment-method-create) endpoint either directly or via your server. The payment method used needs to contain the data from the Google Pay payload. ```json Payment method data theme={"system"} { "amount": 1299, "currency": "AUD", "country": "AU", "payment_method": { "method": "googlepay", "token": "[paymentData.paymentMethodData.tokenizationData.token]", "card_suffix": "[paymentData.paymentMethodData.info.cardDetails]", "card_scheme": "[paymentData.paymentMethodData.info.cardNetwork]", "redirect_url": "https://example.com/callback" } } ``` We strongly recommend always providing a `redirect_url`, just in case any connection is configured to use 3-D Secure. This URL will be appended with both a transaction ID and status (for example `https://example.com/callback?gr4vy_transaction_id=123 &gr4vy_transaction_status=capture_succeeded`) after 3-D Secure has been completed. In React Native you can use the [@google/react-native-make-payment](https://github.com/google-pay/react-native-make-payment) package to integrate Google Pay. This package uses the W3C Payment Request API. ### Install the package Install the package using npm: ```bash theme={"system"} npm install @google/react-native-make-payment ``` ### Configure the payment request Set up the Google Pay payment request with your merchant identifier and gateway ID. Set the `gateway` value to `gr4vy` and the `gatewayMerchantId` to your environment, for example `app.gr4vy.sandbox.[gr4vy_id].[merchant_account_id]`. ```js theme={"system"} import { PaymentRequest, type W3CGooglePayPaymentMethod, type GooglePayPaymentDataRequest } from '@google/react-native-make-payment'; // Configure Google Pay request const googlePayRequest: GooglePayPaymentDataRequest = { apiVersion: 2, apiVersionMinor: 0, allowedPaymentMethods: [ { type: 'CARD', parameters: { allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'], allowedCardNetworks: ['VISA', 'MASTERCARD'], }, tokenizationSpecification: { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'gr4vy', gatewayMerchantId: 'app.gr4vy.sandbox.example.default', }, }, }, ], merchantInfo: { merchantName: 'Example Merchant', }, }; // Configure payment details const paymentDetails = { total: { amount: { currency: 'AUD', value: '12.99', }, }, }; // Create payment methods array const paymentMethods: W3CGooglePayPaymentMethod[] = [ { supportedMethods: 'google_pay', data: googlePayRequest, }, ]; ``` The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. ### Process the payment Create a payment request and check if Google Pay is available before showing the payment sheet. ```js theme={"system"} const paymentRequest = new PaymentRequest(paymentMethods, paymentDetails); paymentRequest.canMakePayment() .then((canMakePayment) => { if (canMakePayment) { paymentRequest.show() .then((response) => { // Extract the token from the response const token = response.paymentMethodData.tokenizationData.token; // Send to Gr4vy API return fetch('https://api.example.gr4vy.app/transactions', { method: 'POST', headers: { 'Authorization': 'Bearer [TOKEN]', 'Content-Type': 'application/json', }, body: JSON.stringify({ amount: 1299, currency: 'AUD', payment_method: { method: 'googlepay', token: token, redirect_url: 'https://example.com/callback', }, }), }) .then(res => res.json()) .then((transaction) => { console.log('Payment successful', transaction); return transaction; }) .catch((error) => { console.error('Payment failed', error); throw error; }); }) .catch((error) => { // Handle payment sheet cancellation or errors console.error('Payment sheet error', error); }); } else { // Google Pay unavailable console.log('Google Pay is not available'); } }) .catch((error) => { // Handle canMakePayment errors console.error('Error checking Google Pay availability', error); }); ``` We strongly recommend always providing a `redirect_url`, just in case any connection is configured to use 3-D Secure. This can be set to an application URL or URN if needed. This URL will be appended with both a transaction ID and status (for example `https://example.com/callback?gr4vy_transaction_id=123 &gr4vy_transaction_status=capture_succeeded`) after 3-D Secure has been completed. ## Test Google Pay Please follow the Google Pay documentation with further guides on how to add [test cards](https://developers.google.com/pay/api/android/guides/resources/test-card-suite) for use in a sandbox environment. ## Common issues The OR\_BIBED\_11 error typically occurs due to configuration mismatches between your app and Google Pay settings. Check the following: ### SHA-256 certificate mismatch 1. In [Google Play Console](https://play.google.com/console), go to **App Integrity** → **App signing key certificate** 2. Copy the SHA-256 certificate fingerprint 3. In [Google Pay & Wallet Console](https://pay.google.com/business/console), go to **Your Merchant** → **Android apps** 4. Verify the SHA-256 matches exactly 5. Ensure the status shows as **Approved** ### Google Pay merchant approval Confirm your app entry in the [Google Pay & Wallet Console](https://pay.google.com/business/console) is approved (not pending). ### AndroidManifest metadata Ensure the required metadata is present in your AndroidManifest.xml: ```xml theme={"system"} ``` If any of these don't match (especially the SHA-256 certificate), updating the configuration typically resolves this error. [tutorial]: https://developers.google.com/pay/api/android/guides/tutorial # Google Pay Source: https://docs.gr4vy.com/guides/features/google-pay/overview Google Pay Google Pay is supported both on the web and in Android apps. In both environments, Google Pay can be integrated using the SDK and without the SDK. ## Prerequisites To enable Google Pay transactions, the system is directly integrated with Google. As a result, it transmits decoded device tokens to payment services instead of encrypted gateway tokens. Please note that not all payment services support decoded Google Pay tokens, and they may require this feature to be activated. Contacting your payment service provider to enable this feature is recommended. ## Web (Embed) On the web, Google Pay can be easily integrated both with and without Embed. In both offerings, the need to sign up for a Google Developer account has been removed, reducing additional financial and maintenance costs. | | [Using SDK (Embed)][web] | [Without SDK][web-without] | | ---------------------------------- | ------------------------ | -------------------------- | | Google Developer account required? | No | No | | Customization & Theming? | Limited | Full | | Integrated with Checkout Flow? | Yes | Optional | ## Mobile (Android) On Android, Google Pay can be easily integrated both with and without the SDK. In both offerings, the need to sign up for a Google Developer account has been removed, reducing additional financial and maintenance costs. | | [Using SDK][mobile] | [Without SDK][mobile-without] | | ---------------------------------- | ------------------- | ----------------------------- | | Google Developer account required? | No | No | | Customization & Theming? | Limited | Full | | Integrated with Checkout Flow? | Yes | Optional | ## Recurring payments Recurring payments are supported on Google Pay in a similar way to how [recurring payments][recurring-payments] are supported regular card payments. To facilitate recurring Google Pay payments, your payment service provider needs to support decoded Google Pay tokens as well as recurring payment flags. Please contact your payment service provider to enable this feature. [web]: /guides/features/google-pay/web [web-without]: /guides/features/google-pay/web-without-sdk [mobile]: /guides/features/google-pay/mobile [mobile-without]: /guides/features/google-pay/mobile-without-sdk [recurring-payments]: /guides/features/recurring-payments # Google Pay on web with Embed Source: https://docs.gr4vy.com/guides/features/google-pay/web Google Pay is the faster, more secure way to pay online using cards saved in your customer's Google Account. Google Pay is supported out of the box in Embed with minimal configuration. ## About this integration Embed requires minimal configuration to get set up to process Google Pay. Unlike some other integrations it does not require you to sign up for a Google Developer account. ## Enable Google Pay To enable Google Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Google Pay**. Next, fill in your merchant name and the one or more domain names where you want to use Google Pay. Google Pay connector setup ## Test Google Pay To test Google Pay visit the site that has Embed loaded on it. Google Pay should automatically be displayed. Please follow the Google Pay documentation with further guides on how to add [test cards](https://developers.google.com/pay/api/android/guides/resources/test-card-suite) for use in a sandbox environment. ## Common issues You may have set the `Cross-Origin-Opener-Policy` header on the page on which Google Pay is loaded. Please ensure you set this to allow popups, for example `same-origin-allow-popups`. # Google Pay on web without Embed Source: https://docs.gr4vy.com/guides/features/google-pay/web-without-sdk It is possible to use Google Pay on the web without the SDK. To learn how to integrate Google Pay, following Google's [tutorial][tutorial] is recommended. The steps below highlight any differences and specifics for the API. ## About this integration Even without Embed, there is only minimal configuration required to get set up to process Google Pay. There is no need to sign up for a Google Developer account with this integration. For Android apps which use this option with `WebViews`, please note that platform specific Android Google Pay APIs must be invoked. Please refer to [Google's FAQ](https://developers.google.com/pay/api/web/support/faq) for more information. ## Enable Google Pay To enable Google Pay, head over to your dashboard and then go to **Connections** -> **Catalog** -> **Google Pay**. Next, fill in your merchant name and the one or more domain names where you want to use Google Pay. Google Pay connector setup ## Integrate Google Pay The following steps highlight the integration points with the system using Google's [tutorial][tutorial] for Google Pay. ### Fetch a Google Pay session First, before you can render a Google Pay button, you need to call the API to get a token and your gateway ID. Call the [`POST /digital-wallets/google/session`](/reference/digital-wallets/get-google-pay-session) API with the domain you want to host Google Pay on. This needs to be the full domain including any subdomains like `www.`. ```json Request theme={"system"} { "origin_domain": "www.example.com" } ``` This returns your gateway merchant ID as well as a JWT that authorizes running on your domain. ```json Response theme={"system"} { "gateway_merchant_id": "app.gr4vy.sandbox.example.default", "token": "eyJhbGciOiJFUzI1NiIsInR5cCI....NwRL9ZZg0N--ZyP6I0dDfHHoWhVkrHpQ" } ``` ### Set gateway and merchant ID Next, in step 2 of [Google's tutorial][tutorial] you are instructed to request a payment token for your provider. In our case, the value for `gateway` needs to be set to `gr4vy`, and the value of `gatewayMerchantId` needs to be set to the value you received from our session API in the previous step. ```js theme={"system"} const tokenizationSpecification = { type: "PAYMENT_GATEWAY", parameters: { gateway: "gr4vy", gatewayMerchantId: "app.gr4vy.sandbox.example.default", }, }; ``` The instance ID is the unique identifier for the deployment of the system and is included in every API call. Together with the environment (sandbox or production) it is used to connect to the right APIs, as well as dashboard. ### Set the merchant info Next, in step 8, you need to set a `merchantInfo` object. This authorizes accepting Google Pay on your domain. When setting the `merchantInfo` object, make sure to set the `token` returned from the session API, your merchant name, the merchant ID, and the full domain you passed to the session API (including any subdomains like `www.`) ```js theme={"system"} const merchantInfo = { authJwt: "eyJhbGciOiJFUzI1NiIsInR5cCI....NwRL9ZZg0N--ZyP6I0dDfHHoWhVkrHpQ", merchantId: "BCR2DN4T7C3KX6DY", // This identifies our system merchantName: "Example App", merchantOrigin: "www.example.com", }; ``` **`OR_BIBED_11`** / **`OR_BIBED_6`** - If you were to encounter any kind of `OR_BIBED` error you likely did not pass the right domain to our API, or you did not pass the same domain to our session API and the `merchantInfo` object. ### Create a transaction In step 10 of Google's tutorial, within the `onPaymentAuthorized` function you will have a `paymentData` that needs to be sent to the gateway. You can send this object to our [`POST /transactions`](/reference/transactions/new-transaction#google-pay-payment-method-create) endpoint either directly or via your server. The payment method used needs to contain the data from the Google Pay payload. ```json Payment method data theme={"system"} { "amount": 1299, "currency": "AUD", "country": "AU", "payment_method": { "method": "googlepay", "token": "[paymentData.paymentMethodData.tokenizationData.token]", "card_suffix": "[paymentData.paymentMethodData.info.cardDetails]", "card_scheme": "[paymentData.paymentMethodData.info.cardNetwork]", "redirect_url": "https://example.com/callback" } } ``` Providing a `redirect_url` is strongly recommended, just in case any connection is configured to use 3-D Secure. This URL is appended with both a transaction ID and status (for example `https://example.com/callback?gr4vy_transaction_id=123 &gr4vy_transaction_status=capture_succeeded`) after 3-D Secure has been completed. ## Test Google Pay To test Google Pay visit the site that has your integration loaded on it. Please follow the Google Pay documentation with further guides on how to add [test cards](https://developers.google.com/pay/api/android/guides/resources/test-card-suite) for use in a sandbox environment. [tutorial]: https://developers.google.com/pay/api/web/guides/tutorial # Linking guests buyer details Source: https://docs.gr4vy.com/guides/features/guest-checkout/linking Use guest buyer details in combination with stored buyer records and their payment methods In some situations you may want to use guest buyer details but also use a stored buyer's payment methods. For example, you may manage all the buyer billing and shipping details in your ecommerce platform and do not want to have to keep this in sync with the API. Yet, you also would like to offer a card-on-file experience at checkout where a buyer can use their stored payment methods. In these situations it makes sense to create a buyer record via the API with little to no details, passing all billing and shipping details as guest details, while using the buyer record just to link payment methods and transactions. Once created, you can use the buyer's ID or external identifier to link a payment to that buyer, while only the guest details are passed to the payment services. ```json API theme={"system"} { "amount": 1299, "currency": "AUD", "payment_method": { // This works with any payment method, // as well as checkout sessions ... }, // The buyer to link the payment (and any to-be-stored payment method) to "buyer_id": "e84fbc2a-3ee9-4ed5-9fc3-00c8e61fd8c5", // Alternatively use the buyer external identifier "buyer_external_identifier": "buyer-12345", // The buyer information used for this transaction. "buyer": {...} } ``` ```js Embed (Node) theme={"system"} setup({ ... // The buyer to link the payment (and any to-be-stored payment method) to. // This will also be used to load any stored payment methods. buyerId: "e84fbc2a-3ee9-4ed5-9fc3-00c8e61fd8c5", // Alternatively use the buyer external identifier buyerExternalIdentifier: "buyer-12345", // The buyer information used for this transaction. buyer: {...} }) ``` ```jsx Embed (React) theme={"system"} ``` ```swift iOS theme={"system"} Gr4vy.init( ... // The buyer to link the payment (and any to-be-stored payment method) to. // This will also be used to load any stored payment methods. buyerId: "e84fbc2a-3ee9-4ed5-9fc3-00c8e61fd8c5" // Alternatively use the buyer external identifier buyerExternalIdentifier: "buyer-12345" // The buyer information used for this transaction. buyer: Gr4vyBuyer(...) ) ``` ```java Android theme={"system"} gr4vySDK.launch( ... // The buyer to link the payment (and any to-be-stored payment method) to. // This will also be used to load any stored payment methods. buyerId="e84fbc2a-3ee9-4ed5-9fc3-00c8e61fd8c5" // Alternatively use the buyer external identifier buyerExternalIdentifier="buyer-12345" // The buyer information used for this transaction. buyer = Gr4vyBuyer(...) ) ``` ```js React Native theme={"system"} EmbedReactNative.showPaymentSheet({ ... // The buyer to link the payment (and any to-be-stored payment method) to. // This will also be used to load any stored payment methods. buyerId="e84fbc2a-3ee9-4ed5-9fc3-00c8e61fd8c5", // Alternatively use the buyer external identifier buyerExternalIdentifier="buyer-12345", // The buyer information used for this transaction. buyer: {...}, }) ``` ## Limitations There are a few limitations to linking in-line buyer details to a stored buyer. * Any buyer ID and buyer external identifier provided need to match the same buyer record or they may be ignored * Any stored buyer details (name, email, addresses, etc) are ignored when guest checkout is provided. Guest data is not merged into any existing data, instead the guest data is the only data used. # Guest checkout Source: https://docs.gr4vy.com/guides/features/guest-checkout/overview Create transactions without a creating a buyer first It is possible to provide buyer details, including the shipping and billing details, without the need to [create a buyer resource](/reference/buyers/new-buyer). You can send the buyer details directly when the transaction is requested, either to the API, Embed, or Secure Fields. ```json API theme={"system"} { "amount": 1299, "currency": "AUD", "payment_method": { // This works with any payment method, // as well as checkout sessions ... }, "buyer": { "external_identifier": "my-unique-identifier", "billing_details": { "first_name": "John", "last_name": "Smith", "address": { "postal_code": "789123" } }, "shipping_details": { "first_name": "John", "last_name": "Smith", "address": { "postal_code": "789123" } } } } ``` ```js Embed (Node) theme={"system"} setup({ ... buyer: { externalIdentifier: 'my-unique-identifier', billingDetails: { firstName: 'John', lastName: 'Smith', address: { postalCode: '789123', }, taxId: { value: '123456', kind: 'gb.vat', }, }, shippingDetails: { firstName: 'John', lastName: 'Smith', address: { postalCode: '789123', }, }, } }) ``` ```jsx Embed (React) theme={"system"} ``` ```swift iOS theme={"system"} Gr4vy.init( ... buyer: Gr4vyBuyer( externalIdentifier: "my-unique-identifier", billingDetails: Gr4vyBillingDetails( firstName: "John", lastName: "Smith", address: Gr4vyAddress( postalCode: "789123" ), taxId: Gr4vyTaxId( value: "123456", kind: "gb.vat" ) ), shippingDetails: Gr4vyShippingDetails( firstName: "John", lastName: "Smith", address: Gr4vyAddress( postalCode: "789123" ), ) ) ) ``` ```java Android theme={"system"} gr4vySDK.launch( ... buyer = Gr4vyBuyer( externalIdentifier = "my-unique-identifier", billingDetails = Gr4vyBillingDetails( firstName = "John", lastName = "Smith", address = Gr4vyAddress( postalCode = "789123" ), taxId = Gr4vyTaxId( value = "123456", kind = "gb.vat" ) ), shippingDetails = Gr4vyShippingDetails( firstName = "John", lastName = "Smith", address = Gr4vyAddress( postalCode = "789123" ), ) ) ) ``` ```js React Native theme={"system"} EmbedReactNative.showPaymentSheet({ ... buyer: { externalIdentifier: 'my-unique-identifier', billingDetails: { firstName: 'John', lastName: 'Smith', address: { postalCode: '789123', }, taxId: { value: '123456', kind: 'gb.vat', }, }, shippingDetails: { firstName: 'John', lastName: 'Smith', address: { postalCode: '789123', }, }, }, }) ``` ## Limitations There are a few limitations to using in-line buyer details like this, rather than using a stored buyer record. * A guest buyer cannot use a payment method which is assigned to another buyer resource. * A guest buyer cannot redeem gift cards which are assigned to another buyer resource. * A buyer resource can not be created when using in-line buyer data. Please use the [new buyers endpoint](/reference/buyers/new-buyer) instead. The buyer ID and buyer external identifier properties can be passed to the API and SDKs to apply guest buyer details while also using stored payment methods. Please see the documentation on [linking](./linking) for more details. # Managing merchant accounts Source: https://docs.gr4vy.com/guides/features/merchant-accounts/accounts A standard deployment runs as a single tenant instance, each with its own 2 environments, sandbox, and production. Within that environment, it's possible to add additional sub-accounts called merchant accounts. Each merchant account can be used to configure individual connections and flow rules, and process transactions with unique buyers, payment methods, and vaulted cards; routing transactions to distinct connections and using individual Flow rules and anti-fraud services to decline, route, or trigger 3DS. ## Single merchant environment By default, each environment in your instance is a single-tenant environment. That means that in your sandbox or production environment your company is the only merchant account using the resources of that instance, including the database, cloud servers, and more This creates a uniquely redundant system. ## Multi merchant environment Additional merchant accounts can be generated within an environment to support a few different scenarios. * You're a **large merchant** with many different sub-entities that have their relationships with payment service providers and each entity wants to manage its own customer support, payment optimization, and/or data analysis. * You're a **technology platform** offering payment services to businesses and although you could run all of your customers through one environment, the ability to separate each merchant's transactions provides you with an easy way to provide additional support tools, payment optimization consulting, and peace of mind that each of your customer's data is fully segregated. * You're a **distribution partner** offering payment processing to merchants through the platform. The ability to provide each merchant with their separate merchant account provides you with a way to provide additional support tooling, payment optimization advice, and peace of mind that each of your customer's data is fully segregated. ## Setup ### Enable multiple merchant accounts Support for multiple merchant accounts in one instance is a premium feature. Please contact the account manager for pricing. ### Create new merchant accounts Once multiple merchant accounts have been enabled for your instance, log into your environment as an administrator and click the **Settings** icon in the top bar. The merchant account list is displayed. Click **Add merchant** to create a new account. To create a new merchant account, provide a display name and a short ID. The display name is used to display a human-friendly name to the merchant account users in the dashboard. The ID is used as the unique identifier for the merchant account and cannot be changed. Deleting a merchant account is currently not possible as it may affect a lot of existing data. The ability to deactivate merchant accounts is rolling out at a later point. ### Edit merchant account To edit a merchant account, log into your environment as an administrator and click the **Settings** icon in the top bar. The merchant account list is displayed. Click on the three dots next to any merchant and select **Edit merchant**. The display name can be changed at any time but the ID cannot be changed as it's the unique identifier used for API calls, internal reporting, and more. ### Migrate merchant accounts In some cases, data from different merchants may be associated with the default merchant account because of a setup before multi-merchant was enabled. Please reach out to support for support migrating existing data to different merchant accounts. # API & merchant accounts Source: https://docs.gr4vy.com/guides/features/merchant-accounts/api The API is fully merchant-account aware, which means that every transaction, buyer, payment method, and most other resources are accessed within the context of a specific merchant account. Support for multiple merchant accounts in one instance is a premium feature. In a standard instance, all your API calls are associated with the `default` merchant account without any extra effort. ## Managing accounts Merchant accounts can be [managed via the dashboard](./accounts) as well as via the [API](/reference/merchant-accounts). ## API keys API keys can only be created by administrators via the dashboard, they cannot be managed via the API. Keys can be created to either have access to a specific merchant account, or to all merchant accounts. These so-called **administrator keys** can be used to make API calls on behalf of any merchant account. Restricted API keys, or **merchant keys**, can only be used to make API calls on behalf of the merchant account they are associated with. | | Administrator keys | Merchant keys | | ------------ | ------------------------------------------------ | ------------------------------------- | | **Access** | All merchant accounts | One merchant account | | **Header** | Optional, defaults to `default` | Defaults to account associated to key | | **Use case** | Platforms calling the API on behalf of merchants | Merchants making their own API calls | ## Merchant account header Most API endpoints can only access and operate on records in one merchant account at a time. Every request is processed within the context of that one merchant account, and it only allows for using other resources from within the same merchant account. For example, an API call to create a transaction associates that transaction with the merchant account for which the request is made, and it can only use buyers, payment methods, connections, and flow rules that belong to the same merchant account. To identify the merchant account to use, set the `X-GR4VY-MERCHANT-ACCOUNT-ID` header. For example, the following request fetches a list of buyers for the `legendary-games-uk` account on the `legendary-games` instance. ```sh theme={"system"} curl https://api.sandbox.legendary-games.gr4vy.app \ -H "X-GR4VY-MERCHANT-ACCOUNT-ID: legendary-games-uk" \ -H "AUTHORIZATION: bearer [token]" ``` In a single merchant instance, the `X-GR4VY-MERCHANT-ACCOUNT-ID` header can be omitted and the API falls back to the `default` merchant account ID. Additionally, when using a merchant key the header can be omitted and the API falls back to the merchant account associated with the key. ## Administrator APIs A few endpoints are not merchant aware and therefore can only be accessed by administrator keys. The only public endpoints currently affected are the [`GET /api-logs`](reference/logs/list-api-error-logs) endpoint. Setting the `X-GR4VY-MERCHANT-ACCOUNT-ID` on this API has no effect. ## SDK usage Each of the SDKs supports setting the merchant account ID. This automatically sets the `X-GR4VY-MERCHANT-ACCOUNT-ID` for each request to this value. Without setting the ID explicitly its value falls back to `default`. ```csharp C# theme={"system"} var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "my-merchant-id" ); ``` ```go Go theme={"system"} s := gr4vy.New( gr4vy.WithID("example"), gr4vy.WithServer(gr4vy.ServerSandbox), gr4vy.WithSecuritySource(withToken), gr4vy.WithMerchantAccountID("my-merchant-id"), ) ``` ```java Java theme={"system"} Gr4vy sdk = Gr4vy.builder() .id("example") .server(AvailableServers.SANDBOX) .merchantAccountId("my-merchant-account-id") .securitySource(new BearerSecuritySource.Builder(privateKey).build()) .build() ``` ```php PHP theme={"system"} $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('your-merchant-account-id') ->build(); ``` ```python Python theme={"system"} sdk = Gr4vy( id="spider", merchant_account_id="merchant-12345", bearer_auth=auth.get_token(private_key) ) ``` ```ts TypeScript theme={"system"} const gr4vy = new Gr4vy({ server: "sandbox", id: "example", merchantAccountId: 'merchant-12345', bearerAuth: withToken({ privateKey }), }); ``` # Embed & merchant accounts Source: https://docs.gr4vy.com/guides/features/merchant-accounts/embed Embed can be configured to use multiple merchant accounts either using an [admin API key](./api) or a [merchant API key](./api). ## Set the merchant ID Embed can be configured to explicitly take the merchant account ID to process a transaction for. ```jsx React theme={"system"} ``` ```js Node/CDN theme={"system"} setup({ gr4vyId: 'example', environment: 'sandbox', merchantAccountId: 'my-merchant-account-id', ... }) ``` Although it's recommended to set the merchant ID, the ID falls back to `default` if not set, which is the standard ID for the single merchant account in a single merchant environment. ## Pinning metadata When using an API key that has access to multiple merchant accounts ([an admin API key](./api)) it is recommended to pin the `merchant_account_id` value when generating an Embed token. ```js Node theme={"system"} const token = await client.getEmbedToken({ amount: 1299, currency: 'AUD', merchant_account_id: 'my-merchant-account-id' }) ``` ```java Java theme={"system"} Gr4vyClient client = new Gr4vyClient("[YOUR_GR4VY_ID]", "private_key.pem"); Map embed = new HashMap(); embed.put("amount", 1299); embed.put("currency", "AUD"); embed.put("merchant_account_id", "my-merchant-account-id"); String token = client.getEmbedToken(embed); ``` ```py Python theme={"system"} embed = { "amount": 1299, "currency": "AUD", "merchant_account_id": "my-merchant-account-id", } token = client.generate_embed_token(embed) ``` ```php PHP theme={"system"} echo $config->getEmbedToken( array( "amount" => 200, "currency" => "AUD", "merchant_account_id" => "my-merchant-account-id" ) ); ``` Pinning is not required with merchant API keys as they are restricted to one single merchant account. # Merchant accounts Source: https://docs.gr4vy.com/guides/features/merchant-accounts/overview Manage multiple accounts in one instance Merchant accounts Multiple merchant accounts can be supported in one instance. Each merchant account represents a single merchant with its connections to payment and anti-fraud services, users, API keys, Flow rules, transactions, and more. By default each instance only has one "default" merchant account, creating a uniquely contained, single-tenant infrastructure, yet for those who need to support it, additional merchant accounts can be enabled to allow for easy separation of data between each of the different accounts. **Enabling multi-merchant** Support for multiple merchant accounts in one instance is a premium feature. Please contact the account manager for pricing. ## The basics * Each **environment** has **one default merchant account** that all data is associated with * Transactions, payment methods, buyers, flow rules, connections, and all other **transaction data** are associated with **one (and only one) merchant account** * New merchants accounts can be created by administrators * **Administrators** always have access to **all merchant accounts** * Other **users** can be assigned to have access to **one or more merchant accounts** * **API keys** can be created that act can access **either one, or all merchant accounts** ## Learn more Learn how to set up merchant accounts including custom webhook configuration. Learn how to set up new users and associate them with merchant accounts. Learn how to set up new API keys and restrict them to one or many merchant accounts. Learn how to configure Embed to handle different merchant accounts. # Users & merchant accounts Source: https://docs.gr4vy.com/guides/features/merchant-accounts/users Users can be assigned to one or more merchant accounts, allowing for granular access to manage a merchant account via the dashboard. Support for multiple merchant accounts in one instance is a premium feature. In a standard instance, all your users are associated with the `default` merchant account without any extra effort. ## Administrators and other users There is a key difference between administrators and other users when it comes to merchant accounts. Administrators effectively operate at an environment level, providing them with access to all merchant accounts. On the other hand, users with non-administrator roles are always restricted to the merchant accounts they've been assigned access. In other words, administrators implicitly have access to all merchant accounts, whole other users need to be associated with 1 or more merchant accounts. Although an administrator represents a combination of all other roles, the key difference is that a user with all roles (except administrator) is restricted to their assigned merchant accounts, where an administrator has access to all. This especially impacts the user manager role. | Role | Access | Invite | | ----------------- | -------------------------------------------- | ----------------------------------------------------- | | **Administrator** | Can access all merchant accounts | Can invite a user to any merchant account | | **User Manager** | Can only access associated merchant accounts | Can only invite to their associated merchant accounts | ## Assigning users to accounts Once you've created a new [merchant account via the dashboard](./accounts) you can assign users to the account. To assign an existing user to an account as an administrator, head over to **Settings** -> **Users**. As a user manager, select any merchant account and then head over to the **Manage users** dashboard. Next, select **Edit merchants** from the actions menu and select the one or more merchant accounts to associate the user with. Administrators can not be added to merchant accounts because they inherently have access to all accounts. # Multi captures Source: https://docs.gr4vy.com/guides/features/multi-captures/overview Capture a single authorization in more than one step, drawing down the balance as you fulfill an order over time. Most card payments happen in two stages. First, an **authorization** reserves the funds with the customer's bank, but no money moves. Then, a **capture** requests those funds for settlement. With a single capture, you capture the authorization once. If you capture less than the authorized amount, the remainder is released back to the customer and can't be claimed again. Multi captures let you claim a single authorization across more than one capture, over time. The authorization behaves like a balance you draw down until the order is complete. This suits orders fulfilled in parts, for example, when items ship separately or when an out-of-stock product becomes available later. ## Single capture compared to multi captures | | Single capture | Multi captures | | ---------------------------- | ----------------------------------- | --------------------------------------- | | Captures per payment | One | Many | | Capturing part of the amount | Supported, but the rest is released | Supported, and the rest stays available | | Best suited to | Orders shipped in full, in one go | Orders fulfilled in parts or over time | ## How it works 1. **Authorize the payment** for the full expected amount. 2. **Capture as you fulfil.** Each time you're ready to claim part of the balance, submit a [capture](/reference/transactions/capture-transaction) for that amount. You can attach the relevant order line items to each capture and add your own identifier, so each claim reflects what was fulfilled and reconciles against your order systems. 3. **Close the payment.** Mark the last capture as `final`. After the final capture, no further captures can be taken against the authorization, and any remaining authorized amount is released back to the customer where possible. Each capture is recorded individually, so you keep a clear breakdown of what was claimed and when. ## Tracking captures Each capture has its own status as it progresses, and a webhook with a matching `name` is sent each time a capture reaches that status: * **Pending** (`capture.pending`) — the capture has been submitted and is awaiting confirmation. * **Succeeded** (`capture.succeeded`) — the funds were claimed successfully. * **Declined** (`capture.declined`) — the bank or payment provider declined the capture. * **Failed** (`capture.failed`) — the capture couldn't be completed because of an error. These `capture.*` events are sent per individual capture, so you receive one for each capture against a transaction. They're distinct from the transaction-level `transaction.captured` and `transaction.capture-pending` events, which reflect the transaction as a whole. See [Webhook events](/guides/features/webhooks/events) for the full list. You can view every capture associated with a payment, each with its amount, status, and timing, for a complete history of how the authorization was drawn down. ## Limitations * Multiple captures must be enabled for your account, and your payment provider must support the feature. * Across all captures, you can't claim more than the authorized amount, unless capturing more than authorized is enabled for your account, in which case a configured limit applies. Pending captures count toward what you've claimed, so they're reserved while in progress. * Once you mark a capture as `final`, the authorization is complete and no further captures are possible. * No further capture requests are allowed once a previous capture has been declined. If a capture fails because of an error, you can attempt another capture. * Sync transaction doesn't work when a transaction has more than one capture. * Refunds can't be applied to an individual capture. * The transaction status isn't downgraded from `capture_succeeded` if a later capture fails or is declined. # Network token implementation Source: https://docs.gr4vy.com/guides/features/network-tokens/implementation How to use scheme tokens with or without payment orchestration To process payments with network tokens you can choose between either of the following options. * The **automatic provisioning of tokens** for use with the orchestration platform. * The **standalone tokenization endpoints** for using the network tokens directly with the PSPs. Before you start processing payments with network tokens, make sure you have enabled processing with network tokens. Please contact the support team to get set up. ## Automatic provisioning of network tokens Although network tokens are agnostic tokens, not every payment service or acquirer support the usage of network tokens that were provisioned outside of their own environment. When you use the system to orchestrate your payment, the routing behavior is optimized to take into consideration the limitations of the payment services you're connecting to. A payment service that supports externally obtained data is generally considered an **open loop connection**, while one that doesn't is considered **closed loop**. In the orchestration platform, network tokens can be supported across any open-loop payment services. You don't have to perform any additional integrations to use network tokens besides storing the original card data (PAN) in the vault. You can follow the regular flow of card integrations, and the original card details are automatically swapped out with the network token when possible. For each first time use of the token a cryptogram is provisioned. Subsequent merchant initiated transactions (MIT) do not need a cryptogram (these are optional), unless the transaction is done with a newly provisioned token. For example if you have migrated an already running billing sequence for a card to the systems and for these cards you're provisioning tokens for the first time, the first transaction done with that token has a cryptogram provisioned automatically. The token and cryptogram are provisioned as "on file" and therefore the buyer does not have to be present for the provisioning of either the token or the cryptogram. The usage of network tokens has been optimized by implementing scheme best practices regarding cryptogram usage, as well as the correct payment flagging towards the payment services. Using Flow, it is possible to choose the instrument (PAN or Network token) in your routing rules, allowing you to optimize your routing behavior. For best practices and advice on routing optimizations, please reach out to the support team. ### Network token provisioning modes Network token provisioning can be configured in two different modes: **synchronous** (default) and **asynchronous**. The mode you use depends on your performance requirements and tolerance for processing latency. #### Synchronous provisioning In synchronous mode, the network token is created before the first transaction is processed. This ensures the token is ready for immediate use: * **Initial Customer Initiated Transaction (CIT):** The network token and cryptogram are created first, then the transaction is processed with the token and cryptogram. * **Subsequent CIT:** The transaction is processed with the network token and cryptogram. * **Subsequent MIT:** The transaction is processed with the network token only (cryptogram optional). This is the default mode and ensures tokens are used from the start. #### Asynchronous provisioning In asynchronous mode, network token creation is deferred to a background process, allowing faster initial transaction processing. This mode is useful when network token/cryptogram generation latency would negatively impact the customer experience: * **Initial CIT:** The transaction is processed immediately with the PAN and CVV while the network token is created asynchronously in the background. * **Subsequent CIT:** The transaction is processed with the network token and cryptogram (which were created in the background). * **Subsequent MIT:** The transaction is processed with the network token only. This mode provides the best user experience for initial transactions at the cost of a slightly delayed token creation window. Asynchronous network tokenization is an opt-in feature that is currently configured per merchant by the support team. Contact support to enable asynchronous provisioning for your account if you require faster initial transaction processing. ## Standalone tokenization endpoints The API allows you to provision network tokens and cryptograms for use in your own system. Please note that network tokens can be considered PCI sensitive data depending on your interpretation of PCI guidelines, and therefore these API's are not enabled in production by default. You can use the [network token endpoints][endpoints] to obtain network tokens and their cryptograms for use in your own system. Network token provisioning via the API is not enabled by default in production. Please contact support for further guidance. [endpoints]: /reference/network-tokens/ # Network token lifecycle management Source: https://docs.gr4vy.com/guides/features/network-tokens/lifecycle Managing the full lifecycle of network tokens The system has been set up to automatically keep your network tokens up to date. Updates are automatically received when the underlying card receives any updates, and these updates are applied to the stored card details in the system. The card holder can interact with their card in multiple ways which can result in these lifecycle events. * The contract with the issuer is terminated rendering all cards and related tokens invalid. In this case, all the associated network tokens are terminated and deleted. * A user reports a card lost or stolen or damaged. In this case, the issuer issues a new card and all the associated tokens stay active but any data related to the underlying card number may change, for example, the last four digits of the card may change. * The card expires. In this case, the issuer issues a new card and all the associated tokens stay active but any data related to the underlying card number may change, for example, the expiration date of the card may change. * The user triggers a token revocation from the issuer side, for example from the issuer's mobile banking app. In this case, any of the associated network tokens may be terminated and deleted. All of these events are automatically managed when you use the vault. ## Usage data Using different instruments per transaction attempt is possible. Insight is provided as to which instrument was used per transaction attempt via the **retry event report**. This report can be fetched via the API or via the dashboard. In the report, the used instrument is listed per transaction attempt. If the first attempt was done using the original card, and a retry was done using a network token, then the transaction shows as having used a "network token" in the dashboard. ## Manual lifecycle management Using the following endpoints it is possible to manually manage the token lifecycle for a stored token. Using these endpoints changes the status at the respective scheme token service and notifies the issuer. * [Suspend token endpoint][suspend] - Used to temporarily turn off a provisioned token. The token is temporarily suspended. The token can be resumed by using the `/resume` API. This API is only supported for Visa cards. * [Resume token endpoint][resume] - Used to re-enable a provisioned token. The token status changes from its previously suspended state into the active state. This API is only supported for Visa cards. * [Delete token endpoint][delete] - Used to permanently remove a provisioned token. The token is deleted and needs to be re-provisioned. [suspend]: /reference/network-tokens/suspend-network-token [resume]: /reference/network-tokens/resume-network-token [delete]: /reference/network-tokens/delete-network-token # Network tokens Source: https://docs.gr4vy.com/guides/features/network-tokens/overview Using scheme tokens with payment orchestration Network tokens are a technology created by [EMVCo][emvco] to make the payment ecosystem safer and more robust. ## EMV payment tokenization The **primary account number:** (PAN) the number printed on your card, which is a particularly sensitive piece of data. EMV Payment Tokenization (or network tokenization) provides a technology solution for protecting the PAN and securing digital and online payments. Tokenization is achieved by taking the PAN and replacing it with a unique alternative value, a payment token. This token is limited to the merchant it's been created for, which limits the use of the token in case it's ever compromised. Unlike a PAN, a network token cannot be used to process a transaction with another merchant. Network tokens comply with industry-standardized EMVCo specifications that not only adhere to PCI standards but are also identifiable across the entire transaction lifecycle. This enables significant ecosystem benefits for merchants using network tokens. * **Higher authorization rates:** Once a stored PAN has been securely replaced with a network token, any changes to the underlying card details get automatically applied to the associated network token. For example, if a customer's card expires the network would automatically update any associated network tokens directly so that the stored card remains current and usable with that token. This reduces the number of charges declined due to outdated data, and increases the authorization rates - particularly cards used for recurring and subscription payments. * **Lower costs:** In general the card schemes maintain a lower fee for tokenized transactions. The exact value of this depends on your PSP, but this can be up to 10 bps per transaction. * **Improved security:** Network tokens can only be unlocked by the associated payment network. Therefore if it is lost or stolen, criminals cannot access the underlying card data at any point in the transaction lifecycle.\ In addition, each token is bound to a specific merchant and each transaction is protected with a one-time use cryptogram. This means that the token by itself cannot be used to initiate a transaction. * **Flexible provisioning:** The system supports both synchronous and asynchronous network token provisioning. Asynchronous provisioning allows merchants to process initial transactions quickly with the PAN while tokens are created in the background, optimizing the customer experience without sacrificing security or subsequent transaction efficiency. ## Network tokens versus Acquirer/PSP tokens Network tokenization is very different from acquirer tokenization or PSP tokenization, especially when you consider the data portability benefits. * **An acquirer or PSP token** swaps a customer's card details with a token that can only be used by the service that generated the token. This restricts the re-use and introduces considerable friction when using another service for failover, redundancy, or migration. * **A network token** swaps a customer's card details with a token that is tied to the scheme of the card (also called the networks) and can be used by any acquirer or PSP that can transact for that scheme. This provides ultimate flexibility to use this token with any service, whether that is for failover or redundancy purposes, or when migrating to another service. Using the full range of tokenization features with the system is recommended. You can store the original card number (PAN) in the vault and additionally use Network Tokens for transactions. With this, you can limit your PCI scope and optimize your payments using network tokens in an agnostic way across the payment ecosystem. [emvco]: https://www.emvco.com/ # Network token pass through Source: https://docs.gr4vy.com/guides/features/network-tokens/passthrough Fully PCI certified customers may want to provision their own network tokens rather than relying on the network token provisioning. To allow for this, support for network token pass through via the API has been enabled, either with or without cryptogram, straight through to a connector. * Any network token can be passed through, though acceptance (especially in sandbox) varies by connector used * Network tokens can benefit from BIN insights, though in the sandbox environment the number of cards that result in a valid BIN insights is limited * Storing externally provisioned network tokens in the vault is currently not supported ## Usage To pass through a network token, set the `method` value to `network-token` when [creating a transaction](reference/transactions/new-transaction#network-token-payment-method-create). The `cryptogram` value can be set as well, but is optional in the API. Acceptance of network tokens downstream varies per connector. ```json Payment method theme={"system"} { "method": "network-token", "number": "4111111111111111", "expiration_date": "11/25", "cryptogram": "..." } ``` # Network Token Testing Source: https://docs.gr4vy.com/guides/features/network-tokens/testing To test Network Tokens in `sandbox` please make sure the following applies. * Network Tokens have been configured for your merchant account by the team * Transactions are sent with `store: true` or with a stored card. * A test card number from the list below is sent in the request ### Successful network token | Test PAN | Scheme | | ------------------ | ------------ | | `5204731600014784` | `mastercard` | | `5204731600013711` | `mastercard` | | `5204731600014636` | `mastercard` | | `5204731600012804` | `mastercard` | | `5204731600014792` | `mastercard` | | `5204731600013729` | `mastercard` | | `5204731600014644` | `mastercard` | | `5204731600012812` | `mastercard` | | `5204731600013737` | `mastercard` | | `5186009200935811` | `mastercard` | | `2222690420064590` | `mastercard` | | `2222690420064574` | `mastercard` | | `2222690420064582` | `mastercard` | | `5120342233150747` | `mastercard` | | `5120343287499758` | `mastercard` | | `4622943120000600` | `visa` | | `4895379980001778` | `visa` | | `4622943120000618` | `visa` | | `4622943120000626` | `visa` | | `4895379980001802` | `visa` | | `4622943120000634` | `visa` | | `4622943120000642` | `visa` | ### Testing error scenarios | Test PAN | Scheme | Error | | ------------------ | ------------ | ------------------ | | `2223001850064564` | `mastercard` | `PAN_INELIGIBLE` | | `5462970394839348` | `mastercard` | `PAN_INELIGIBLE` | | `2223520127577835` | `mastercard` | `PAN_INELIGIBLE` | | `5460126128200800` | `mastercard` | `PAN_INELIGIBLE` | | `5207980000000102` | `mastercard` | `PAN_INELIGIBLE` | | `5204731601950473` | `mastercard` | `INVALID_PAN` | | `5204731601950473` | `mastercard` | `INVALID_PAN` | | `5204731940398145` | `mastercard` | Declined by Issuer | | `5204731600000239` | `mastercard` | Declined by Issuer | | `5120340000000392` | `mastercard` | Declined by Issuer | | `5120340000000293` | `mastercard` | Declined by Issuer | Any other card number is processed as ineligible and therefore is not processed as a network token transaction. # Partial authorization Source: https://docs.gr4vy.com/guides/features/partial-authentication/overview The system supports partial authorization for card payments. Partial authorization is a processing feature that allows a transaction to be approved for a portion of the total purchase amount when a buyer's available funds are insufficient. Instead of a complete decline, the card issuer approves the transaction for the amount the customer does have available, allowing the customer to potentially complete the purchase by using another payment method for the remaining balance. This improves the customer experience by reducing declined transactions and increasing the likelihood of a completed sale. ## Usage To enable partial authorization, you can pass the \[]`allow_partial_authorization`]\(/reference/transactions/new-transaction#body-allow-partial-authorization) to the API. This informs the supported payment services to allow for a partial authorization. ```json Request {6} theme={"system"} { "amount": 1299, "country": "US", "currency": "USD", "intent": "capture", "allow_partial_authorization": true ... } ``` When a partial authorization has been made, the `authorized_amount` reflects the actual authorized value of the transaction. ```json Response theme={"system"} { "type": "transaction", "id": "8f83187d-a7fb-4e58-aece-b4bdfd622c7c", "reconciliation_id": "4MnoRekRSTPBpMclaqBdRk", "merchant_account_id": "default", "currency": "USD", "amount": 10000, "status": "authorization_succeeded", "authorized_amount": 5000, ... } ``` Always check the `authorized_amount` to confirm the actual authorized amount for a transaction. ## Availability Currently, partial authorization is supported on the following connectors. * [Adyen](https://docs.adyen.com/online-payments/partial-authorizations/) * [Checkout](https://www.checkout.com/docs/payments/manage-payments/authorize-a-payment#Request_a_partial_authorization) * [Nuvei](https://docs.nuvei.com/documentation/features/financial-operations/partial-approval/) * [Stripe](https://docs.stripe.com/issuing/purchases/authorizations?locale=en-GB#handling-other-authorizations) Please note that support for partial authorization might need to be enabled on your account. When using the `partial_authorization` property, any connection without support for partial auth is ignored. # Pay by Bank Source: https://docs.gr4vy.com/guides/features/pay-by-bank/overview Understand Pay by Bank options and choose the right connector pages. Pay by Bank lets you accept payments directly from a buyer's bank account. Gr4vy supports multiple Pay by Bank flows depending on your market, customer journey, and connector setup. Use this page to choose the right integration path, then continue in the corresponding Connections documentation. ## What Gr4vy supports Gr4vy supports two broad Pay by Bank models: * **Account-based bank payments (ACH, SEPA, BACS)** for direct debit-style flows in the US, EU/EEA, and UK. * **Redirect bank payments (global)** where buyers authenticate in their bank app or banking portal. ## Choose your integration path ### ACH, SEPA, and BACS Use these pages when you want to process direct bank payments: * **[Direct bank payments](/connections/payments/bank)** Use raw bank account details (`account_number`, `routing_number`, `sort_code`, or IBAN) directly in the API. Supports ACH, SEPA, and BACS schemes. * **[Adyen bank](/connections/payments/adyen-bank)** Process ACH, SEPA, and BACS via Adyen, including Plaid-linked flows and direct bank details. * **[Plaid](/connections/payments/plaid-bank)** Use Plaid for account linking, verification, recurring support, and Signal options. Supports ACH, SEPA, and BACS schemes from Plaid tokens. ### Redirect bank payments and local bank rails Use these pages for country-specific Pay by Bank methods: * **[Bank payments catalog](/connections/payments/by-country)** Browse supported bank payment methods by country. * **[Currency view](/connections/payments/by-currency)** Find bank payment methods by supported currency. ## Common next steps 1. Pick the connector and flow that match your market. 2. Configure the connection in the dashboard. 3. Implement your API flow using the connector page in Connections. 4. Validate with sandbox credentials before going live. If you are starting with direct bank payments and need implementation details, begin with [Direct bank payments](/connections/payments/bank). # Payment links Source: https://docs.gr4vy.com/guides/features/payment-links/overview Set up payment links to accept payments from your customers. Payment Links Payment links allows generation of a link, to send to a customer via email/sms/etc, and then have the customer pay without the need to host a custom checkout. ## Creating a payment link Use the payment links endpoint to create a payment link with the data displayed on the hosted page. The [payment links API endpoint](/reference/payment-links/new-payment-link) makes it easy to get create a new payment link. ```json Request theme={"system"} { "currency":"AUD", "country":"AU", "amount":1000, "metadata":{ "TypeOfPayment":"purchase", "Carbon_FootPrint":"10" }, "cart_items":[ { "name":"Aloe", "unit_amount":1000, "quantity":1, "sku":"aloe" } ], "merchant_banner_url":"https://susies.store/logo.svg", "merchant_color":"#cf6b6b", "merchant_name":"Susie's Store", "merchant_message":"Thanks for your purchase at Susie's Store!", "merchant_terms_and_conditions_url":"https://susies.store/terms-and-conditions", "return_url":"https://susies.store/success" } ``` The payment link includes the `expires_at`, `status`, and other useful information used by the hosted page. Make note of the returned `id` as it is used in the next step. ```json Response theme={"system"} { "id": "09e90ace-a746-41f5-88d2-8b16335ded97", "type": "payment-link", "expires_at": "2025-01-28T14:45:45.929102+00:00", "amount": 1000, "currency": "AUD", "country": "AU", "status": "active", ... } ``` On top of the `merchant_*` specific values, this API supports values that are displayed by the hosted page and also passed to [Embed](/guides/payments/embed/options#options) to process the transaction. * `amount` * `currency` * `country` * `metadata` * `cart_items` * `buyer` * `externalIdentifier` * `intent` * `paymentSource` * `statementDescriptor` * `buyer_id` * `store` By creating a payment link, send it to the customer to complete the payment. ## Storing a payment method A payment link can be used to securely store a payment method against a buyer's profile. To do this, you need to pass both the `buyer_id` and `store` parameters. When `store` is set to `true`, the `buyer_id` of an existing buyer must also be provided. After the payment is completed, the payment method used is stored and associated with that buyer. Currently, it is not possible to use a buyer's existing stored payment methods to complete a payment link. When `buyer_id` is provided, the URL of the payment link should be treated as a secret as it allows anyone the ability to manage payment methods for the associated buyer. # Sharing the payment link Source: https://docs.gr4vy.com/guides/features/payment-links/sharing With the payment link created, share it with the customer. By default a payment link page is hosted with the data you created at the following URL. ```sh theme={"system"} https://pay.{environment}.{instance_id}.gr4vy.app/link/{payment_link_id} ``` * `{payment_link_id}` is the `id` of the payment link you created in the previous step * `{instance_id}` is your `gr4vy_id` * `{environment}` is the environment, either `sandbox` or nothing for production. For example, in production. ```sh theme={"system"} https://pay.example.gr4vy.app/link/954289d7-d701-45ff-a67c-445e60f6e5af ``` Or in sandbox. ```sh theme={"system"} https://pay.sandbox.example.gr4vy.app/link/daf08adb-39bb-4038-b1f1-c52c791e75b6 ``` A custom domain for your payment links can be configured by contacting the support team. # Payment link expiration and statuses Source: https://docs.gr4vy.com/guides/features/payment-links/statuses Your customer uses the payment link to create the payment. If the transaction is successful, the customer is redirected to the `return_url` you specified or an internal success screen otherwise. ## Statuses The page displays different content based on the status of the payment link. ### Generic error Either the payment link id provided is invalid or some other error occurred when loading the page (for example network error). Generic Error ### Payment link not found The payment link id provided is valid but the resource associated with it could not be found. Not Found ### Redirecting Embed has successfully processed the transaction and the page is redirecting the customer to the `return_url` or the internal success screen. Redirecting ### Payment successful (internal) The payment was successful and a `return_url` was not specified. Also displays if the payment link has already been used. Payment Successful ## Expiration By default, payment link expires in 24 hours. This can be configured separately by setting the `expires_at` field in the API. Once expired, a payment link no longer loads and instead shows the following screen. Expired # Payouts Source: https://docs.gr4vy.com/guides/features/payouts/overview Payouts allow transferring funds to third parties from accounts. Currently, the system supports Original Credit Transactions (OCT) via cards only, though support for additional instruments and payout use-cases is planned for the near future. ## Creating a payout To create a new payout, the following details need to be provided. * The amount & currency to pay out to the recipient * The card instrument to pay out to; this can be either a stored card or inline card details * The ID of the payment service to process the request via * The buyer (recipient) details in the form of an inline buyer record, or the ID/external identifier of a stored buyer. ```json Request theme={"system"} { "amount": 20000, "currency": "USD", "payment_service_id": "30dd07ba-2b26-4d56-82cb-6b34c827b3d4", "buyer": { "display_name": "John Smith", "billing_details": { "first_name": "John", "last_name": "Smith", "email_address": "john@example.com", "address": { "postal_code": "789123", } } }, "payment_method": { "method": "card", "number": "4242424242424242", "expiration_date": "01/30" } } ``` ## Stored buyer or payment method The `buyer` object can be replaced with a previously stored buyer using either the `buyer_id` or the `buyer_external_identifier`. Likewise, a previously stored payment method can be used: ```json Request theme={"system"} { "amount": 20000, "currency": "USD", "payment_service_id": "30dd07ba-2b26-4d56-82cb-6b34c827b3d4", "buyer_id": "16727c7c-8ba2-4391-b4f8-7bddfa2f298c" "payment_method": { "method": "id", "id": "b6c67478-5b17-4110-ba2e-eb98790aad4f" } } ``` ## Limitations A few limitations can be expected when making payouts. * Some payment services may have strict requirements for the buyer billing details passed as part of the request. Please see the PSP's developer documentation for more details. * Some payment services may require payouts to be explicitly enabled. Please contact the PSP's support team for more details. * Some payment services may require additional fields to be supplied that are specific to that integration. For this the `connection_options` object has been introduced in the API. Please see the [API specification](/reference/payouts/new-payout) for more details. # Paze on mobile Source: https://docs.gr4vy.com/guides/features/paze/mobile Add Paze to native iOS and Android apps using the Paze mobile SDK and the Gr4vy server SDK. This guide shows how to add Paze to a native iOS or Android app. The shopper completes the Paze flow in your app via the Paze mobile SDK, and your server uses the Gr4vy server SDK to orchestrate the session and create the resulting transaction. For background on how Paze works and how Gr4vy fits in, read the [overview](/guides/features/paze/overview). A runnable web simulation of this flow is available in the [`sample-standalone-paze`](https://github.com/gr4vy/sample-standalone-paze) repository, alongside the web version. The repository shows the server-side calls end-to-end against the Gr4vy API; pair it with the Paze iOS or Android SDK in your own app for the native launch step. ## Before you begin Each merchant that wants to use Paze needs to be approved by Early Warning Services (EWS), and Gr4vy then enables Paze on a per-merchant basis. To start onboarding, see [Set up Paze](/connections/digital-wallets/paze#set-up-paze) on the connector page. The native Paze iOS and Android SDKs are distributed by Paze. Your Paze onboarding contact provides the SDK, the integration documentation, and the credentials your app needs. The server-side examples assume you have already created a Gr4vy client authenticated with your private API key. See [Authentication](/guides/api/authentication) to create the client. Keep your API key and the Gr4vy client on the server — never expose them in your mobile app. ## Overview of the flow The mobile integration has a server side and an app side that coordinate through a callback URL: 1. **Server-side** — create a Paze mobile session with Gr4vy. The session returns the Paze merchant data `id`, `name`, `profileId`, an `accessToken`, and a `sessionId`. 2. **Server-side** — create a Paze checkout URL with the session values, your callback URL scheme, and the intent. 3. **App-side** — launch the Paze checkout URL using the Paze iOS or Android SDK. After the shopper finishes, Paze invokes your callback URL scheme with an opaque response code. 4. **App-side** — forward the response code to your server. 5. **Server-side** — (optional) review the session. Required for `REVIEW_AND_PAY` if you want Gr4vy to add shipping details to the transaction; skipped for `EXPRESS_CHECKOUT`. 6. **Server-side** — complete the session to get the opaque token. 7. **Server-side** — create a Gr4vy transaction with the token. ## Step 1: Create a Paze mobile session On your server, create a Paze session with `source` set to `"mobile"`. Unlike the web flow, `domain_name` is not required for mobile sessions. The response includes the merchant `id`, `name`, `profileId`, plus the `accessToken` and `sessionId` you pass to the next step. ```csharp C# theme={"system"} var res = await client.DigitalWallets.Sessions.PazeAsync( pazeSessionRequest: new PazeSessionRequest() { Source = "mobile", } ); PazeMobileSession? session = null; if (res?.Type == ResponseCreatePazeDigitalWalletSessionType.PazeMobileSession) { session = res.PazeMobileSession; } ``` ```go Go theme={"system"} source := components.SourceMobile res, err := client.DigitalWallets.Sessions.Paze(ctx, components.PazeSessionRequest{ Source: &source, }) if err != nil { log.Fatal(err) } var session *components.PazeMobileSession if res != nil && res.Type == operations.ResponseCreatePazeDigitalWalletSessionTypePazeMobileSession { session = res.PazeMobileSession } ``` ```java Java theme={"system"} CreatePazeDigitalWalletSessionResponse res = gr4vyClient.digitalWallets().sessions().paze() .pazeSessionRequest(PazeSessionRequest.builder() .source(Source.MOBILE) .build()) .call(); PazeMobileSession session = null; if (res.responseCreatePazeDigitalWalletSession().isPresent()) { Object raw = res.responseCreatePazeDigitalWalletSession().get().value(); if (raw instanceof PazeMobileSession) { session = (PazeMobileSession) raw; } } ``` ```php PHP theme={"system"} $pazeSessionRequest = new PazeSessionRequest(source: 'mobile'); $response = $sdk->digitalWallets->sessions->paze(pazeSessionRequest: $pazeSessionRequest); $session = $response->responseCreatePazeDigitalWalletSession; ``` ```python Python theme={"system"} session = client.digital_wallets.sessions.paze( source="mobile", ) ``` ```ts TypeScript theme={"system"} const session = await gr4vy.digitalWallets.sessions.paze({ source: "mobile", }); ``` Use the same `accessToken` and `sessionId` for every server call in this checkout (create, review, complete). Do not reuse them for a different checkout — request a new session each time. ```json Response theme={"system"} { "id": "W8GT9RLCNME754Z7025613H3PDM2T4HF2CSAOi9w2kkP3D4S0", "name": "ACME", "profileId": "550e8400-e29b-41d4-a716-446655440000", "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...", "sessionId": "7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2" } ``` ## Step 2: Create the Paze checkout URL Call `paze_mobile_session_create` with the values from Step 1, the callback URL scheme your app handles, the intent, and the transaction value. The response includes a `pazeCheckoutUrl` to open in the Paze SDK. The supported intents are: * `REVIEW_AND_PAY` — the shopper reviews shipping and card details before paying. Your app and server then call the review step before completing. * `EXPRESS_CHECKOUT` — the shopper pays immediately without a review step. ```csharp C# theme={"system"} var create = await client.DigitalWallets.Sessions.PazeMobileSessionCreateAsync( pazeMobileSessionCreateRequest: new PazeMobileSessionCreateRequest() { Client = new PazeClient() { Id = session.Id, Name = session.Name, ProfileId = session.ProfileId }, SessionId = session.SessionId, AccessToken = session.AccessToken, CallbackURLScheme = "myapp://paze/return", Intent = "REVIEW_AND_PAY", TransactionValue = new PazeTransactionValue() { TransactionAmount = "50.21", TransactionCurrency = "USD", }, TransactionType = "PURCHASE", } ); ``` ```go Go theme={"system"} create, err := client.DigitalWallets.Sessions.PazeMobileSessionCreate(ctx, components.PazeMobileSessionCreateRequest{ Client: components.PazeClient{ ID: session.ID, Name: &session.Name, ProfileID: &session.ProfileID, }, SessionID: session.SessionID, AccessToken: session.AccessToken, CallbackURLScheme: "myapp://paze/return", Intent: "REVIEW_AND_PAY", TransactionValue: &components.PazeTransactionValue{ TransactionAmount: "50.21", TransactionCurrency: "USD", }, TransactionType: gr4vy.String("PURCHASE"), }) ``` ```java Java theme={"system"} CreatePazeMobileSessionResponse createRes = gr4vyClient.digitalWallets().sessions().pazeMobileSessionCreate() .pazeMobileSessionCreateRequest(PazeMobileSessionCreateRequest.builder() .client(PazeClient.builder() .id(session.id()) .name(session.name()) .profileId(session.profileId()) .build()) .sessionId(session.sessionId()) .accessToken(session.accessToken()) .callbackURLScheme("myapp://paze/return") .intent("REVIEW_AND_PAY") .transactionValue(PazeTransactionValue.builder() .transactionAmount("50.21") .transactionCurrency("USD") .build()) .transactionType("PURCHASE") .build()) .call(); PazeMobileSessionCreate create = createRes.pazeMobileSessionCreate().orElse(null); ``` ```php PHP theme={"system"} $create = $sdk->digitalWallets->sessions->pazeMobileSessionCreate( pazeMobileSessionCreateRequest: new PazeMobileSessionCreateRequest( client: new PazeClient( id: $session->id, name: $session->name, profileId: $session->profileId, ), sessionId: $session->sessionId, accessToken: $session->accessToken, callbackURLScheme: 'myapp://paze/return', intent: 'REVIEW_AND_PAY', transactionValue: new PazeTransactionValue( transactionAmount: '50.21', transactionCurrency: 'USD', ), transactionType: 'PURCHASE', ) ); ``` ```python Python theme={"system"} create = client.digital_wallets.sessions.paze_mobile_session_create( client={ "id": session.id, "name": session.name, "profile_id": session.profile_id, }, session_id=session.session_id, access_token=session.access_token, callback_url_scheme="myapp://paze/return", intent="REVIEW_AND_PAY", transaction_value={ "transaction_amount": "50.21", "transaction_currency": "USD", }, transaction_type="PURCHASE", ) ``` ```ts TypeScript theme={"system"} const create = await gr4vy.digitalWallets.sessions.pazeMobileSessionCreate({ client: { id: session.id, name: session.name, profileId: session.profileId }, sessionId: session.sessionId, accessToken: session.accessToken, callbackURLScheme: "myapp://paze/return", intent: "REVIEW_AND_PAY", transactionValue: { transactionAmount: "50.21", transactionCurrency: "USD", }, transactionType: "PURCHASE", }); ``` Return `create.pazeCheckoutUrl`, `session.sessionId`, and `session.accessToken` to your app, along with the chosen `intent`. Your app needs all three to handle the callback and call your server again in Step 4. ## Step 3: Launch Paze in your app Use the Paze iOS or Android SDK to open `pazeCheckoutUrl`. The exact native call is specific to each platform — refer to the SDK documentation your Paze onboarding contact provides. When the shopper finishes, Paze invokes your callback URL scheme (the one you passed in Step 2) with a `response` parameter containing a base64-encoded JWE. Your app decodes that value and sends it to your server, together with the `sessionId`, `accessToken`, and `intent` from Step 2. See [`sample-standalone-paze`](https://github.com/gr4vy/sample-standalone-paze) for an end-to-end reference of the callback decode and the server-side review/complete/transaction calls. The callback `response` is sensitive material that authorizes the transaction. Forward it directly to your server over a trusted channel — do not persist it client-side or send it to other destinations. ## Step 4: Review the session This step is optional. Call `paze_mobile_session_review` when you want Gr4vy to add the shipping address (and the rest of the review data) to the transaction in Step 6. Skip it for `EXPRESS_CHECKOUT`, or for `REVIEW_AND_PAY` checkouts where you do not need those details — and pass the original callback `code` directly to Step 5. Call `paze_mobile_session_review` with the JWE `code` from the callback. The response includes the selected card (masked), the consumer, and the shipping address. When you call review, use `review.code` as the input to Step 5. ```csharp C# theme={"system"} var review = await client.DigitalWallets.Sessions.PazeMobileSessionReviewAsync( pazeSessionReviewRequest: new PazeSessionReviewRequest() { SessionId = sessionId, Code = code, AccessToken = accessToken, } ); ``` ```go Go theme={"system"} review, err := client.DigitalWallets.Sessions.PazeMobileSessionReview(ctx, components.PazeSessionReviewRequest{ SessionID: sessionId, Code: code, AccessToken: accessToken, }) ``` ```java Java theme={"system"} ReviewPazeMobileSessionResponse reviewRes = gr4vyClient.digitalWallets().sessions().pazeMobileSessionReview() .pazeSessionReviewRequest(PazeSessionReviewRequest.builder() .sessionId(sessionId) .code(code) .accessToken(accessToken) .build()) .call(); PazeSessionReview review = reviewRes.pazeSessionReview().orElse(null); ``` ```php PHP theme={"system"} $review = $sdk->digitalWallets->sessions->pazeMobileSessionReview( pazeSessionReviewRequest: new PazeSessionReviewRequest( sessionId: $sessionId, code: $code, accessToken: $accessToken, ) ); ``` ```python Python theme={"system"} review = client.digital_wallets.sessions.paze_mobile_session_review( session_id=session_id, code=code, access_token=access_token, ) ``` ```ts TypeScript theme={"system"} const review = await gr4vy.digitalWallets.sessions.pazeMobileSessionReview({ sessionId, code, accessToken, }); ``` ## Step 5: Complete the session Call `paze_mobile_session_complete` with the code from the previous step (`review.code` for `REVIEW_AND_PAY`, or the original callback `code` for `EXPRESS_CHECKOUT`). The response includes `completeResponse`, the opaque token you forward to Gr4vy as the transaction token. ```csharp C# theme={"system"} var complete = await client.DigitalWallets.Sessions.PazeMobileSessionCompleteAsync( pazeSessionCompleteRequest: new PazeSessionCompleteRequest() { SessionId = sessionId, Code = completeCode, AccessToken = accessToken, TransactionType = "PURCHASE", } ); ``` ```go Go theme={"system"} complete, err := client.DigitalWallets.Sessions.PazeMobileSessionComplete(ctx, components.PazeSessionCompleteRequest{ SessionID: sessionId, Code: completeCode, AccessToken: accessToken, TransactionType: "PURCHASE", }) ``` ```java Java theme={"system"} CompletePazeMobileSessionResponse completeRes = gr4vyClient.digitalWallets().sessions().pazeMobileSessionComplete() .pazeSessionCompleteRequest(PazeSessionCompleteRequest.builder() .sessionId(sessionId) .code(completeCode) .accessToken(accessToken) .transactionType("PURCHASE") .build()) .call(); PazeSessionComplete complete = completeRes.pazeSessionComplete().orElse(null); ``` ```php PHP theme={"system"} $complete = $sdk->digitalWallets->sessions->pazeMobileSessionComplete( pazeSessionCompleteRequest: new PazeSessionCompleteRequest( sessionId: $sessionId, code: $completeCode, accessToken: $accessToken, transactionType: 'PURCHASE', ) ); ``` ```python Python theme={"system"} complete = client.digital_wallets.sessions.paze_mobile_session_complete( session_id=session_id, code=complete_code, access_token=access_token, transaction_type="PURCHASE", ) ``` ```ts TypeScript theme={"system"} const complete = await gr4vy.digitalWallets.sessions.pazeMobileSessionComplete({ sessionId, code: completeCode, accessToken, transactionType: "PURCHASE", }); ``` ## Step 6: Create a transaction Create the transaction with the opaque `completeResponse` from Step 5 as `token`. Set `checkout_token` to the **original** JWE callback `code` from Step 3 (not `review.code`) so Gr4vy can populate the masked card details and shipping address on the transaction. The Paze mobile SDK and `transactionValue` use decimal-string major units (for example `"50.21"`), while Gr4vy's transaction `amount` is an integer in the smallest currency unit (for example `5021` for \$50.21). Convert between the two when bridging the values, and make sure they match for the same purchase. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 5021, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreatePazePaymentMethodCreate( new PazePaymentMethodCreate() { Method = "paze", Token = complete.CompleteResponse, CheckoutToken = code, } ), } ); ``` ```go Go theme={"system"} pazePaymentMethodCreate := components.PazePaymentMethodCreate{ Method: "paze", Token: *complete.CompleteResponse, CheckoutToken: &code, } paymentMethod := components.CreateTransactionCreatePaymentMethodPazePaymentMethodCreate(pazePaymentMethodCreate) transaction, err := client.Transactions.Create(ctx, components.TransactionCreate{ Amount: 5021, Currency: "USD", Country: gr4vy.String("US"), PaymentMethod: &paymentMethod, }, nil, nil) ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(5021L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(PazePaymentMethodCreate.builder() .method("paze") .token(complete.completeResponse().orElseThrow()) .checkoutToken(code) .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 5021, currency: 'USD', country: 'US', paymentMethod: new PazePaymentMethodCreate( method: 'paze', token: $complete->completeResponse, checkoutToken: $code, ), ); $response = $sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=5021, currency="USD", country="US", payment_method={ "method": "paze", "token": complete.complete_response, "checkout_token": code, }, ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 5021, currency: "USD", country: "US", paymentMethod: { method: "paze", token: complete.completeResponse, checkoutToken: code, }, }); ``` The response is a standard Gr4vy transaction. Handle its `status` as you would for any other payment method. ## Test Paze To test Paze on mobile, drive your integration in a simulator or device build with a Paze test wallet. Test wallet credentials are issued by Paze, not by Gr4vy. To obtain a test wallet for your merchant, work with Paze directly through your Paze onboarding contact. For general sandbox environment information, see Paze's [Environments guide](https://developer.paze.com/design-sandbox/docs/environments). # Paze Source: https://docs.gr4vy.com/guides/features/paze/overview Understand how Paze works and how to add the bank-led US digital wallet to your checkout with Gr4vy. Paze Paze is a bank-led digital wallet from Early Warning Services (EWS), the consortium behind Zelle. Major US banks provision eligible credit and debit cards directly into the wallet, so shoppers can check out without entering card details or creating a separate wallet account. This overview explains how Paze works and how Gr4vy fits in. To build an integration, follow the [web setup guide](/guides/features/paze/web). Paze is available to US-based businesses only. Transactions settle in US dollars and require a US acquiring connection that supports network tokens. ## How Paze works Paze does not require shoppers to install an app or enroll cards. Participating banks pre-provision eligible cards into the wallet, and shoppers authenticate with their existing bank credentials. When a shopper checks out: 1. Your checkout renders the Paze button and launches the Paze experience using the Paze SDK. 2. The shopper selects one of their bank-provisioned cards and authenticates. 3. Paze returns an encrypted payload that contains a network token. 4. Your server sends that payload to Gr4vy, which decrypts it and creates a transaction. Because Paze returns a network token rather than a card number, transactions can benefit from higher authorization rates and lower fraud. ## How Gr4vy fits in Gr4vy acts as the Paze Technical Integrator. This means Gr4vy: * Enrolls your merchant account with Paze and manages the Paze credentials. * Generates and rotates the encryption keys and certificates that Paze requires. * Decrypts the Paze payload, extracts the network token, and routes the transaction to your payment service through [Flow](/guides/dashboard/flow/overview). * Ingests the cardholder, billing, and shipping details from the Paze payload and populates them on the transaction. See the per-platform setup guide for the exact mechanics on web and mobile. You host the Paze button and forward the Paze checkout responses to Gr4vy. You do not manage Paze certificates or private keys yourself. ## Integration paths You add the Paze button to your checkout using the Paze SDK for your platform. Gr4vy provides a session endpoint that returns the values the Paze SDK needs to initialize. Add Paze to a web checkout using the Paze JavaScript SDK and the Gr4vy server SDK. Add Paze to iOS and Android apps using the native Paze SDK and the Gr4vy server SDK. ## Reference * [Paze for Business](https://www.paze.com/for-business) — overview for merchants. * [`sample-standalone-paze`](https://github.com/gr4vy/sample-standalone-paze) — a runnable web sample app. # Set up Paze Source: https://docs.gr4vy.com/guides/features/paze/setup Activate Paze in the Gr4vy dashboard and configure your merchant details and domains. This guide walks through activating the Paze digital wallet in the Gr4vy dashboard, the fields it asks for, and how to manage the configuration afterwards. For background on how Paze works and how Gr4vy fits in, read the [overview](/guides/features/paze/overview). When you are ready to add Paze to your checkout, follow the [web setup](/guides/features/paze/web) or [mobile setup](/guides/features/paze/mobile) guide. ## Before you begin Each merchant that wants to use Paze needs to be approved by Early Warning Services (EWS) before Gr4vy can register it with Paze. See [Set up Paze](/connections/digital-wallets/paze#set-up-paze) on the connector page for the onboarding flow. Submit the dashboard activation form below only after your merchant is approved. ## Activate Paze In the Gr4vy dashboard, open **Connections** → **Catalog** → **Paze** to start the activation form. The form has two sections — **Merchant details** and **Merchant profile & domain configuration** — and submits a `POST /digital-wallets` request with `provider` set to `paze`. ### Merchant details These fields identify your business and are used when Gr4vy registers your merchant with Paze. After activation, the legal name, merchant URL, and trading name become read-only. | Field | Required | Description | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------- | | Legal name | Yes | The legal name of your company. Maps to `merchant_name` on the API. | | Merchant URL | Yes | The main URL of your business. Maps to `merchant_url`. | | Trading name | No | The name shown to shoppers in the Paze experience. Defaults to the legal name if left empty. Maps to `merchant_display_name`. | | Address line 1 | Yes | Street address. Maps to `address.line1`. | | Address line 2 | No | Suite, floor, or unit. Maps to `address.line2`. | | City | Yes | City of the registered address. Maps to `address.city`. | | State | Yes | The ISO 3166-2 subdivision code for the state or region, such as `US-CA`. Maps to `address.state_code`. | | Zip code / postal code | Yes | Postal code of the registered address. Maps to `address.postal_code`. | ### Merchant profile & domain configuration These fields control how Paze categorizes your transactions and where the Paze button can run. | Field | Required | Description | | ---------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- | | Merchant category code (MCC) | Yes | The four-digit MCC that best describes your business. Maps to `merchant_category_code`. | | Domain names | Yes | One or more fully qualified domain names where the Paze button is hosted (for example, `www.example.com`). Maps to `domain_names`. | When you save the form, Gr4vy registers your merchant with Paze on your behalf. ## Manage domains You can add domains where the Paze button runs after activation. On the Paze connection page, open the **Domains** tab to add a new fully qualified domain name. Removing domains from a Paze merchant is not currently supported. ## Edit the configuration After activation, the **Overview** tab of the Paze connection lets you edit the address and the MCC. The legal name, merchant URL, and trading name are fixed once Gr4vy registers your merchant with Paze. Some additional configuration, such as the network name and the MID list, can be updated only through the API and is not exposed in the dashboard. ## Next steps * [Add Paze to your web checkout](/guides/features/paze/web). * [Add Paze to your iOS or Android app](/guides/features/paze/mobile). # Paze on web Source: https://docs.gr4vy.com/guides/features/paze/web Add Paze to a web checkout using the Paze JavaScript SDK and the Gr4vy server SDK. This guide shows how to add Paze to a web checkout. The shopper completes the Paze flow in the browser with the Paze JavaScript SDK, and your server uses the Gr4vy server SDK to create a Paze session and the resulting transaction. For background on how Paze works and how Gr4vy fits in, read the [overview](/guides/features/paze/overview). ## Before you begin Each merchant that wants to use Paze needs to be approved by Early Warning Services (EWS), and Gr4vy then enables Paze on a per-merchant basis. To start onboarding, see [Set up Paze](/connections/digital-wallets/paze#set-up-paze) on the connector page. A runnable version of this integration is available in the [`sample-standalone-paze`](https://github.com/gr4vy/sample-standalone-paze) repository. The server-side examples assume you have already created a Gr4vy client authenticated with your private API key. See [Authentication](/guides/api/authentication) to create the client. Keep your API key and the Gr4vy client on the server — never expose them in browser code. ## Overview of the flow The integration has server-side and browser-side steps: 1. **Server-side** — create a Paze session with Gr4vy. The session returns the Paze merchant data `id`, merchant `name`, and `profileId` that the Paze JavaScript SDK needs. 2. **Browser-side** — load the Paze JavaScript SDK, initialize it with the session, render the Paze button, and run the checkout. 3. **Server-side** — create a Gr4vy transaction with the opaque token that the Paze checkout returns. ## Step 1: Create a Paze session On your server, create a Paze session with the domain that hosts the Paze button. Pass the full domain, including any subdomains such as `www.`. ```csharp C# theme={"system"} var res = await client.DigitalWallets.Sessions.PazeAsync( pazeSessionRequest: new PazeSessionRequest() { DomainName = "www.example.com", } ); PazeWebSession? session = null; if (res?.Type == ResponseCreatePazeDigitalWalletSessionType.PazeWebSession) { session = res.PazeWebSession; } ``` ```go Go theme={"system"} domainName := "www.example.com" pazeSessionRequest := components.PazeSessionRequest{ DomainName: &domainName, } res, err := client.DigitalWallets.Sessions.Paze(ctx, pazeSessionRequest) if err != nil { log.Fatal(err) } var session *components.PazeWebSession if res != nil { switch res.Type { case operations.ResponseCreatePazeDigitalWalletSessionTypePazeWebSession: session = res.PazeWebSession case operations.ResponseCreatePazeDigitalWalletSessionTypePazeMobileSession: // res.PazeMobileSession is populated for mobile sessions } } ``` ```java Java theme={"system"} CreatePazeDigitalWalletSessionResponse res = gr4vyClient.digitalWallets().sessions().paze() .pazeSessionRequest(PazeSessionRequest.builder() .domainName("www.example.com") .build()) .call(); PazeWebSession session = null; if (res.responseCreatePazeDigitalWalletSession().isPresent()) { Object raw = res.responseCreatePazeDigitalWalletSession().get().value(); if (raw instanceof PazeWebSession) { session = (PazeWebSession) raw; } } ``` ```php PHP theme={"system"} $pazeSessionRequest = new PazeSessionRequest(domainName: 'www.example.com'); $response = $sdk->digitalWallets->sessions->paze(pazeSessionRequest: $pazeSessionRequest); $session = $response->responseCreatePazeDigitalWalletSession; ``` ```python Python theme={"system"} session = client.digital_wallets.sessions.paze( domain_name="www.example.com", ) ``` ```ts TypeScript theme={"system"} const session = await gr4vy.digitalWallets.sessions.paze({ domainName: "www.example.com", }); ``` The session contains the values that the Paze JavaScript SDK needs. Return it to the browser. ```json Response theme={"system"} { "id": "W8GT9RLCNME754Z7025613H3PDM2T4HF2CSAOi9w2kkP3D4S0", "name": "ACME", "profileId": "550e8400-e29b-41d4-a716-446655440000" } ``` ## Step 2: Load and initialize the Paze SDK In the browser, add the Paze JavaScript SDK script for your environment. Use the sandbox script while testing, and the production script when you go live. ```html Sandbox theme={"system"} ``` ```html Production theme={"system"} ``` Once the script loads, the SDK is available as `window.DIGITAL_WALLET_SDK`. Initialize it with the session from Step 1, then render the Paze button. The initialization is asynchronous, so call it from inside an `async` function. ```js theme={"system"} const paze = window.DIGITAL_WALLET_SDK; async function setupPaze(session) { await paze.initialize({ client: session }); } ``` ```html theme={"system"} ``` ## Step 3: Run the checkout When the shopper clicks the button, call `paze.checkout()` followed by `paze.complete()`. Generate a unique `sessionId` to correlate the two calls. The `complete()` response is the opaque token that your server sends to Gr4vy as `token`, and the `checkout()` response is sent as the optional `checkout_token` (named per your SDK's casing convention). ```js theme={"system"} const button = document.getElementById("paze-button"); button.addEventListener("click", async () => { const sessionId = crypto.randomUUID(); const { checkoutResponse, result } = await paze.checkout({ sessionId, transactionValue: { transactionAmount: "50.21", transactionCurrencyCode: "USD", }, }); if (result === "COMPLETE") { const { completeResponse } = await paze.complete({ sessionId, transactionType: "PURCHASE", transactionValue: { transactionAmount: "50.21", transactionCurrencyCode: "USD", }, }); // Send completeResponse and checkoutResponse to your server. } }); ``` The preceding example shows a minimal set of Paze SDK options. See the [`sample-standalone-paze`](https://github.com/gr4vy/sample-standalone-paze) repository for the full option set. ## Step 4: Create a transaction On your server, create the transaction with the token returned by `paze.complete()`. Set the payment method `method` to `paze` and `token` to the `complete()` response. The `checkout_token` is optional but recommended. Set it to the `checkout()` response to add the card last four digits, card type, expiration, and shipping address to the transaction. The Paze JavaScript SDK takes `transactionAmount` as a decimal string in major units (for example `"50.21"`), while Gr4vy's transaction `amount` is an integer in the smallest currency unit (for example `5021` for \$50.21). Convert between the two when bridging the values, and make sure they match for the same purchase. ```csharp C# theme={"system"} var transaction = await client.Transactions.CreateAsync( transactionCreate: new TransactionCreate() { Amount = 5021, Currency = "USD", Country = "US", PaymentMethod = TransactionCreatePaymentMethod.CreatePazePaymentMethodCreate( new PazePaymentMethodCreate() { Method = "paze", Token = completeResponse, CheckoutToken = checkoutResponse, } ), } ); ``` ```go Go theme={"system"} pazePaymentMethodCreate := components.PazePaymentMethodCreate{ Method: "paze", Token: completeResponse, CheckoutToken: &checkoutResponse, } paymentMethod := components.CreateTransactionCreatePaymentMethodPazePaymentMethodCreate(pazePaymentMethodCreate) transactionCreate := components.TransactionCreate{ Amount: 5021, Currency: "USD", Country: gr4vy.String("US"), PaymentMethod: &paymentMethod, } transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil) // handle response ``` ```java Java theme={"system"} CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create() .transactionCreate(TransactionCreate.builder() .amount(5021L) .currency("USD") .country("US") .paymentMethod(TransactionCreatePaymentMethod.of(PazePaymentMethodCreate.builder() .method("paze") .token(completeResponse) .checkoutToken(checkoutResponse) .build())) .build()) .call(); Transaction transaction = transactionResponse.transaction().orElse(null); // handle response ``` ```php PHP theme={"system"} $transactionCreate = new TransactionCreate( amount: 5021, currency: 'USD', country: 'US', paymentMethod: new PazePaymentMethodCreate( method: 'paze', token: $completeResponse, checkoutToken: $checkoutResponse, ), ); $response = $sdk->transactions->create($transactionCreate); $transaction = $response->transaction; ``` ```python Python theme={"system"} transaction = client.transactions.create( amount=5021, currency="USD", country="US", payment_method={ "method": "paze", "token": complete_response, "checkout_token": checkout_response, }, ) ``` ```ts TypeScript theme={"system"} const transaction = await gr4vy.transactions.create({ amount: 5021, currency: "USD", country: "US", paymentMethod: { method: "paze", token: completeResponse, checkoutToken: checkoutResponse, }, }); ``` The response is a standard Gr4vy transaction. Handle its `status` as you would for any other payment method. ## Test Paze To test Paze, load your integration in the browser and complete a checkout with a Paze test wallet. Make sure your environment matches where Paze is configured, so that the browser loads the matching Paze SDK script: the sandbox script for `sandbox`, and the production script for `production`. Test wallet credentials are issued by Paze, not by Gr4vy. To obtain a test wallet for your merchant, work with Paze directly through your Paze onboarding contact. For general sandbox environment information, see Paze's [Environments guide](https://developer.paze.com/design-sandbox/docs/environments). # PSP Tokenization Source: https://docs.gr4vy.com/guides/features/psp-tokenization/overview PSP tokenization provisions a card stored in the Gr4vy vault as a token on a specific payment provider (PSP). The provider issues its own token that references the card on their side. PSP tokens are used when a downstream service requires a provider-specific reference rather than raw card data — for example, when migrating recurring mandates or storing a card on a provider for future use. ## PSP tokens vs network tokens | | PSP token | Network token | | ----------- | ------------------------------- | --------------------------------------------------- | | Issued by | Payment provider (PSP/acquirer) | Card scheme (Visa, Mastercard) | | Portability | Tied to one provider | Can work across supported providers | | Use case | Provider-specific integrations | Authorization rate optimization, recurring payments | For most use cases, [network tokens](/guides/features/network-tokens/overview) are preferred because they can be more portable across supported providers and provide higher authorization rates. PSP tokens are useful when a specific provider requires its own token format. ## Provisioning a PSP token To provision a PSP token, the card must already be stored in the Gr4vy vault as a payment method. Call the provision endpoint with the target payment service ID. ```csharp C# theme={"system"} using Gr4vy; using Gr4vy.Models.Components; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var res = await sdk.PaymentMethods.PaymentServiceTokens.CreateAsync( paymentMethodId: "ef9496d8-53a5-4aad-8ca2-00eb68334389", paymentServiceTokenCreate: new PaymentServiceTokenCreate() { PaymentServiceId = "fffd152a-9532-4087-9a4f-de58754210f0", RedirectUrl = "https://example.com/callback", } ); // handle response ``` ```go Go theme={"system"} package main import ( "context" "os" gr4vygo "github.com/gr4vy/gr4vy-go" "github.com/gr4vy/gr4vy-go/models/components" "log" ) func main() { ctx := context.Background() s := gr4vygo.New( gr4vygo.WithMerchantAccountID("default"), gr4vygo.WithSecurity(os.Getenv("GR4VY_BEARER_AUTH")), ) res, err := s.PaymentMethods.PaymentServiceTokens.Create( ctx, "ef9496d8-53a5-4aad-8ca2-00eb68334389", components.PaymentServiceTokenCreate{ PaymentServiceID: "fffd152a-9532-4087-9a4f-de58754210f0", RedirectURL: "https://example.com/callback", }, ) if err != nil { log.Fatal(err) } if res != nil { // handle response } } ``` ```java Java theme={"system"} package hello.world; import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.models.components.PaymentServiceTokenCreate; import com.gr4vy.sdk.models.errors.*; import com.gr4vy.sdk.models.operations.CreatePaymentMethodPaymentServiceTokenResponse; import java.lang.Exception; public class Application { public static void main(String[] args) throws Exception { Gr4vy sdk = Gr4vy.builder() .merchantAccountId("default") .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", "")) .build(); CreatePaymentMethodPaymentServiceTokenResponse res = sdk.paymentMethods().paymentServiceTokens().create() .paymentMethodId("ef9496d8-53a5-4aad-8ca2-00eb68334389") .paymentServiceTokenCreate(PaymentServiceTokenCreate.builder() .paymentServiceId("fffd152a-9532-4087-9a4f-de58754210f0") .redirectUrl("https://example.com/callback") .build()) .call(); if (res.paymentServiceToken().isPresent()) { System.out.println(res.paymentServiceToken().get()); } } } ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; $privateKey = file_get_contents('./private_key.pem'); $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $response = $sdk->paymentMethods->paymentServiceTokens->create( paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389', paymentServiceTokenCreate: new Gr4vy\PaymentServiceTokenCreate( paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0', redirectUrl: 'https://example.com/callback', ) ); if ($response->paymentServiceToken !== null) { // handle response } ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth with Gr4vy( id="example", server="sandbox", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) as g_client: res = g_client.payment_methods.payment_service_tokens.create( payment_method_id="ef9496d8-53a5-4aad-8ca2-00eb68334389", payment_service_id="fffd152a-9532-4087-9a4f-de58754210f0", redirect_url="https://example.com/callback" ) print(res) ``` ```ts TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; import fs from "fs"; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", merchantAccountId: "default", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); const result = await gr4vy.paymentMethods.paymentServiceTokens.create({ paymentServiceId: "fffd152a-9532-4087-9a4f-de58754210f0", redirectUrl: "https://example.com/callback", }, "ef9496d8-53a5-4aad-8ca2-00eb68334389"); console.log(result); ``` The response contains the provisioned token details, including the provider's token reference. ## Listing PSP tokens To retrieve existing PSP tokens for a payment method: ```csharp C# theme={"system"} using Gr4vy; var sdk = new Gr4vySDK( id: "example", server: SDKConfig.Server.Sandbox, bearerAuthSource: Auth.WithToken(privateKey), merchantAccountId: "default" ); var res = await sdk.PaymentMethods.PaymentServiceTokens.ListAsync( paymentMethodId: "ef9496d8-53a5-4aad-8ca2-00eb68334389" ); // handle response ``` ```go Go theme={"system"} package main import ( "context" "os" gr4vygo "github.com/gr4vy/gr4vy-go" "log" ) func main() { ctx := context.Background() s := gr4vygo.New( gr4vygo.WithMerchantAccountID("default"), gr4vygo.WithSecurity(os.Getenv("GR4VY_BEARER_AUTH")), ) res, err := s.PaymentMethods.PaymentServiceTokens.List( ctx, "ef9496d8-53a5-4aad-8ca2-00eb68334389", ) if err != nil { log.Fatal(err) } if res != nil { // handle response } } ``` ```java Java theme={"system"} package hello.world; import com.gr4vy.sdk.Gr4vy; import com.gr4vy.sdk.models.operations.ListPaymentMethodPaymentServiceTokensResponse; import java.lang.Exception; public class Application { public static void main(String[] args) throws Exception { Gr4vy sdk = Gr4vy.builder() .merchantAccountId("default") .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", "")) .build(); ListPaymentMethodPaymentServiceTokensResponse res = sdk.paymentMethods().paymentServiceTokens().list() .paymentMethodId("ef9496d8-53a5-4aad-8ca2-00eb68334389") .call(); if (res.paymentServiceTokens().isPresent()) { System.out.println(res.paymentServiceTokens().get()); } } } ``` ```php PHP theme={"system"} declare(strict_types=1); require 'vendor/autoload.php'; use Gr4vy; use Gr4vy\Auth; $privateKey = file_get_contents('./private_key.pem'); $sdk = Gr4vy\SDK::builder() ->setId('example') ->setServer('sandbox') ->setSecuritySource(Auth::withToken($privateKey)) ->setMerchantAccountId('default') ->build(); $response = $sdk->paymentMethods->paymentServiceTokens->list( paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389' ); if ($response->paymentServiceTokens !== null) { // handle response } ``` ```python Python theme={"system"} from gr4vy import Gr4vy, auth with Gr4vy( id="example", server="sandbox", merchant_account_id="default", bearer_auth=auth.with_token(open("./private_key.pem").read()) ) as g_client: res = g_client.payment_methods.payment_service_tokens.list( payment_method_id="ef9496d8-53a5-4aad-8ca2-00eb68334389" ) print(res) ``` ```ts TypeScript theme={"system"} import { Gr4vy, withToken } from "@gr4vy/sdk"; import fs from "fs"; const gr4vy = new Gr4vy({ id: "example", server: "sandbox", merchantAccountId: "default", bearerAuth: withToken({ privateKey: fs.readFileSync("private_key.pem", "utf8"), }), }); const result = await gr4vy.paymentMethods.paymentServiceTokens.list( "ef9496d8-53a5-4aad-8ca2-00eb68334389" ); console.log(result); ``` ## API reference POST /payment-methods/payment\_method\_id/payment-service-tokens GET /payment-methods/payment\_method\_id/payment-service-tokens DELETE /payment-methods/payment\_method\_id/payment-service-tokens/payment\_service\_token\_id # Push payments and Embed Source: https://docs.gr4vy.com/guides/features/push-payments/embed Some payment methods, such as bank transfers, do not return to the server after completion. These methods, termed "Push Payments," involve presenting the user with payment details (like a QR code), after which there is no return to the merchant page. The transaction is an open order, with the payment being pushed to the order asynchronously by the buyer. ## Embed usage In Embed, a push payment immediately completes using the `onComplete` without presenting the buyer with the approval URL. Link the transaction ID to the order, and then either redirect the user to the `approval_url` on the transaction, or present that same URL in a popup or `