# 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.
## 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**.
### Secret key
Navigate to the same section and select **+ Create a new key**, then select
**Secret API key**.
### 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).
## 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).
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 - 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.
### 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
## 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.
## 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
## 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.
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.
### 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.
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.
**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.
## 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
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.
## 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)
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**.
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.
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.
## 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.
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**.
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.
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.
## 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.
## 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.
## 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.
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.
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.
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.
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.
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.
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)
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.
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.
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 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**.
### 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.
### 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.
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.
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"}
```
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 `
## 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.
## 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.
## 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 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.
## 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.
## 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
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 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).
### Payment link not found
The payment link id provided is valid but the resource associated with it could not be found.
### Redirecting
Embed has successfully processed the transaction and the page is redirecting the customer to the `return_url` or the internal success screen.
### Payment successful (internal)
The payment was successful and a `return_url` was not specified. Also displays if the payment link has already been used.
## 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.
# 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 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 `