Отличие от обычной схемы работы заключается в том, что платеж инициируется вызовами методов API без вывода дополнительных WEB страниц. Для этого передается дополнительный параметр background cо значением “1”. На данный момент по описанной схеме возможно проведение оплаты по токенам карт, через QIWI и мобильный платеж для операторов Билайн, МТС, Мегафон и ТЕЛЕ2.
...
1 2 3 4 5 6 7 8 | $service = new AlbaService(SERVICE_ID, 'SERVICE_SECRET'); try { $payTypes = $service->payTypes(); // $payTypes - массив допустимых способов оплаты } catch (AlbaException $e) { echo $e->getMessage(); } |
...
1 2 3 4 5 6 7 8 | from alba_client import AlbaService, AlbaException service = AlbaService(SERVICE_ID, 'SERVICE_SECRET') try: pay_types = service.pay_types() # pay_types - список допустимых способов оплаты except AlbaException, e: print("Произошла ошибка: {}".format(e)) |
...
1 2 3 | AlbaService service = new AlbaService(SERVICE_ID, "SERVICE_SECRET"); Set<String> paymentTypes = service.paymentTypes(); |
...
ВАЖНО: результат инициализации означает создание платежной транзакции. Оплата транзакции отложена по времени, результат оплаты необходимо получать обрабатывая нотификации (сокращенная нотификация, расширенная нотификация) от системы РФИ или формировать запрос на получение статуса транзакции.
ВАЖНО: для операций проведения повторного списания по рекуррентам, операция выполняется синхронно. Положительный ответ гарантирует успешное проведение операции, при этом рекомендуется в любом случае обрабатывать нотификации отправляемые от системы РФИ.
...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $service = new AlbaService(SERVICE_ID, 'SERVICE_SECRET'); try { $result = $service->initPayment( 'mc', // способ оплаты 10, // сумма 'Test', // название платежа '71111111111' // телефон клиента False, // order_id (необязательный параметр) 'partner', // комиссия (необязательный параметр) ); if ("success" === $result->status) { echo "Успешная инициация транзакции id = " . $result->tid; } else { echo $result->message; } } catch (AlbaException $e) { echo $e->getMessage(); } |
...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from alba_client import AlbaService, AlbaException service = AlbaService(SERVICE_ID, 'SERVICE_SECRET') try: result = service.init_payment( pay_type='mc', cost=10, name='Test', phone='71111111111', commission='partner' ) if result['status'] == "success": print("Успешная инициация транзакции {}".format(result['tid'])) else: print(result['message']) except AlbaException, e: print("Произошла ошибка: {}".format(e)) |
- java
1 2 3 4 5 6 7 8 9 10 11 12 | AlbaService service = new AlbaService("SERVICE_KEY"); InitPaymentRequest request = new InitPaymentRequest() .builder() .setPaymentType("mc") .setCost(new BigDecimal(10.5)) .setName("Test") .setPhone("71111111111") .build(); InitPaymentResponse response = service.initPayment(request) |
Anchor | ||||
---|---|---|---|---|
|
...
1 2 3 4 5 6 7 8 | $service = new AlbaService(SERVICE_ID, SERVICE_SECRET); try { $details = $service->transactionDetails(TRANSACTION_ID); echo 'Статус транзакции: ' . $details->transaction_status; } catch (AlbaException $e) { echo $e->getMessage(); } |
...
1 2 3 4 5 6 7 8 | from alba_client import AlbaService, AlbaException service = AlbaService(SERVICE_ID, 'SERVICE_SECRET') try: details = service.transaction_details(TRANSACTION_ID) print('Статус транзакции: {}'.format(details['transaction_status'])) except AlbaException, e: print("Произошла ошибка: {}".format(e)) |
...