---
updatedAt: 2026-09-18T08:03:15.000Z
agentTools:
  projectIndex: https://docs.dlocal.com/llms.txt
---

# Malaysia

Learn about the dLocal supported payment methods in Malaysia.

[block:html]
{
  "html": "<style>\n  \n  .main {\n    margin-left: auto;\n    margin-right: auto;\n    margin-bottom: 5px;\n    display: grid;\n    grid-template-columns: repeat(3, 1fr); /* Tres columnas */\n    width: 740px; /* Ancho máximo de la caja */\n}\n\n.overview-card1 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n\n.overview-card1::after {\n    content: '';\n    position: absolute;\n    right: 0; /* Pega la línea al borde derecho */\n    top: 30%; /* Ajusta la posición superior de la línea */\n    height: 45%; /* Establece el alto de la línea al 60% */\n    width: 1px; /* Grosor de la línea */\n    background-color: #D2D8EC; /* Color de la línea */\n}\n\n  .overview-card2 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n  \n  .overview-card2::after {\n    content: '';\n    position: absolute;\n    right: 0; /* Pega la línea al borde derecho */\n    top: 30%; /* Ajusta la posición superior de la línea */\n    height: 70%; /* Establece el alto de la línea al 60% */\n    width: 1px; /* Grosor de la línea */\n    background-color: #D2D8EC; /* Color de la línea */\n}\n  \n.overview-card3 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n\n.overview-card-upper-side1 {\n    height: 105px;\n    padding: 20px;\n    background-color: transparent;\n    text-align: left;\n}\n\n.overview-card-bottom-side {\n    position: relative;\n    width: 100%;\n    height: 100%;\n    padding: 30px;\n    padding-right: 20px;\n    background-color: transparent;\n    border-radius: 16px;\n}\n\n.overview-card-title1 {\n    font-family: 'Plus Jakarta Sans', sans-serif;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 26.4px;\n}\n\n.overview-card-content1 {\n    font-size: 14px;\n    font-weight: 300;\n    margin-top: 20px;\n    line-height: 20px;\n    margin-bottom: 40px!important;\n}\n\n.overview-icon1 {\n    margin-bottom: -5px;\n    margin-top: 20px;\n}\n  \n.doc-link {\n        position: relative;\n        font-weight: 500;\n        color: #21A35B !important;\n        text-decoration: none;\n        display: block;\n    }\n  \n\ndiv:not(.markdown-body) .doc-link:hover {\n            text-decoration: none;\n            color: #1043FA !important;\n            transform: translateX(0.2em);\n        }\n\n.overview-card-title1:hover {\n    color: #2D59F5 !important;\n    cursor:pointer;\n    transform: none!important;\n}\n\n    div:not(.markdown-body) .doc-link_arrow {\n        display: inline-block;\n        height: 1em;\n        width: auto;\n        vertical-align: middle;\n        margin-left: 0.2em;\n        margin-top: -0.1em;\n    }\n  \n     div:not(.markdown-body) .doc-link:hover .doc-link_arrow-color {\n            fill: #1043FA !important;\n        }\n  \n      [data-color-mode=\"dark\"] .overview-icon1 img {\n  filter: brightness(0) invert(1);\n  transition: filter 0.3s ease;\n}\n  \n/* Media Queries para dispositivos móviles */\n@media (max-width: 768px) {\n  .main {\n    grid-template-columns: repeat(2, 1fr); /* Dos columnas en pantallas medianas */\n  }\n}\n\n@media (max-width: 480px) {\n  .main {\n    grid-template-columns: 1fr; /* Una columna en pantallas pequeñas */\n}\n</style>\n  \n    <div class=\"main\">\n\n     <!-- Market specifications -->\n      <div class=\"overview-card1\" onclick=\"parent.location='/docs/malaysia#market-specifications'\">\n     <div class=\"overview-card-bottom-side\">\n      <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/922681fecfb238c94f7213fa9e0aa1675f1e190ec55beff2b6994169c77fdefc-adjust-circle.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Market specifications</h3>\n          <p class=\"overview-card-content1\">\n            Take a look of all the payment methods available.   \n        </p>\n          <a href=\"#country-reference\" class=\"doc-link\">Country reference</a>\n          <a href=\"#cards-supported\" class=\"doc-link\">Cards supported</a>\n          <a href=\"#alternative-payment-method-supported\" class=\"doc-link\">APM supported</a>\n        </div>\n      </div>\n      \n      <!-- Cards -->\n      <div\n        class=\"overview-card2\" onclick=\"parent.location='/docs/malaysia#cards'\">\n        <div class=\"overview-card-bottom-side\">\n                <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/8d450ada4af3880f85f70c5daedebb0bec1b2b6d64479be929af48fdc8d66f40-credit-card.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Cards</h3><br>\n          <p class=\"overview-card-content1\">\n           Find all the information about the card supported capabilities.   \n          </p>\n          <a href=\"#capabilities\" class=\"doc-link\">Capabilities</a>\n          <a href=\"#how-to-process-card-payments\" class=\"doc-link\">Process Card Payments</a>\n        </div>\n      </div>  \n      \n      <!-- APM -->\n      <div class=\"overview-card3\" onclick=\"parent.location='/docs/malaysia#alternative-payment-method'\">\n    <div class=\"overview-card-bottom-side\">\n               <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/5a59519487455e7af361db8b67a2dee8d71627d4d6e1ed0a0bd805f5da861fcc-money-stack.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Alternative Payments</h3>\n          <p class=\"overview-card-content1\">\n             Learn how to integrate cash, bank transfer or wallet payment.  \n        </p>\n          <a href=\"#7-eleven\" class=\"doc-link\">7-eleven</a>\n          <a href=\"#maybank\" class=\"doc-link\">Maybank</a>\n          <a href=\"#fpx\" class=\"doc-link\">FPX</a>\n          <a href=\"#boost\" class=\"doc-link\">Boost</a>\n          <a href=\"#grabpay\" class=\"doc-link\">GrabPay</a>\n          <a href=\"#maybank-qr\" class=\"doc-link\">Maybank QR</a>\n          <a href=\"#touch-n-go\" class=\"doc-link\">Touch 'n Go</a>\n          <a href=\"#shopeepay\" class=\"doc-link\">Shopeepay</a>\n          <a href=\"#duitnowqr\" class=\"doc-link\">DuitNowQR</a>\n          <a href=\"#atome\" class=\"doc-link\">Atome</a>\n        </div>\n      </div> \n      \n    </div>"
}
[/block]

