Малайзия
Интернет-банкинг, электронные кошельки и DuitNow QR в MYR
Перед тем как начать
Авторизация
Как подписывать запросы API-токеном.
Создание платежа
Базовый запрос на создание заказа, который расширяет эта страница.
Этот способ оплаты доступен не всем мерчантам. Уточните доступность у вашего менеджера.
Обзор
| Валюта | Способ оплаты |
|---|---|
MYR | Интернет-банкинг, электронные кошельки, DuitNow QR |
Плательщик перенаправляется на paymentLink и завершает оплату в интернет-банке своего банка, в приложении электронного кошелька или сканированием QR-кода DuitNow — в зависимости от способа, включённого на вашем терминале.
amount указывается в малайзийских ринггитах, допускается до двух знаков после запятой, например 150.00.
Способы оплаты
Банк или кошелёк задаётся в настройках терминала и в запросе не передаётся. Попросите менеджера включить нужный способ оплаты.
| Тип | Доступные варианты |
|---|---|
| Интернет-банкинг | Affin Bank, AGRO Bank, Alliance Bank, AmBank, Bank Islam, Bank Rakyat, Bank Muamalat, Bank Simpanan Nasional, CIMB Clicks, Hong Leong Bank, HSBC Bank, Kuwait Finance House, Maybank2U, OCBC Bank, Public Bank, RHB Bank, Standard Chartered Bank, UOB Bank, Bank of China |
| Электронные кошельки | ShopeePay, Boost, Touch 'n Go eWallet, GrabPay |
| QR-код | DuitNow QR |
Чем отличается от обычного заказа
Заказ создаётся через стандартный эндпоинт POST /v1/orders. Базовые поля (amount, currency, successUrl, failUrl, callbackUrl и т. д.) такие же, как у обычного заказа; дополнительно к ним передаётся объект customer с данными плательщика.
| Поле | Тип | Описание |
|---|---|---|
customer | object | Данные плательщика. Набор обязательных полей приведён ниже |
Для этого способа оплаты поле externalUserId обязательно.
Поля объекта customer
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
phone | string | ✅ Да | Малайзийский номер мобильного телефона: 10–11 цифр, начинается с 01 (например, 0123456789). Код страны +60 допускается и удаляется автоматически |
email | string | ✅ Да | Email плательщика |
firstName | string | ✅ Да | Имя, должно совпадать с владельцем банковского счёта или кошелька |
lastName | string | ✅ Да | Фамилия, должна совпадать с владельцем банковского счёта или кошелька |
Передавайте реальные данные плательщика. Имя и номер телефона сверяются с фактическим плательщиком на стороне провайдера; при несовпадении платежи отклоняются.
Пример запроса
{
"purpose": "Payment for order #1234",
"amount": "150.00",
"currency": "MYR",
"externalId": "23456789",
"externalUserId": "437568",
"successUrl": "https://example.com/success",
"failUrl": "https://example.com/fail",
"callbackUrl": "https://example.com/webhooks/payments",
"customer": {
"lastName": "Rahman",
"firstName": "Amir",
"email": "amir.rahman@example.com",
"phone": "0123456789"
}
}Ответ
В ответе возвращается стандартный объект заказа. Заказ создаётся со статусом CREATED; перенаправьте плательщика на paymentLink, чтобы он завершил оплату.
Поля объекта заказа
Если плательщик оплатил меньше суммы заказа, заказ всё равно переходит в статус COMPLETED, а поле amount в объекте заказа обновляется до фактически полученной суммы. Сверяйте её с ожидаемой перед выполнением заказа.