API FONDYВерсія 1.0

Вимоги до Google Pay

Будь ласка, переконайтеся, що ви використовуєте схвалені затверджені елементи брендування (наприклад, кнопки та активи) відповідно до правил фірмового стилю Google Pay Android, або правил фірмового стилю Google Pay Web, коли:

  • створюєте кнопку оплати на вашому сайті
  • створюєте кнопку оплати у вашому мобільному застосунку
  • посилаєтеся на Google Pay на вашому сайті, в мобільному застосунку, спілкуючись з клієнтами

FONDY підтримує наступні значення параметрів для кожного регіону розрахунку:

const allowedCardNetworks = ["MASTERCARD", "VISA"];
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

Зверніть увагу, що параметр BillingAddressParameters є необов’язковим.

Якщо ви не використовуєте SDK, будь ласка, визначте значення для параметрів gatewayMerchantId та gatewayID явно:

gatewayMerchantId: <ваш FONDY merchant_id>
gatewayID: fondyeu

Інструкції з активації Google Pay для прямої інтеграції

Якщо ви віддаєте перевагу прямій інтеграції з Google Pay API, дотримуйтесь інструкцій Google.

  1. Отримайте зашифровані платіжні дані платника, повернуті Google Pay, використовуючи наступну конфігурацію:
    {
      "apiVersion": 2,
      "apiVersionMinor": 0,
      "allowedPaymentMethods": [
        {
          "type": "CARD",
          "parameters": {
            "allowedAuthMethods": [
              "PAN_ONLY",
              "CRYPTOGRAM_3DS"
            ],
            "allowedCardNetworks": [
              "VISA",
              "MASTERCARD"
            ]
          },
          "tokenizationSpecification": {
            "type": "PAYMENT_GATEWAY",
            "parameters": {
              "gateway": "fondyeu",
              "gatewayMerchantId": ""
            }
          }
        }
      ],
      "transactionInfo": {
        "totalPrice": "",
        "totalPriceStatus": "FINAL",
        "currencyCode": ""
      }
    }
    
  2. Надішліть зашифровані платіжні дані на ваш сервер
  3. Перешліть зашифровані платіжні дані з вашого сервера кінцевій точці FONDY payment API https://pay.fondy.eu/api/3dsecure_step1/ в параметрі container (див. специфікації). В цьому випадку, параметри card_number, cvv2 та expiry_date передавати не треба.
  4. Google Pay працює в двох режимах.
    – allowedAuthMethods: CRYPTOGRAM_3DS, коли картка, збережена в гаманці токенізована банком-емітентом, тоді після відправки container, 3DSecure перевірка не потрібна. Зазвичай такі картки в гаманці мають зображення дизайну, ідентичні фактичному:

    – allowedAuthMethods: PAN_ONLY, коли картка, збережена в гаманці не токенізована, тоді 3DSecure перевірка обов’язкова. Зазвичай такі картки в гаманці мають замість зображення дизайну, звичайні логотипи платіжних систем:

    відключити використання нетокенізованих карт можна вказавши в конфігурації лише “allowedAuthMethods”: [ “CRYPTOGRAM_3DS” ]
  5. У випадку токенізованої картки, метод https://pay.fondy.eu/api/3dsecure_step1/  поверне фінальну відповідь про платіж від сервера FONDY з деталями замовлення і фінальним статусом order_status
  6. У випадку не токенізованої картки, метод https://pay.fondy.eu/api/3dsecure_step1/  поверне лише проміжний результат, і після його отримання, треба перейти до кроку 2 відповідно документації /docs/page/4/ і перенаправити платника на адресу acs_url. Після отримання результату 3DSecure аутентифікації, треба передати параметри pares, md на метод https://pay.fondy.eu/api/3dsecure_step2/  для отримання фінальної відповіді про платіж.
  7. Повідомте платника про результат платежу

Інструкція з активації Google Pay для інтеграції на сайті мерчанта за допомогою JavaScript SDK