<br />

***

# Market specifications

Do you want to know more information about Malaysia's market? Go to the [Accelerate Growth in Asia’s Leading eCommerce Hubs](https://dlocal.com/online-payment-processors-in-asia/) article.

## Country reference

| `country` code | `currency` code | `amount` decimals | `document` name | `document` format | `document` required? |
| :------------: | :-------------: | :---------------: | :-------------: | :---------------: | :------------------: |
|      `MY`      |      `MYR`      |         2         |       NRIC      |     12 digits     |          Yes         |

## Cards supported

| `payment_method_id` | Brand ID | Name               | `payment_method_type` | Details       | Allowed Flows       | Logo                                                                                |
| :------------------ | :------- | :----------------- | :-------------------- | :------------ | :------------------ | :---------------------------------------------------------------------------------- |
| `CARD`              | `VI`     | Visa               | `CARD`                | Credit Card ​ | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/VI.svg" width="40px"> |
| `CARD`              | `VD`     | Visa Debit ​       | `CARD`                | Debit Card ​  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/VD.svg" width="40px"> |
| `CARD`              | `MC`     | Mastercard         | `CARD`                | Credit Card ​ | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/MC.svg" width="40px"> |
| `CARD`              | `MD`     | Mastercard Debit ​ | `CARD`                | Debit Card ​  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/MD.svg" width="40px"> |

<Callout icon="ℹ️" theme="info">
  To offer all the card options that may be available in your integration, send the `payment_method_id` as `CARD`.
</Callout>

## Alternative Payment Method supported

| `payment_method_id` | Name        | `payment_method_type` | Details          | Allowed Flows       | Logo                                                                              |
| :------------------ | :---------- | :-------------------- | :--------------- | :------------------ | :-------------------------------------------------------------------------------- |
| `SL`                | 7-eleven    | `TICKET`              | Cash Payments ​  | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/SL.png" width="40px">        |
| `FP`                | Maybank     | `BANK_TRANSFER`       | Bank Transfer ​  | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/FP.png" width="40px">        |
| `IO`                | FPX         | `BANK_TRANSFER`       | Bank Transfer ​  | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/FPX.png" width="40px">       |
| `YB`                | Boost       | `WALLET`              | Wallet ​         | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/Boost.png" width="40px">     |
| `GY`                | GrabPay     | `WALLET`              | Wallet ​         | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/GrabPay.png" width="40px">   |
| `MB`                | Maybank QR  | `WALLET`              | Wallet ​         | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/MaybankQR.png" width="40px"> |
| `TG`                | Touch 'n Go | `WALLET`              | Wallet ​         | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/Touchngo.png" width="40px">  |
| `SO`                | Shopeepay   | `WALLET`              | Wallet ​         | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/SO.png" width="40px">        |
| `DQ`                | DuitNowQR   | `WALLET`              | Wallet ​         | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/DQ.png" width="40px">        |
| `TA`                | Atome       | `TICKET`              | Installment Plan | `REDIRECT`          | <img src="https://static.dlocal.com/images/providers/TA.svg" width="40px">        |

