
Платёжная система Намбы построена на принципах OAuth 1.0a .
Для пользователя процесс оплаты состоит из шагов:
На сайте Продавца должен находиться программный код, который реализует функционал клиента платежной системы Намбы. Этот клиент должен поддерживать взаимодействие с платёжной системой Намбы с использованием протокола OAuth1.0a . В клиенте должен быть реализован функционал защиты от CSRF и защита от многократных оказаний услуги по одному и тому же transaction id.
Информационный обмен между серверами Продавца и платёжной системой Намбы подписывается электронной подписью на основе распространённого алгоритма, применяемого в Facebook, Twitter, Mail.ru, Vkontakte и др.
С описанием алгоритма подписи по принциту "сервер-сервер" можно ознакомиться в адресу http://api.mail.ru/docs/guides/restapi/#server
.
Тестового режима не предусмотрено, поэтому разработку-тестирование придётся вести на рабочей системе, оперируя минимальными суммами 1.00 или 0.01 .
Процесс оплаты с функциональной точки зрения состоит из следующих стадий:
order_id
.txn_id
.order_id
и txn_id
.request token
на access token
.order_id
с полученным txn_id
, оказывает пользователю услугу, меняет статус заказа на "Оплачен". Тут необходимо предусмотреть защиту от многократного оказания услуги пользователю по одному и тому же txn_id
. Такое может случиться в случае, например, если пользователь обновит страницу.performPayment
, в котором замороженные на счёте пользователя средства перечисляются на счёт Намба-аккаунта, которому принадлежит приложение.Для работы с платёжной системой Намбы необходимо:
http://dev.namba.kz/applications/new.php
и ввести название приложение. Это название будет отображаться пользователям при подтверждении платежа.CONSUMER_KEY
и CONSUMER_SECRET
в конфигурацию программного кода клиента на Вашем сайте.
Значение CONSUMER_SECRET
следует хранить в строгой тайне и использовать только для обеспечения сервер-серверного взаиможействия. При необходимости ключи CONSUMER_KEY
и CONSUMER_SECRET
можно перегенерировать.
Список Ваших приложений будет доступен по адресу http://dev.namba.kz/applications/list.php
.Request token URL = http://api.namba.kz/oauth/request_token.php
.Access token URL http://api.namba.kz/oauth/access_token.php
Authorize URL = https://login.namba.kz/login3.php
Authorize URL
,
отображённого Вам в списке Ваших приложений http://dev.namba.kz/applications/list.php
).request token
с Намбы.Authorize URL
дополнительно передать GET-параметры:
'oauth_token'
- полученный request token'sum'
- сумма к оплате.'item_id'
- id товара. Необязательный параметр.'title'
- краткое описание цели платежа, будет отображено пользователю с диалоге подтверждения оплаты. Из-за ограничений длины URL этот
параметр не должен превышать 255 символов.'order_id'
- уникальный номер заказа'order_ts'
- timestamp создания заказа'sig'
- подпись для всех предыдущих параметров по алгоритму "сервер-сервер".'result'
- или 'pay'
, если пользователь подтвердил платёж, или 'cancel'
в случае, если пользователь отменил процесс оплаты'txn_id'
- в случае 'pay'
- уникальный номер транзакции по оплате в платёжной системе Намбы.'sig'
- подпись для всех предыдущих параметров по алгоритму "сервер-сервер".'pay'
необходимо пометить заказ как оплаченный и затем оказать пользователю запрошенную им услугу.OAuth access token
.'performPayment'
, передав ему параметры:
'action'
- строку 'checkout'
.'txn_id'
- номер подтверждаемой транзакции.'payment_ts'
- timestamp времени оказания услуги .'sig'
добавлять не нужно.
performPayment
будет доступен в формате JSON
. Если поле status
будет равным 1, то перечисление средств на счёт Вашего приложения завершилось успешно. С случае ошибки будет status=0
.Для PHP используется дополнительно устанавливаемое расширение http://pecl.php.net/package/oauth
.