使用社区推荐的react-native-yunpeng-alipay插件,按照文档配置就行了,配置完毕,使用react-native run-android启动项目,可能会报错,报错信息是什么override无法覆盖(具体忘了),这时候找到报错那个文件,删除掉那一行的@override就行了。
调用方法:
import Alipay from 'react-native-yunpeng-alipay';
Alipay.pay("signed pay info string").then(function(data){//pay方法的参数就是后台给你的付费签名信息。
console.log(data);
}, function (err) {
console.log(err);
});
如果你的手机有支付宝的话,此时就已经可以调用起支付宝了。(^▽^)
如果想实现没有支付宝APP就打开h5页面进行支付的功能,看支付宝的官方文档,将以下的权限加到AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
并且将以下代码加到AndroidManifest.xml里面,注意以下代码必须是<application>
的子元素:
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
<activity
android:name="com.alipay.sdk.app.H5AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
(另外切记:build.grade 和 androidManifest.xml里面的targetSdkVersion 要改成23以上才能使用权限!!!!!!!!!!!!!)
然后就大功告成了!!!