<br />

***

# Cards

## Capabilities

|                               | Visa Credit   | Visa Debit    | Mastercard Credit | Mastercard Debit |
| :---------------------------- | :------------ | :------------ | :---------------- | :--------------- |
| **Minimum amount**            | 5 MYR         | 5 MYR         | 5 MYR             | 5 MYR            |
| **Refunds**                   | Yes           | Yes           | Yes               | Yes              |
| **Recurring**                 | Yes           | Yes           | Yes               | Yes              |
| **Chargeback option**         | Yes           | Yes           | Yes               | Yes              |
| **Chargeback Dispute option** | Yes           | Yes           | Yes               | Yes              |
| **Descriptor**                | Merchant name | Merchant name | Merchant name     | Merchant name    |

## How to process Card Payments?

Learn how to process payments with credit and debit cards with dLocal in our [Card Payments](https://docs.dlocal.com/docs/card-payments) section.

<br />

***

# Alternative Payment Method

## 7-eleven

7-Eleven is a Cash payment method from the biggest convenience store chain in Malaysia.

It allows customers to make online purchases and pay using cash. With stores around the country, it has a wide coverage, reaching hundreds of customers per day.

### Capabilities

|                                    | 7-eleven   |
| :--------------------------------- | :--------- |
| **Min. amount**                    | 5 MYR      |
| **Max. expiration time supported** | 2 days     |
| **Notification delay**             | Immediate  |
| **Refunds**                        | Yes        |
| **Flow**                           | `REDIRECT` |

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `SL` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 20,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "SL",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-069886a5-bde5-hy653-bae9-cb33e54f2397",
    "amount": 20,
    "currency": "MYR",
    "payment_method_id": "SL",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:04:26.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-3ab38f30-e279-h671-b47f-f31fa4ee0f99"
}
```

### Example ticket

<Image src="https://files.readme.io/13bfac242e2db48e5855b85accc49fb48591847f3afe43c22ee85308b57eaf36-APM_-_7-eleven.png" alt="Example 7-eleven built with the information in the example above." align="center" width="70% " caption="Example 7-eleven built with the information in the example above." />

## Maybank

Bank transfers are the most-used e-commerce payment method in Malaysia, with half of the e-commerce payment market.

### Capabilities

|                                    | Maybank    |
| :--------------------------------- | :--------- |
| **Min. amount**                    | 5 MYR      |
| **Max. expiration time supported** | 35 minutes |
| **Notification delay**             | Immediate  |
| **Refunds**                        | Yes        |
| **Flow**                           | `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/c9206fe2d17f857ad27d30fecad6cc6738a34e4369923d91935d6857cb81ec0b-Maybank_bank_transfer.png" alt="The screenshots illustrate a generic Maybank redirect flow." align="center" caption="The screenshots illustrate a generic Maybank redirect flow." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `FP` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "FP",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-c732e5b4-24b3-46a6-5433-cd86c70f6f35",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "FP",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:29:03.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-872d8b37-la73-465a-a2cf-d3248c61c350"
}
```

## FPX

FPX is a reliable internet-based payment gateway that allows real-time payments for online purchases hassle-free or bill payments using your Savings / Current account or even Credit Card.

FPX is operated by Payments Network Malaysia Sdn Bhd (PayNet)

### Capabilities

|                                    | FPX        |
| :--------------------------------- | :--------- |
| **Min. amount**                    | 5 MYR      |
| **Max. expiration time supported** | 35 minutes |
| **Notification delay**             | Immediate  |
| **Refunds**                        | Yes        |
| **Flow**                           | `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/c7ea05b794fc10e6921ed93cdc5fa79161eee9bca512fbe72ea230c3246e3aa5-FPX.png" alt="The screenshots illustrate a generic FPX redirect flow. The specifics of the flow can change depending on the bank selected to complete the transaction." align="center" caption="The screenshots illustrate a generic FPX redirect flow. The specifics of the flow can change depending on the bank selected to complete the transaction." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `IO` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "IO",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-101d40ab-g5ty-4735-8c97-a21c9427db91",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "IO",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:49:37.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-continue/M-723a51dd-901w-4522-8905-453eaad7149a"
}
```

## Boost

Wallets are very popular in Malaysia, which is leading its Southeast Asian neighboring countries in terms of the usage of digital wallets.

In terms of competition, among the top e-wallets are Boost, Touch 'n Go, Maybank QR, ShopeePay, and GrabPay. All these wallets are constantly rising in popularity.

### Capabilities

|                                    | Boost                      |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 5 MYR                      |
| **Max. expiration time supported** | 5 minutes                  |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### UX Flow

#### QR code flow

<Image src="https://files.readme.io/88d6171b6bfe7e0efaf30cef646c998e8145acf451cffd552e3cb91ed9b924a1-Boost.png" alt="The screenshots illustrate a generic Boost redirect flow on a browser through QR Code." align="center" caption="The screenshots illustrate a generic Boost redirect flow on a browser through QR code." />

#### Payment in-app flow

<Image src="https://files.readme.io/29da2292ec9b579c6aa97fb8b6ea1c5b5c452f9701b7e328a262c4300f109f45-Boost.png" alt="The screenshots illustrate a generic Boost redirect flow on mobile choosing the Tap and Pay option to complete the payment in-app." align="center" caption="The screenshots illustrate a generic Boost redirect flow on mobile choosing the Tap and Pay option to complete the payment in-app." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `YB` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "YB",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-b3721a18-7ff1-487c-fr43-d4637fc3a94d",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "YB",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:51:05.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-3ecd987f-7a7d-4e32-a0ba-5aebabba732d"
}
```

