PayBox SDK (Android)
PayBox SDK Android - это библиотека позволяющая упростить взаимодействие с API PayBox. Система SDK работает на Android 4.4 и выше
Исходный код демонстрационного приложения
Описание возможностей:
- Инициализация платежа
- Отмена платежа
- Возврат платежа
- Проведение рекуррентного платежа с сохраненными картами
- Получение информации/статуса платежа
- Добавление карт
- Оплата добавленными картами
- Удаление карт
- Добавьте репозитории Jitpack в ваш build.gradle на уровне проекта в конец репозиториев allprojects:
allprojects {
repositories {
// ...
maven { url "https://jitpack.io" }
}
}
2. Добавьте зависимость:
dependencies {
implementation 'com.github.PayBox:SDK_Android_input:1.0.4.0'
}
PBHelper.Builder builder = new PBHelper.Builder(appContext,secretKey,merchantId);
Выбор платежной системы:
builder.setPaymentSystem(Constants.PBPAYMENT_SYSTEM.NONE);
Выбор валюты платежа:
builder.setPaymentCurrency(Constants.CURRENCY.KZT);
Выбор фрейма вместо платежной страницы:
builder.setFrameRequired(true); //по умолчанию false
Дополнительная информация пользователя, если не указано, то выбор будет предложен на сайте платежного гейта:
builder.setUserInfo(email, 7777*******);
Активация автоклиринга:
builder.enabledAutoClearing(true);
Для активации режима тестирования:
builder.enabledTestMode(true);
Для передачи информации от платежного гейта:
builder.setFeedBackUrl(checkUrl,resultUrl,refundUrl,captureUrl, REQUEST_METHOD);
Время (в секундах) в течение которого платеж должен быть завершен, в противном случае, при проведении платежа, PayBox откажет платежной системе в проведении (мин. 300 (5 минут), макс. 604800 (7 суток), по умолчанию 300):
builder.setPaymentLifeTime(300);
Инициализация параметров:
builder.build();
-
Имплементируйте в Activity -> “PBListener”:
-
В методе onCreate() добавьте:
PBHelper.getSdk().registerPbListener(this);
- В методе onDestroy():
PBHelper.getSdk().removePbListener(this);
(при инициализации с параметром .enableRecurring(int) и передачей userId, карты сохраняются в системе PayBox):
PBHelper.getSdk().initNewPayment(orderId, userId, amount, description, extraParams);
В ответ откроется webView для заполнения карточных данных, после успешной оплаты вызовется метод:
public void onPaymentPaid(Response response)
Активация режима рекуррентного платежа: во входном параметре указывается время, на протяжении которого продавец рассчитывает использовать профиль рекуррентных платежей. Минимальное допустимое значение 1 (1 месяц). Максимальное допустимое значение: 156 (13 лет):
PBHelper.getSdk().enableRecurring(3);
Отключение режима рекуррентного платежа:
PBHelper.getSdk().disableRecurring();
PBHelper.getSdk().initCancelPayment(paymentId);
После успешной операции вызовется метод:
public void onPaymentCanceled(Response response)
PBHelper.getSdk().initRevokePayment(paymentId, amount);
После успешной операции вызовется метод:
public void onPaymentRevoke(Response response)
PBHelper.getSdk().makeRecurringPayment(amount, orderId, recurringProfileId, description, extraParams);
После успешной операции вызовется метод:
public void onRecurringPaid(RecurringPaid recurringPaid)
PBHelper.getSdk().getPaymentStatus(paymentId);
После успешной операции вызовется метод:
public void onPaymentStatus(PStatus pStatus)
PBHelper.getSdk().initPaymentDoCapture(paymentId);
После успешной операции вызовется метод:
public void onPaymentCaptured(Capture capture)
PBHelper.getSdk().addCard(userId, postUrl); //postUrl - для обратной связи
В ответ откроется "webView" для заполнения карточных данных, после успешной операции вызовется метод:
public void onCardAdded(Response response)
PBHelper.getSdk().removeCard(userId, cardId);
После успешной операции вызовется метод:
public void onCardRemoved(Card card)
PBHelper.getSdk().getCards(userId);
После успешной операции вызовется метод:
public void onCardListed(ArrayList<Card> cards)
PBHelper.getSdk().initCardPayment(amount, userId, cardId, orderId, description, extraParams);
После успешной операции вызовется метод:
public void onCardPayInited(Response response)
PBHelper.getSdk().payWithCard(paymentId); //paymentId
В ответ откроется "webView", после успешной операции вызовется метод:
public void onCardPaid(Response response)
- orderId - Идентификатор платежа в системе продавца. Рекомендуется поддерживать уникальность этого поля.
- amount - Сумма платежа
- merchantId - Идентификатор продавца в системе PayBox. Выдается при подключении.
- secretKey - Платежный пароль, используется для защиты данных, передаваемых системой PayBox магазину и магазином системе Paybox
- userId - Идентификатор клиента в системе магазина продавца.
- paymentId - Номер платежа сформированный в системе PayBox.
- description - Описание товара или услуги. Отображается покупателю в процессе платежа.
- extraParams - Дополнительные параметры продавца. Имена дополнительных параметров продавца должны быть уникальными.
- checkUrl - URL для проверки возможности платежа. Вызывается перед платежом, если платежная система предоставляет такую возможность. Если параметр не указан, то берется из настроек магазина. Если параметр установлен равным пустой строке, то проверка возможности платежа не производится. возможности платежа не производится.
- resultUrl - URL для сообщения о результате платежа. Вызывается после платежа в случае успеха или неудачи. Если параметр не указан, то берется из настроек магазина. Если параметр установлен равным пустой строке, то PayBox не сообщает магазину о результате платежа.
- refundUrl - URL для сообщения об отмене платежа. Вызывается после платежа в случае отмены платежа на стороне PayBoxа или ПС. Если параметр не указан, то берется из настроек магазина.
- captureUrl - URL для сообщения о проведении клиринга платежа по банковской карте. Если параметр не указан, то берется из настроек магазина.
- REQUEST_METHOD - GET, POST или XML – метод вызова скриптов магазина checkUrl, resultUrl, refundUrl, captureUrl для передачи информации от платежного гейта.