Интеграция SDK на стороне приложения
- Реализуйте получение платежного токена одним из следующих способов:
- С помощью методов библиотеки Store (рекомендуется):
- Для покупки одного предмета вызовите метод
createOrderByItemSku
. - Для покупки товаров в корзине:
- После наполнения корзины пользователем вызовите метод
fillCurrentCartWithItems
. - Вызовите метод
createOrderFromCartById
илиcreateOrderFromCurrentCart
.
- После наполнения корзины пользователем вызовите метод
- Для покупки одного предмета вызовите метод
- С помощью методов библиотеки Store (рекомендуется):
- С помощью IGS & BB API.
- С помощью собственных серверных методов или методов BaaS-решения.
- Реализуйте открытие платежного интерфейса:
Примечание
В качестве примера реализации используйте демопроект.
Copy
- kotlin
val intent = XPayments.createIntentBuilder(this)
.accessToken(AccessToken(token))
.isSandbox(BuildConfig.IS_SANDBOX)
.build()
startActivityForResult(intent, RC_PAYSTATION)
- Реализуйте обработку результата платежа:
Copy
- kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_PAYSTATION) {
val (status, _) = XPayments.Result.fromResultIntent(data)
when (status) {
XPayments.Status.COMPLETED -> showSnack(getString(R.string.payment_completed))
XPayments.Status.CANCELLED -> showSnack(getString(R.string.payment_cancelled))
XPayments.Status.UNKNOWN -> showSnack(getString(R.string.payment_unknown))
}
}
}
Примечание
В качестве примера реализации используйте демопроект.
Прогресс интеграции
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.