react-native-weibo
Getting started
$ yarn add @dongxii/react-native-alipay
Mostly automatic installation
$ react-native link @dongxii/react-native-alipay
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜@dongxii
➜react-native-alipay
and addRNAlipay.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNAlipay.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.dongxii.library.alipay.RNAlipayPackage;
to the imports at the top of the file - Add
new RNAlipayPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':@dongxii/react-native-alipay' project(':@dongxii/react-native-alipay').projectDir = new File(rootProject.projectDir, '../node_modules/@dongxii/react-native-alipay/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':@dongxii/react-native-alipay')
Additional steps
iOS
- Install the Alipay iOS SDK using cocoapods
pod 'AlipaySDK-Mirror'
- Due to the limitation of App Transport Security(ATS) on http in iOS9.0, you need to add exception for alipay.com, alipayobjects.com. in info.list.:
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
+ <key>alipay.com</key>
+ <dict>
+ <key>NSIncludesSubdomains</key>
+ <true/>
+ <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
+ <true/>
+ <key>NSTemporaryExceptionMinimumTLSVersion</key>
+ <string>TLSv1.0</string>
+ <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
+ <false/>
+ </dict>
+ <key>alipayobjects.com</key>
+ <dict>
+ <key>NSIncludesSubdomains</key>
+ <true/>
+ <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
+ <true/>
+ <key>NSTemporaryExceptionMinimumTLSVersion</key>
+ <string>TLSv1.0</string>
+ <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
+ <false/>
+ </dict>
- In AppDelegate.m add the following code:
+ #import "AlipayModule.h"
[...]
+ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
+ [AlipayModule handleCallback:url];
+ return YES;
+ }
- Ensure that you have set at least one URL scheme for your app (Select your project => Info => URL Types)
Android
- NO ADDITIONAL STEPS NEEDED
Usage
import RNAlipay from '@dongxii/react-native-alipay'
RNAlipay.pay(signedString).then(response => {
console.log(response)
})
Run the example
$ cd example && yarn install
$ cd ios && pod install
$ cd .. && react-native run-ios