Skip to content
platonua edited this page Nov 25, 2021 · 12 revisions

Добро пожаловать в WIKI Platon!

Описание инициализации СДК описано на странице PlatonSDK

Для клиентов которые не поддерживают PCI DSS сертификацию сделаны следующие адаптеры:

  • PlatonWebSaleAdapter - API-адаптер для создания транзакции захвата в платформе веб-платежей
  • PlatonWebOneClickSaleAdapter - API-адаптер для процедур интеграции и использование протокола "Оплата в Один Клик" для продавцов электронной коммерции
  • PlatonWebScheduleAdapter - API-адаптер для создания подписки по графику в платформе веб-платежей. Если учетная запись клиента поддерживает повторяющиеся операции, клиент будет получать специальные ссылки, чтобы запрос POST со специальными параметрами который должен быть отправлен для управления периодическими платежами на основе расписания
  • PlatonWebRecurringAdapter - API для облегчения платежей, обычно используемых для создания новых транзакций на основе уже сохраненной информации о держателях карт из предыдущих операций в платформе веб-платежей PlatonRecurring платежи, используемые для создания новых транзакций на основе уже сохраненной информации владельца карты из предыдущих операций

Для клиентов, которые поддерживают PCI DSS сертификацию сделаны следующие адаптеры:

  • PlatonSaleAdapter - API для облегчения захвата транзакций во время SMS и первого этапа DMS
  • PlatonCaptureAdapter - API-адаптер для облегчения захвата транзакций во время DMS
  • PlatonCreditVoidAdapter - API-адаптер для облегчения работы над восстановлением и реверсией фонда
  • PlatonTransactionAdapter - API-адаптер для облегчения извлечения данных транзакций
  • PlatonRecurringAdapter - API для облегчения платежей, обычно используемых для создания новых транзакций на основе уже сохраненной информации о держателях карт из предыдущих операций
  • PlatonScheduleAdapter - API-адаптер для облегчения платежей по графику (повторяющихся). Плательщик может сделать следующий вариант оплаты: регулярный с периодом между платежами, ограничить оплату указанной суммы (транзакции), может установить задержку, после которой первые и последующие платежи с заданным периодом

Интеграция Google Pay:

Показать кнопку google pay: Вы можете настроить кнопку google pay с помощью xml:

<com.platon.sdk.widget.GooglePayButton
    
android:id="@+id/google_pay_button"
    
android:layout_width="match_parent"
    
android:layout_height="wrap_content"
    
android:layout_gravity="center"
    
android:clickable="true"
    
android:focusable="true"
       
app:black="false"
       
app:withText="true" 
       
app:shadow="true"/>

app:black – если true то кнопка будет черного цвета, если false, то кнопка будет белого цвета app:withText – если true, то кнопка будет с текстом "Оплатить через" app:shadow – если true, то кнопка будет с контуром (доступно только для белых кнопок)

Для пользования кнопкой google pay добавьте код:

public class GooglePayActivity extends BaseActivity implements PlatonGooglePayCallback {

	private GooglePayButton googlePayButton;
        private GooglePayHelper googlePayHelper;
@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {

	super.onCreate(savedInstanceState);

	setContentView(R.layout.activity_google_pay);
	googlePayButton = (GooglePayButton) findViewById(R.id.google_pay_button);


	googlePayHelper = new GooglePayHelper();

	googlePayHelper.initGooglePay(context, enviroment, new 	GooglePayReadyToPayListener() {

 	   @Overridepublic void showGooglePayButton(boolean isShow) {

   	     if (isShow) {

 	           googlePayButton.setVisibility(View.VISIBLE);

 	           googlePayButton.setOnClickListener(new View.OnClickListener() {

 	               @Overridepublic void onClick(View v) {

          	          googlePayButton.setEnabled(false);

           	          googlePayHelper.openGooglePay(activity, platonOrderGooglePay, platonPayerGooglePay, platonGooglePayOptions, this, auth);

  	              }

  	          });

	        } else {

 	           googlePayButton.setVisibility(View.GONE);

	        }

	    }

	});

enviroment – значение GooglePayHelper.ENVIRONMENT_TEST для теста, GooglePayHelper.ENVIRONMENT_PRODUCTION для прода.

Чтобы получить данные с GooglePayApp:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    googlePayHelper.resultGooglePay(requestCode, resultCode, data);

    googlePayButton.setEnabled(true);

}

PlatonGooglePayAdapter

Результат запроса - разные статусы оплаты в зависимости от отправленных параметров: success - успешный decline - отмененный recurringInit - успешный с рекуррентной оплатой secure3d - успешный с URL-запросом на странице 3D проверки async - успешный асинхронный error - ошибка процесса оплаты failure - ошибка запроса Система единого сообщения(SMS). SMS представляет собой транзакцию SALE. Он используется для авторизации и записи одновременно. Эта операция обычно используется для немедленных платежей.

public Call sale(

        @NonNull final PlatonOrderGooglePay order,

        @NonNull final String paymentToken,

        @Nullable final PlatonPayerGooglePay payerSale,

        @Nullable final PlatonGooglePayOptions platonSaleOptions,

        @NonNull final PlatonGooglePayCallback platonGooglePayCallback

)

Эта операция использовалась для хранения средств на платежной карточке. Другими словами, это первый шаг двух этапной транзакции. Средства списываются и удерживаются с кредитной карты клиента.
 Обратите внимание, что деньги еще не переведены на расчетный счет. Это происходит при захвате кредитной карты.

public Call auth(
        @NonNull final PlatonOrderGooglePay order,
        @NonNull final String paymentToken,
        @Nullable final PlatonPayerGooglePay payerSale,
        @Nullable final PlatonGooglePayOptions platonSaleOptions,
        @NonNull final PlatonGooglePayCallback platonGooglePayCallback

)

Clone this wiki locally