react-native-yookassa
v2.3.0
Published
Library for implement Yandex Checkout
Downloads
61
Maintainers
Readme
Yookassa Checkout on React Native
Android library: 7.0.0
iOS library: 7.2.0
Install
yarn
yarn add react-native-yookassa
npm
npm install react-native-yookassa --save
Usage
import YandexPayment, { Shop, Payment, PaymentToken } from 'react-native-yookassa';
const shop: Shop = {
id: 'SHOP_ID',
token: 'test_SHOP_TOKEN',
name: 'Shop name',
description: 'Shop description',
}
const payment: Payment = {
amount: 399.99,
currency: 'RUB', // 'RUB' | 'USD' | 'EUR'
types: ['BANK_CARD'], // 'YANDEX_MONEY' | 'BANK_CARD' | 'SBERBANK' | 'PAY'. PAY - means Google Pay or Apple Pay
yooKassaClientId: 'SHOP_ID',
savePaymentMethod: 'OFF', // 'ON' | 'OFF' | 'USER_SELECTS'
}
try {
const paymentToken: PaymentToken = await YandexPayment.show(shop, payment)
console.warn(paymentToken.token) // payment token
console.warn(paymentToken.type) // payment method type
// send token to your backend and get requestUrl for payment confirmation
// const requestUrl = <FETCH_FROM_BACKEND>
await YandexPayment.show3ds(requestUrl, paymentToken.type)
YandexPayment.close()
} catch (e) {
console.error('Payment error')
}
Android
minSdkVersion = 24
- Add file
android/app/src/main/res/xml/ym_network_security_config.xml
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">certs.yoomoney.ru</domain>
</domain-config>
- Add line in
android/app/src/main/AndroidManifest.xml
<application
...
+ android:networkSecurityConfig="@xml/ym_network_security_config"
...
/>
- Add file
android/app/src/debug/res/xml/network_security_config.xml
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
- Add lines in
android/app/src/debug/AndroidManifest.xml
<application
...
+ android:networkSecurityConfig="@xml/network_security_config"
+ tools:replace="android:networkSecurityConfig"
...
/>
- For SBP payments add your unique app schema in
android/app/src/main/res/values/string.xml
Details see on git.yoomoney.ru
<resources>
...
+ <string name="ym_app_scheme" translatable="false">exampleapp</string>
...
</resources>
- Add lines in
android/build.gradle
allprojects { repositories { maven {url 'https://developer.huawei.com/repo/'} } }
iOS
Min CocoaPods version: 1.13.0
Min iOS version: 14.0
- Add dependency in
ios/Podfile
source 'https://github.com/CocoaPods/Specs.git'
source 'https://git.yoomoney.ru/scm/sdk/cocoa-pod-specs.git'
...
platform :ios, '14.0'
use_frameworks!
...
target 'MyApp' do
pod 'YooKassaPayments',
:build_type => :dynamic_framework,
:git => 'https://git.yoomoney.ru/scm/sdk/yookassa-payments-swift.git',
:tag => '7.2.0'
# ... other dependencies
end
- Install pods in
ios
pod install