## GrabPay

Wallets are very popular in Malaysia, which is leading its Southeast Asian neighboring countries in terms of the usage of digital wallets.

In terms of competition, among the top e-wallets are Boost, Touch 'n Go, Maybank QR, ShopeePay, and GrabPay. All these wallets are constantly rising in popularity.

### Capabilities

|                                    | GrabPay                    |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 5 MYR                      |
| **Max. expiration time supported** | 5 minutes                  |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/1da6e5ea80584f7699bf26c5d586a10f591f3af231e0bd9b48050aeba34a25ae-GrabPay-MYR.png" alt="The screenshots illustrate a generic GrabPay redirect flow." align="center" caption="The screenshots illustrate a generic GrabPay redirect flow." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `GY` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "GY",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-ae9209f1-2f8e-4801-gfd3-4117cd888ce8",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "GY",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:53:00.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-10b9a53f-3421-4373-bcd6-fe65304ee445"
}
```

## Maybank QR

Wallets are very popular in Malaysia, which is leading its Southeast Asian neighboring countries in terms of the usage of digital wallets.

In terms of competition, among the top e-wallets are Boost, Touch 'n Go, Maybank QR, ShopeePay, and GrabPay. All these wallets are constantly rising in popularity.

### Capabilities

|                                    | Maybank QR                 |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 5 MYR                      |
| **Max. expiration time supported** | 5 minutes                  |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/39f80d2bce949f42b11a436cf37c6b01cff2e9be1371ad1638b6706818a73f1c-Maybank_QR_Pay.png" alt="The screenshots illustrate a generic Maybank QR Pay redirect flow through a QR code." align="center" caption="The screenshots illustrate a generic Maybank QR Pay redirect flow through a QR code." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `MB` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "MB",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789876",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-f9c65093-yt65-4c1f-bb29-b2fdaec47ccb",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "MB",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-03-10T13:15:40.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-c9c43cac-e86b-4f31-6t65-57929d695b88"
}
```

## Touch 'n Go

Wallets are very popular in Malaysia, which is leading its Southeast Asian neighboring countries in terms of the usage of digital wallets.

In terms of competition, among the top e-wallets are Boost, Touch 'n Go, Maybank QR, ShopeePay, and GrabPay. All these wallets are constantly rising in popularity.

### Capabilities

|                                    | Touch 'n Go |
| :--------------------------------- | :---------- |
| **Min. amount**                    | 5 MYR       |
| **Max. expiration time supported** | 5 minutes   |
| **Notification delay**             | Immediate   |
| **Refunds**                        | Yes         |
| **Flow**                           | `REDIRECT`  |

