Как взаимодействовать с Pakistan Payment API?
Как взаимодействовать с Pakistan Payment API?
I. Обзор рынка платежей в Пакистане
Будучи второй по величине экономикой в Южной Азии, Пакистан в последние годы отмечает стремительный рост цифровых платежей. По данным Государственного банка Пакистана (SBP), в 2022 году число пользователей мобильных кошельков в стране превысило 50 миллионов, а объем электронных транзакций вырос на 45% по сравнению с предыдущим годом. Для предприятий, желающих выйти на пакистанский рынок, крайне важно понимать основные местные способы оплаты и реализовать API-докинг.
Основные каналы оплаты включают:
- JazzCash (крупнейший мобильный кошелек)
- EasyPaisa (принадлежит Telenor)
- HBL Konnect (электронный кошелек Habibank)
- Канал сотрудничества UnionPay International (UPI) в Пакистане
- Местная банковская карта 1Система 1Link/PTCL
II. Предварительная подготовительная работа
1. зарегистрируйте торговый счет
Посетите официальный сайт целевой платежной платформы (например, страницу продавца JazzCash) и отправьте заявку:
- Регистрационные документы компании
- Сертификат налогового удостоверения NTN
- Удостоверение личности директора
Этапы реализации технологии стыковки API
1. Получите документацию по API и тестовую среду
После завершения регистрации продавца платежные платформы обычно предоставляют следующие ресурсы:
- Тестовый счет в песочнице (для демо-торговли)
- Документация по API (в основном в формате REST/JSON)
- SDK или примеры кода (некоторые платформы предоставляют библиотеки Java/PHP/Python)
Ключевые элементы конфигурации:
"bash
Пример типовой конфигурации # JazzCash
API_ENDPOINT = "https://sandbox.jazzcash.com.pk/api/v1/payment"
MERCHANT_ID = "YOUR_MERCHANT_ID"
SECURE_HASH_KEY = "xxxxxx" # для проверки подписи
CALLBACK_URL = "https://yourdomain.com/callback"
“`
2. Механизмы аутентификации и безопасности интерфейса
В пакистанских платежных API обычно используются следующие решения по обеспечению безопасности:
| Механизмы безопасности | Описания |
|—————-|———————————————————————-|
| OAuth2.0 | EasyPaisa и другие платформы требуют сначала access_token |.
| IP-белый список | Требуется привязка IP-адреса сервера в бэкенде продавца |
| HMAC-SHA256 | JazzCash и другие требуют, чтобы параметры запроса были упорядочены для создания подписи |
Пример генерации подписи PHP:
"`php
$data = [
'amount' => '1000',
'orderId' => 'ORD123456',
'timestamp' => time()
];
ksort($data); // сортировка по имени ключа
$signature = hash_hmac('sha256', http_build_query($data), $SECURE_HASH_KEY);
“`
—
3.Практика разработки основных интерфейсов
(1) Инициируйте запрос на оплату
Типичная структура HTTP POST-запроса:
"`json
// Пример запроса на оплату в JazzCash
{
"pp_Version": "1.1",
"pp_TxnType": "MWALLET".
"pp_Language": "EN".
pp_MERCHANTID: MERCHANT_ID,
pp_SubMerchantID: "",
pp_Password: API_PASSWORD,
pp_BankID: "",
pp_ProductID: "",
pp_TxnRefNo": uniqid(),
}
“`
> ✅ *Примечание: Единицу измерения суммы необходимо перевести в рупии (например, 100 PKR ≈ $0.36)*.
—
(2) Обработка асинхронных обратных вызовов
Когда пользователь завершит платеж, платформа отправит уведомление на ваш `CALLBACK_URL`. Требуется:
1️⃣ Проверка легитимности подписи
Сравните полученное хэш-значение с локально вычисленным значением контрольной суммы
2️⃣ Обработка мощности
Использование `transaction_id` для предотвращения дублирования проводок
3️⃣ Отвечает на стандартные форматы
Возвращает HTTP200 и сообщения о подтверждении:
"`xml
“`
—
IV. Руководство по устранению распространенных проблем
❌Код ошибки `403 Forbidden`
→ IP не внесен в белый список или отсутствуют заголовки авторизации
❌ Код ошибки `500 Invalid Hash`.
→ Проверьте, соответствует ли порядок параметров документу, ошибка временной метки должна составлять ≤5 минут
💡 *совет по отладке*: тестируйте базовый процесс с помощью Postman, прежде чем внедрять его в формальную систему.
—
Базовое выравнивание можно завершить, выполнив описанные выше действия. Рекомендуем следить за [State Bank of Pakistan Policy Updates] (https://www.sbp.org.pk), чтобы обеспечить соответствие требованиям к квалификации PSP/EMI в соответствии с новыми правилами 2023 года.