71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
import { NativeModules, Platform } from 'react-native';
|
||
|
||
const LINKING_ERROR =
|
||
`The package '@uiw/react-native-alipay' doesn't seem to be linked. Make sure: \n\n` +
|
||
Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
|
||
'- You rebuilt the app after installing the package\n' +
|
||
'- You are not using Expo managed workflow\n';
|
||
|
||
console.log(':::NativeModules:::', NativeModules.RNAlipay)
|
||
const RNAlipay = NativeModules.RNAlipay ? NativeModules.RNAlipay : new Proxy(
|
||
{},
|
||
{
|
||
get() {
|
||
throw new Error(LINKING_ERROR);
|
||
},
|
||
}
|
||
);
|
||
// console.log('>RNAlipay1111>', RNAlipay.setAlipayScheme)
|
||
|
||
// console.log('>>NativeModules.RNAlipay:', NativeModules.RNAlipay)
|
||
|
||
export default class Alipay {
|
||
/**
|
||
* 支付
|
||
* @param orderInfo 支付详情
|
||
* @returns result 支付宝回调结果 https://docs.open.alipay.com/204/105301
|
||
*/
|
||
static alipay(orderInfo) {
|
||
return NativeModules.RNAlipay.alipay(orderInfo);
|
||
}
|
||
|
||
/**
|
||
* 快速登录授权
|
||
* @param authInfoStr 验证详情
|
||
* @returns result 支付宝回调结果 详情见 https://opendocs.alipay.com/open/218/105325
|
||
*/
|
||
static authInfo(authInfoStr) {
|
||
return NativeModules.RNAlipay.authInfo(authInfoStr)
|
||
}
|
||
|
||
/**
|
||
* 获取当前版本号
|
||
* @return 当前版本字符串
|
||
*/
|
||
static getVersion() {
|
||
return NativeModules.RNAlipay.getVersion()
|
||
}
|
||
|
||
/**
|
||
* 设置支付宝跳转Scheme,仅 iOS
|
||
* @param scheme
|
||
* @platform ios
|
||
*/
|
||
static setAlipayScheme(scheme) {
|
||
if (Platform.OS === 'ios') {
|
||
NativeModules.RNAlipay.setAlipayScheme(scheme);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 设置支付宝沙箱环境,仅 Android
|
||
* @param isSandBox
|
||
* @platform android
|
||
*/
|
||
static setAlipaySandbox(isSandBox) {
|
||
if (Platform.OS === 'android') {
|
||
NativeModules.RNAlipay.setAlipaySandbox(isSandBox);
|
||
}
|
||
}
|
||
}
|