### UX Flow

#### QR code flow

<Image src="https://files.readme.io/ae5c73adfdad266ff7e123298308cb4cc6f4947a533abc68cf8c172051a2ede1-Touch_n_go_-_QR.png" alt="The screenshots illustrate a generic Touch 'n go redirect flow through a QR code available for web and desktop views." align="center" caption="The screenshots illustrate a generic Touch 'n Go redirect flow through a QR code available for web and desktop views." />

#### Wallet flow

<Image src="https://files.readme.io/7d7ef855ed3ccf632356ee1f53d56ebc0198794a684e178a6a347229aef67a8f-Touch_n_go_-_Wallet.png" alt="The screenshots illustrate a generic Touch 'n go wallet redirect flow." align="center" caption="The screenshots illustrate a generic Touch 'n Go wallet redirect flow." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `TG` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "TG",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}

```
```json Response example
{
    "id": "R-4-4678d8f3-bc63-5rt4-bb68-72f3d52d7ce9",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "TG",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-01-30T15:56:10.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-c5731556-6554-408e-ad02-80d68d1c586c"
}
```

## Shopeepay

Wallets are very popular in Malaysia, which is leading its Southeast Asian neighboring countries in terms of the usage of digital wallets.

In terms of competition, among the top e-wallets are Boost, Touch 'n Go, Maybank QR, ShopeePay, and GrabPay. All these wallets are constantly rising in popularity.

### Capabilities

|                                    | Shopeepay  |
| :--------------------------------- | :--------- |
| **Min. amount**                    | 5 MYR      |
| **Max. expiration time supported** | 90 minutes |
| **Notification delay**             | Immediate  |
| **Refunds**                        | Yes        |
| **Flow**                           | `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/48fefd7935951f1ee3dd88b4ecdbb3ee0761f47913fdd0766b393f685d0e736c-ShopeePay2.png" alt="The screenshots illustrate a generic ShopeePay redirect flow through a QR code." align="center" caption="The screenshots illustrate a generic ShopeePay redirect flow through a QR code." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `SO` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "SO",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-5461d8a7-f565-4328-6ytf-95e541640584",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "SO",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-02-17T18:09:42.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0w",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-862004ff-6013-thy6-8432-e30b2f388beb"
}

```

## DuitNowQR

An interoperable QR standard that allows Malaysians to make payments and receive funds from any participating Bank and eWallet with just one QR code.

### Capabilities

|                                    | DuitNowQR                  |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 5 MYR                      |
| **Max. expiration time supported** | 5 minutes                  |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/663d87de6555c5ccb5a772de2d4c1f5b6cd9bbc3dc01147686f5b8c5e21aa7a1-DuitNow_Qr.png" alt="The screenshots illustrate a generic DuitNowQR redirect flow through a QR code. The specifics of the flow can change depending on the payment method selected to complete the transaction." align="center" caption="The screenshots illustrate a generic DuitNowQR redirect flow through a QR code. The specifics of the flow can change depending on the payment method selected to complete the transaction." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `DQ` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | Yes        |
| `payer.email`         | String | Email of the payer.                                                                                                    | Yes        |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "DQ",
    "payment_method_flow": "REDIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "phone": "+006286123456",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "345453483kqws0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response example
{
    "id": "R-4-d7c221a9-ab7b-48c9-4r56-c72e7d869d86",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "DQ",
    "payment_method_type": "TICKET",
    "payment_method_flow": "REDIRECT",
    "country": "MY",
    "created_date": "2023-02-17T17:54:45.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "345453483kqws0w",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-c650346a-c177-4d72-45tr-f4b98f6a2185"
}
```

### Direct

DuitNowQR can also be processed as a `DIRECT` payment method flow, returning the QR payload directly in the payment response instead of a redirect URL.

