$ npm install react-native-puti-pay --save
//or
$ yarn add react-native-puti-pay
//react-native version > 0.60+
$ cd ios && pod install
//or
$ react-native link react-native-puti-pay
Libraries
を右クリックし、 Add Files to [your project's name]
。node_modules
➜ react-native-puti-pay
に移動し、 RNPutiPay.xcodeproj
を追加します。libRNPutiPay.a
をプロジェクトのBuild Phases
に追加します ➜ Link Binary With Libraries
Cmd+R
)< android/app/src/main/java/[...]/MainActivity.java
を開きます。
import com.puti.paylib.PayReactPackage;
ファイルの先頭のインポートにgetPackages()
メソッドによって返されるリストにnew PayReactPackage()
を追加します。次の行をandroid/settings.gradle
に追加します。
include ':react-native-puti-pay'
project(':react-native-puti-pay').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-puti-pay/android')
android/app/build.gradle
の依存関係ブロック内に次の行を挿入します。
compile project(':react-native-puti-pay')
(pod 管理を使用する必要はありません)TARGET -> Build Phases -> Linked Binary With Libraries 追加以下のシステム统库
リスト内の info.plist にアプリケーションの白名を追加し、右键info.plist ソース コードを選択します (plist の具体的な設定は、ビルド設定 -> パッケージ化 -> Info.plist ファイルで取得可能):
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- 支付宝 URL Scheme 白名单-->
<string>alipay</string>
<!-- 微信 URL Scheme 白名单-->
<string>wechat</string>
<string>weixin</string>
</array>
URL スキームの設定 URL スキームは、システム経由でアプリに到達し、スキップするための設定であり、ページ内の info.plist ファイルに URL を追加します。タイプは、三方平台所登録のアプリキー情報をシステム登録アプリに使用することができ、三方アプリサポートに転送された後、直接転送されるアプリをスキップできます。 ID の形式はクラッシュを避けるためのものです。
エントリ文件AppDelegate.m下に設置回调
#import <React/RCTLinkingManager.h>
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
{
return [RCTLinkingManager application:application openURL:url options:options];
}
パケット名の下で wxapi ドキュメントを作成し、 com.puti.paylib
のパケット名の下にあるXWXPayEntryActivity
を継承するWXPayEntryActivity
という名前のアクティビティを新しく作成します。
// wxapi/WXPayEntryActivity.jave
package com.自己包名.wxapi;
import com.puti.paylib.XWXPayEntryActivity;
public class WXPayEntryActivity extends XWXPayEntryActivity {
}
并配置Android Manifest XML
<activity
android:name=".wxapi.WXPayEntryActivity"
android:label="@string/app_name"
android:exported="true" />
初期のバージョンでは ReactPackage を実行する必要がある場合は、createJSModules メソッドを実行する必要があります。
那么在PayReactPackage文件追加一行
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
import XPay from 'react-native-puti-pay'
//设置微信ID
XPay . setWxId ( id )
//设置 支付宝URL Schemes
XPay . setAlipayScheme ( scheme )
//支付宝开启沙箱模式 仅限安卓
XPay . setAlipaySandbox ( isSandBox )
//支付宝支付
//orderInfo是后台拼接好的支付参数
XPay . alipay ( orderInfo , ( res ) => console . log ( res ) )
//微信支付
//这些参数都是由后台生成的
let params = {
partnerId : partnerId ,
prepayId : prepayId ,
packageValue : packageValue ,
nonceStr : nonceStr ,
timeStamp : timeStamp ,
sign : sign ,
}
XPay . wxPay ( params , ( res ) => console . log ( res ) )
例この項目はすでに収集済みです。上のサポート付例を参照してください。サポート付が微信付宝に到達した場合、サポート付不成功でもジャンプ回来対応するフィードバックがすでに成功を収めているため、サポート不足が伝達パラメータの問題です (你可势甩锅给後端公開人员了)前の目的により、微信支付宝支付だけが必要な場合、すべてがこのアプリを記録しています、この項目比は、微信支付宝支付機能のみが必要な場合、または微信支付宝分享登录等機能すでにその第三方聚合平台(友盟)等によって完了する場合に適しています。必要に応じて個別に、マイクロ信を構築するには、react-native-wechat を使用し、支付宝には react-native-yunpeng-alipay を使用します。
安卓信支付時跳转到微信了然后退退是不熟悉安卓人员经常遇的坑,これ是安卓的签名机制问题,安卓签名跟微信后台应用配置签名不一致,微信判定应用非法直接出出。この問題が発生した場合は、名前を変更し、清理微信的数据
(マイクロ信は保存されているため、データを直接消去するか、卸売の再インストールが必要か、または台車) を実行して、この問題を回避する必要があります。参考この構成では、デバッグ名とリリース名を同じにします
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
ios サポート完了、返還なし ios アプリケーションのジャンプ移行は、上記の ios XPay.setWxId()
番目に設定された URL スキームによって区別されるかどうかを判断します。 XPay.setAlipayScheme()
方法都是支付の SDK 将 Scheme 给微信支付宝,支付成功後才能正确跳转回应用,也才有返商家按钮 一切是不有此機能,请再对照文档检查一遍