Skip to content

Latest commit

 

History

History
192 lines (135 loc) · 7.98 KB

README.md

File metadata and controls

192 lines (135 loc) · 7.98 KB

Click Mobile SDK

Эта библиотека позволяет встроить прием платежей с помощью Click в мобильные приложения на Android. Библиотеку можно использовать для подключения как поставщиков с биллингом, так и без биллинга. Для поставщиков с биллингом нужно реализовать SHOP-API на сервере приложения.

В этом репозитории лежит код Click Mobile SDK и пример приложения, которое его интегрирует.

Подключение через Gradle

Для подключения библиотеки необходимо прописать зависимости в модуле:

root build.gradle:

allprojects {
    repositories {
	    //...
		maven { url 'https://jitpack.io' }
	}
}

build.gradle:

dependencies {
	implementation 'com.github.click-llc:android-msdk:${last.version}'
}

Необходимые разрешения

Следующее разрешение необходимо указать в AndroidManifest

  <uses-permission android:name="android.permission.INTERNET" />

Использование библиотеки

Для начала работы с диалогом приема платежей CLICK надо обратиться к классу ClickMerchant. В ClickMerchant передается класс конфигурации ClickMerchantConfig

Поля ClickMerchantConfig:

Обязательные:

  • serviceId (Long) - идентификатор сервиса или товара поставщика
  • merchantId (Long) - идентификатор поставщика
  • merchantUserId (Long) - идентификатор мерчанта в системе поставщиков
  • amount (Double) - сумма оплаты
  • locale (String) - локализация языка диалога ("UZ", "RU", "EN")

Необязательные:

  • productName (String) - название товара
  • productDescription (String) - описание товара
  • requestId (String) - идентификатор платежа. Используется, если необходимо проверка статуса платежа.
  • transactionParam (String) – параметр транзакции, характеризующий за что платить клиент
  • communalParam (String) – дополнительный параметр
  • paymentOption (PaymentOptionEnum) – способ оплаты (USSD, BANK_CARD)

Пример:

   ClickMerchantConfig config = ClickMerchantConfig.Builder()
            .serviceId(12345)
            .merchantId(12345)
            .amount(50000.0)
	    //transaction param is optional (not set it, if you not have your billing system)
            .transactionParam("order_id_in_your_server ")
//                .returnUrl("https://www.youtube.com/")
            .locale("UZ")
            .theme(ThemeOptions.LIGHT) //ThemeOptions.NIGHT
            .option(PaymentOptionEnum.USSD)
            .productName("Название продкута или услуги")
            .productDescription("Описание продукта или услуги")
            .merchantUserId(12345)
            .build()

Можно включить HttpLoggingInterceptor

   ClickMerchantManager.logs = BuildConfig.DEBUG

Для того, чтобы вызвать диалог оплаты с помощью CLICK, надо использовать следующий метод:

    ClickMerchant.init(supportFragmentManager, config,
            new ClickMerchantListener {
                @Override
                void onRequestIdGet(String requestId) {

                }

                @Override 
                void onFailure() {
	   
                }

                @Override
                void onSuccess(Long paymentId) {

                }
                
                @Override
                void onInvoiceCancelled() {

                }
                
            }
)

onRequestIdGet - срабатывает при успешном получении идентификатора платежа с сервера

onFailure - срабатывает при неуспешной оплате счета

onSuccess - срабатывает при успешной оплате счета

onInvoiceCancelled - срабатывает при отмене выставленного счета

Примеры использования:

Документация Click Merchant Manager

Для работы с библиотекой необходимо получить идентификатор платежа.

Чтобы получить идентификатор платежа, надо отправить инициализирующий запрос:

public void sendInitialRequest(
    Long serviceId, Long merchantId,
    Double amount, String transactionParam, String communalParam,
    Long merchantUserId, String language, ResponseListener<InitialResponse> listener
)

Этот запрос возвращает идентификатор платежа(requestId), который после будет использоваться для проведения платежа

Выставление счета

С помощью этой библиотеки можно выставить счет двумя способами. Первый способ выставить счет по телефону номеру в системе CLICK, второй способ выставить счет по банковской карте.

Выставление счета по телефону номеру в системе CLICK:

public void paymentByUSSD(String requestId, String phoneNumber, ResponseListener<InvoiceResponse> listener) 

Выставление счета по банковской карте:

public void paymentByCard(String requestId, String cardNumber, String expireDate,  ResponseListener<InvoiceResponse> listener) 

Подтверждение платежа

Выставленный счет по банковскей карте надо будет подтвердить с помощью SMS-кода.

public void confirmPaymentByCard(
        String requestId,
        String confirmCode,
        ResponseListener<ConfirmPaymentByCardResponse> listener
)

Проверка статуса платежа

Зная идентификатор платежа, можно узнать его статус

public void checkPaymentByRequestId(String requestId, ResponseListener<CheckoutResponse> listener) 

Возможные статусы:

Значение Описание
< 0 ошибка
0 платеж создан
1 обрабатывается
2 успешно оплачен

Для каждого метода существует аналог с поддержкой RxJava