1.0.3 • Published 6 years ago

@dongxii/react-native-alipay v1.0.3

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

react-native-weibo

Getting started

$ yarn add @dongxii/react-native-alipay

Mostly automatic installation

$ react-native link @dongxii/react-native-alipay

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modules@dongxiireact-native-alipay and add RNAlipay.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNAlipay.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. 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 the getPackages() method
  1. 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')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
    compile project(':@dongxii/react-native-alipay')

Additional steps

iOS

  1. Install the Alipay iOS SDK using cocoapods
pod 'AlipaySDK-Mirror'
  1. 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>
  1. 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;
+	}
  1. 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

  1. $ cd example && yarn install
  2. $ cd ios && pod install
  3. $ cd .. && react-native run-ios