```json Request Example
{
    "amount": 50,
    "currency": "MYR",
    "country": "MY",
    "payment_method_id": "DQ",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "phone": "+006286123456",
        "document": "123456789012",
        "address": {
            "country": "MY",
            "state": "Malacca",
            "city": "Malacca",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "QR-DIRECT-EXAMPLE",
    "description": "Tshirt",
    "notification_url": "https://merchant.example.com/notifications"
}
```
```json Response Example
{
    "id": "D-4-d7c221a9-ab7b-48c9-4r56-c72e7d869d86",
    "amount": 50,
    "currency": "MYR",
    "payment_method_id": "DQ",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "MY",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "expiration_date": "2023-02-17T18:24:45.000+0000",
        "number": "DQ2302171754450001",
        "id": "d7c221a9-ab7b-48c9-4r56-c72e7d869d86",
        "barcode": "00020101021226370016A00000067701011201150107536000315080214KB0000016689500320API1675101655190221631690016A00000067701011301030040214KB0000016689500420API1675101655190221653034585405050.005802MY5907D Local6011Kuala Lumpur6304ABCD",
        "provider_name": "provider-example",
        "provider_logo": "https://static.dlocal.com/images/providers/DQ.png",
        "provider_url": "https://provider-example.com/app/pay?ref=example",
        "image_url": "https://pay.dlocal.com/gmf-apm/payments/example",
        "amount": 50,
        "currency": "MYR"
    },
    "created_date": "2023-02-17T17:54:45.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "QR-DIRECT-EXAMPLE",
    "notification_url": "https://merchant.example.com/notifications"
}
```

`ticket.provider_url` may be a payment-app deep link. Treat it as an optional app-entry point that can be offered alongside the QR code, not as a replacement for the `ticket.barcode` payload — the payer can always complete the payment by scanning the QR code even if the deep link is not used.

###

## Atome

Atome’s BNPL in Malaysia allows consumers to make purchases and pay them in installments. It offers flexible payment plans, often interest-free if paid on time, and is designed to cater to local consumers and merchants.

### Capabilities

|                                    | Atome      |
| :--------------------------------- | :--------- |
| **Min. amount**                    | 10 MYR     |
| **Max. expiration time supported** | 12 hours   |
| **Notification delay**             | Immediate  |
| **Refunds**                        | Yes        |
| **Flow**                           | `REDIRECT` |

### UX Flow

<Image src="https://files.readme.io/811483430a2dd78afa7d67c0572d6f1121e8ed8b1b400d5c889de636bd0b473b-Atome_BNPL.png" alt="The screenshots illustrate a generic Atome redirect flow. The specifics of the flow can change depending on the payment method selected to complete the transaction." align="center" caption="The screenshots illustrate a generic Atome redirect flow. The specifics of the flow can change depending on the payment method selected to complete the transaction." />

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged                                                                                                   | Yes        |
| `currency`            | String | `MYR`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `MY` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `TA` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `REDIRECT`                                                                                                             | Yes        |
| `payer.phone`         | String | Phone number of the payer.                                                                                             | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `description`         | String | Description of the items purchased.                                                                                    | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |
| `callback_url`        | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request example
{
  "amount": 150,
  "currency": "MYR",
  "country": "MY",
  "payment_method_id": "TA",
  "payment_method_flow": "REDIRECT",
  "payer": {
    "phone": "+80000000011"
  },
  "order_id": "345453483kqws0",
  "description": "Tshirt",
  "notification_url": "https://merchantsite.com/notifications",
  "callback_url": "https://merchantsite.com/callback"
}
```
```json Response example
{
  "id": "R-4-d7c221a9-ab7b-48c9-4r56-c72e7d869d86",
  "amount": 150,
  "currency": "MYR",
  "payment_method_id": "TA",
  "payment_method_type": "TICKET",
  "payment_method_flow": "REDIRECT",
  "country": "MY",
  "created_date": "2025-11-12T12:34:56.000+0000",
  "status": "PENDING",
  "status_detail": "The payment is pending.",
  "status_code": "100",
  "order_id": "345453483kqws0w",
  "description": "Tshirt",
  "notification_url": "https://merchantsite.com/notifications",
  "redirect_url": "https://pay.dlocal.com/gmf-apm/payments/E-4-32e1218f-b6ec-3f21-13d5-50v12ere2ca4"
}
```
```json Asynchronous response (webhook)
{
  "id": "R-4-d7c221a9-ab7b-48c9-4r56-c72e7d869d86",
  "amount": 150,
  "status": "PAID",
  "status_detail": "The payment was paid.",
  "status_code": "200",
  "currency": "MYR",
  "country": "MY",
  "payment_method_id": "TA",
  "payment_method_type": "TICKET",
  "payment_method_flow": "REDIRECT",
  "payer": {
    "name": "Jane Doe",
    "email": "jane.doe@example.com",
    "document": "123456789012"
  },
  "order_id": "your-order-id-123",
  "description": "Tshirt",
  "notification_url": "https://merchantsite.com/notifications",
  "created_date": "2025-11-12T12:34:56.000+0000"
}
```