PaySelection SDK позволяет интегрировать прием платежей в мобильные приложение для платформы Android.
Для работы PaySelection SDK необходим Android версии 5.0 или выше (API level 21)
В build.gradle уровня проекта добавить репозиторий Jitpack
repositories {
maven { url 'https://jitpack.io' }
}
В build.gradle уровня приложения добавить зависимость:
implementation 'com.github.Payselection:Payselection-PayApp-SDK-Android:$version'
- app - Пример вызова методов с использованием SDK
- sdk - Исходный код SDK
Вы можете с помощью SDK:
- создать заказ и совершить платеж картой
- получить детализацию по конкретной транзации
- Создайте конфигурацию с данными из личного кабинета
val configuration = SdkConfiguration(
"04a36ce5163f6120972a6bf46a76600953ce252e8d513e4eea1f097711747e84a2b7bf967a72cf064fedc171f5effda2b899e8c143f45303c9ee68f7f562951c88", // Публичный ключ
"LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFxbk56eXlwR1R6cENZeDlzMnh6RQpaQ3B4eVkyL2YrbWljb0drWW1rV0M5Szl2SlIvcEtUL0VOUThCT1hIRkFBYW5Mb05PNzVLcmJUQ3Z5Y2pXbkJGCnhYQlJZY2NWeGsxaVB0c0VKbkNlcThmYXMwa2dYMFgzLzFnTFdvbkhheVdTUUl5emFTMXMrWUdsNEJyd2s5c08KTTQyZlk0dkM1WGptU1YxUDNlN2pvNUN1d2hxL2ljUkxZbTg1MXBYRTRiZ3FZYS96NEsrbXhUcWJvdC94b3lhTQpxSmlIOS9EUnQveTc0Z2t6Q0VIRThGQ0M4TkJlVXZUckRWbnlSQ0dtSlpVTDh0QnhPd1N3Ty94M1lzZi9CNU9vCkVjbllWdjVSQmF1MDl4VmFGTFN5QkZiRUsvZnRDUktFeUNQbnpYS2FnbTQ3T2dROEIvTkdhQ0cxRmdVOUhJb2gKd093TmsycWY1NTRPR21Oa0E3MnZCR1E0RTZ4TldUSnFJQWhOTUJQTjFMZGdRNXZTamszTUVJRHQ3Y3FEZzhFRwpCNU0vVS9VT2lVU2tXWmFtR3pXOVZFbkJhRFdWZFpxVVpTc0d0aCtJM093NGRPUUxiZG4rdzljYlpHLzR2VmwvCmFKdTdlQlZ2WVhEL0o0TnIzMk5RZ1o2YzlpMCtNU3RwWFUxMlJ4bzhJK1hCNVpZUTkzNE5iVXJoeDBuMlJhQk0KbGtlSTFtbE1ncWI3ME9BRk5zaDUyNUFIL3k5OVpJTzhsR0RqVEpSdDlKZzdGNVFmUEVWekRIbXdxdy9FaFFjQwpjVG5QaGRLOE53NDJ3QldIVDhXYXg4Y1NxYTdwRytTM2JOYkZvUVJlU1dvK2pzV0JNOU1NemJvckNqYWE1UzRNCnNCV0UyN2FRSElVMU5sTGNqK0laUldzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo" // Публичный ключ RSA
"20337" // Site ID
)
- Создайте экземпляр PaySelectionPaymentsSdk для работы с API
val sdk = PayselectionPaymentsSdk.getInstance(configuration)
- Создайте объект PaymentData, содержащий информацию о транзакции и данные карты. При создании объекта используйте соответствующую функцию для выбора метода оплаты
val paymentData = PaymentData.createCrypto(
transactionDetails = TransactionDetails(
amount = "100",
currency = "RUB"
),
cardDetails = CardDetails(
cardholderName = "TEST CARD",
cardNumber = "4111111111111111",
cvc = "123",
expMonth = "12",
expYear = "24"
)
)
- Создайте объект CustomerInfo с информацией о покупателе
val customerInfo = CustomerInfo(
email = "[email protected]",
phone = "+19991231212",
language = "en",
address = "string",
town = "string",
zip = "string",
country = "USA",
ip = ""
),
- Асинхронно (например, с использыванием coroutines) вызовите метод pay
viewModelScope.launch(handler) {
sdk.pay(
orderId = orderId, // ID заказа в вашей системе
description = "", // Комментарий к оплате
paymentData = paymentData // Данные, полученные из первого шага
customerInfo = customerInfo // Данные, полученные из второго шага
).proceedResult(
success = {
// Получение данных о созданной транзакции
// в результате ответа приходит transactionId и transactionSecretKey, redirectUrl
// "transactionSecretKey" служит параметром запроса получения статуса по transactionId
// "redirectUrl" - ссылка на веб-интерфейс платежной системы
},
error = {
// Обработка ошибки оплаты
}
)
}
- Отобразите WebView с полученной ссылкой на веб-интерфейс платежной системы (параметр "redirectUrl" из ответа сервера на метод "pay") с помощью ThreeDsDialogFragment, который находится в пакете ui. Используйте интерфейс ThreeDSDialogListener для прослушивания статуса транзакции.
- Получение статуса одной транзакции
sdk.getTransaction(transactionSecretKey, transactionId)
По возникающим вопросам техничечкого характера обращайтесь на [email protected]