Будь ласка, дотримуйтеся нашої основної інструкції з інтеграції платежів для отримання checkout_url.

Дотримуйтеся наших інструкцій з інтеграції JavaScript.

Додайте елементи #mobilepay та #checkout до тіла вашого сайту

<div id="mobilepay"></div>
<div id="checkout"></div>

Додайте кнопку Google Pay на свою сторінку:

<script>
    $ipsp('checkout').config({
        'wrapper': '#checkout',
        'styles': {},
        'mobilepay': {
            'container': '#mobilepay',
            'style': 'white-outline'
        }
    }).scope(function () {
        this.width(480);
        this.height(480);
        this.addCallback('DEFAULTCALLBACK');
        this.action('canMakePayment', function (data) {
            log(data);
        });
        this.action('log', function (data) {
            log(data);
        });
        this.loadUrl(checkout_url);
    });


</script>

 

Інструкції з активації Google Pay для сторінки оплати FONDY (веб)

Для увімкнення кнопки Google Pay на сторінці оплати FONDY чи в Javascript SDK розробка з боку мерчанта не потрібна.

Кнопка Google Pay автоматично увімкнена для всіх мерчантів FONDY у підтримуваних регіонах.

Наразі підтримувані регіони:

  • Україна
  • Європа

Якщо ви не бачите кнопки Google Pay у вашій вебінтеграції, будь ласка, зверніться до команди підтримки FONDY до вашого потрібно перевірити та виправити вашу інтеграцію, щоб увімкнути Google Pay. Наприклад, якщо у вас індивідуальний дизайн сторінки оплати, вам потрібно буде його оновити.

Інструкції з активації Google Pay для мобільного застосунку (Java)

Використовуйте FONDY Java Android SDK для прийому платежів через Google Pay у ваших Android-додатках.

Щоб підключити Google Pay до мобільного додатка Android, виконайте такі кроки:

Крок 1: Налаштуйте свій додаток

Додайте залежності до вашого проєкту в app/build.gradle. Для цієї реалізації потрібна версія Google Play 17.0.0 або новіша, а також FONDY Android SDK.

implementation 'com.google.android.gms:play-services-base:17.0.0'
implementation 'com.google.android.gms:play-services-wallet:17.0.0'
implementation 'com.cloudipsp.android:+'

Оновіть AndroidManifest.xml , щоб включити API Google Pay.

Додайте наступні рядки:

<application ...>
....
<meta-data
    android:name="com.google.android.gms.wallet.api.enabled"
    android:value="true" />
....
</application>

Для додаткової інформації, будь ласка, перегляньте інструкцію з налаштування Google Pay API тут

Крок 2: Налаштуйте ваш Merchant ID

Створіть екземпляр Cloudipsp із вашим ідентифікатором Merchant ID з мерчант-порталy FONDY:

cloudipsp = new Cloudipsp(<ваш merchant_id>, webView);

Крок 3: Створіть кнопку Google Pay у макеті вашого застосунку

Додайте функцію слухача OnClick до кнопки Google Pay.

Перегляньте цей код як приклад:

https://github.com/cloudipsp/android-sdk/blob/master/app/src/main/java/com/cloudipsp/android/demo/BaseExampleActivity.java

Крок 4: Переконайтеся, що Google Pay підтримується на пристрої та в обліковому записі користувача

У методі OnClick викличте статичний метод – Cloudipsp.supportsGooglePay();

Будь ласка, перегляньте наш демонстраційний приклад

Крок 5: Розпочніть процес оплати

Викличте метод – googlePayInitialize.

Крок 6: Обробіть платіж

У методі onGooglePayInitialized, приймаючи об’єкт класу GooglePayCall до компонента.

Ви повинні зберегти його в методі onSaveInstanceState та відновити його в методі onCreate. Це необхідно через те, що під час завантаження зовнішнього компонента, компонент SDK може бути вивантажений з пам’яті.

Крок 7: Завершіть платіж

Передайте результат з onActivityResult до SDK.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case RC_GOOGLE_PAY:
            if (!cloudipsp.googlePayComplete(resultCode, data, googlePayCall, this)) {
                Toast.makeText(this, R.string.e_google_pay_canceled, Toast.LENGTH_LONG).show();
            }
            break;
    }
}

Крок 8: Обробляйте результати платежу

Обробляйте результат в методах onPaidProcessed та onPaidFailure інтерфейсу Cloudipsp.PayCallback.

 

Інструкції з активації Google Pay для мобільного застосунку (React-Native)

Використовуйте FONDY React-Native Android SDK для початку прийому платежів через Google Pay у ваших Android-застосунках.

Крок 1: Підключіть модуль FONDY SDK

За допомогою команди:

react-native link react-native-cloudipsp

або вручну додайте рядки

до android/settings.gradle:

 

include ':react-native-cloudipsp'
project(':react-native-cloudipsp').projectDir = new File(
        rootProject.projectDir,
        '../node_modules/react-native-cloudipsp/android'
)

де react-native-cloudipsp – SDK, розроблене командою FONDY.

до android/app/build.gradle в залежностях

implementation project(':react-native-cloudipsp')
implementation 'com.google.android.gms:play-services-base:16.0.1'
implementation 'com.google.android.gms:play-services-wallet:16.0.1'

Додайте ReactPackage до вашого класу Application:

          
new RNCloudipspPackage()
          
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new RNCloudipspPackage(),
                          ....
    );
}

Крок 2: Налаштування вашого Merchant ID

Вставте ваш Merchant ID з мерчант-порталу FONDY при ініціалізації класу Cloudipsp:

this.cloudipsp = new Cloudipsp(<your merchant_id>, (payConfirmator) => {
  this.setState({ webView: 1 });
  return payConfirmator(this.cloudipspWebView);
});

Крок 3: Створіть кнопку Google Pay у вашому макеті додатка

Додайте функцію події onPress на кнопку Google Pay.

Перевірте цей код для прикладу:

https://github.com/cloudipsp/react-native-cloudipsp/blob/master/Example/index.tsx

Крок 4: Переконайтеся, що Google Pay підтримується на пристрої та в обліковому записі користувача

У методі onPress викличте статичний метод – Cloudipsp.supportsGooglePay();

Будь ласка, перевірте наш демонстраційний приклад

Крок 5: Обробіть платіж

Використовуйте метод googlePay або googlePayToken для обробки платежу через Google Pay.

const order = new Order(...);
...
cloudipsp.googlePay(order)
 .then((receipt) => {
   //обробка результату платежу
 })
 .catch((error) => {
   //обробка помилки платежу
 });

Обробляйте результат у Promise.

 

Підтвердження мобільного додатка Google Pay

  1. Перед інтеграцією мобільного SDK FONDY зареєструйте мерчанта у мерчант-порталі FONDY та надішліть запит у службу підтримки FONDY, щоб активувати Google Pay на вашому рахунку. Ви отримаєте ID мерчанта в тестовому режимі.
  2. Створіть ваш додаток, використовуючи ID мерчанта FONDY в тестовому режимі з SDK від FONDY. FONDY SDK буде використовувати режим ENVIRONMENT_TEST та
    gatewayMerchantId: <your FONDY merchant_id>
    gatewayID: fondyeu
  3. Дотримуйтесь інструкцій щодо надання Google доступу до робочого середовища: https://developers.google.com/pay/api/web/guides/test-and-deploy/request-prod-access
  4. Google перевірить додаток згідно зі своїм контрольним списком інтеграції та надасть рекомендації, якщо це необхідно.
  5. Якщо всі вимоги виконані, надається доступ.
  6. Надішліть запит на підтримку FONDY, щоб переключити ваш ID мерчанта на РЕАЛЬНИЙ з режимом ENVIRONMENT_PRODUCTION.
  7. Надішліть робочий APK, що вказує на РЕАЛЬНИЙ ID мерчанта до Google для затвердження.

 

Хочу приймати платежі з усього світу!