npm i --save nativescript-paypal
- 版本:2.6.9
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-paypal
- 下载
- 昨天: 0
- 上周: 2
- 上个月: 46
NativeScript PayPal
NativeScript 模块,用于通过官方 SDK 实现简单的 PayPal 付款。
许可证
平台
- Android
路线图
安装
在你的应用项目内部运行以安装模块。
tns plugin add nativescript-paypal
AndroidManifest.xml
Android
确保在你的清单文件中定义以下权限、活动和其他数据
app.gradle
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<uses-feature android:name="android.hardware.camera"
android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus"
android:required="false" />
<application>
<activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
<activity android:name="com.paypal.android.sdk.payments.LoginActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" />
<activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" />
<activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" />
<activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" />
<activity android:name="io.card.payment.DataEntryActivity" />
<service android:name="com.paypal.android.sdk.payments.PayPalService"
android:exported="false" />
</application>
</manifest>
确保在你的项目的 app/App_Resources/Android/app.gradle
文件中包含对 PayPal SDK 的引用。
演示
dependencies {
// PayPal
compile 'com.paypal.sdk:paypal-android-sdk:2.14.2'
}
快速入门
查看 demo/app/main-view-model.js 文件,了解如何使用它。
否则...
使用方法
包含
在你的代码后包含该模块
var PayPal = require("nativescript-paypal");
初始化
初始化环境
function onPageLoaded(args) {
PayPal.init({
clientId: '<YOUR-CLIENT-ID>'
});
}
exports.onPageLoaded = onPageLoaded;
提交给 PayPal.init
函数的(可选)对象具有以下结构
属性
名称 | 描述 |
---|---|
acceptCreditCards | 【可选】接受信用卡或不接受。默认:(true) |
account | 【可选】定义有关账户的信息。 |
clientId | 在 PayPal 开发者门户 中生成的你的应用的 PayPal ID。 |
defaults | 【可选】定义默认数据。 |
environment | 【可选】要使用的环境。可能的值是:0 = ENVIRONMENT_SANDBOX ,1 = ENVIRONMENT_PRODUCTION ,2 = ENVIRONMENT_NO_NETWORK 。 |
onActivityResult | 【可选】用于底层 Android 活动的 Activity.onActivityResult 方法的逻辑,该活动用于调用其他模块的逻辑,例如 |
rememberUser | 【可选】记住最后一个用户以进行下一次付款或不记住。默认:(true) |
requestCode | 【可选】要使用的自定义请求代码(例如,用于 Activity.onActivityResult Android 方法)。默认:230958624 |
account
具有以下结构的 account
对象
属性
名称 | 描述 |
---|---|
name | 【可选】商家的名称。 |
privacyPolicy | 【可选】商家隐私政策的 URI。 |
userAgreement | 【可选】商家用户协议的 URI。 |
defaults
具有以下结构的 defaults
对象
属性
名称 | 描述 |
---|---|
userEmail | 【可选】默认用户电子邮件。 |
userPhone | 【可选】默认用户电话。 |
userPhoneCountryCode | 【可选】默认用户电话国家代码。 |
开始支付
function buyProduct(args) {
// configure
var payment = PayPal.newPayment()
.setDescription('My product')
.setAmount(59.79);
// start checkout / payment
payment.start(function(cbResult) {
switch (cbResult.code) {
case 0:
// SUCCESS
// pay key is stored in 'cbResult.key'
break;
case 1:
// operation was CANCELLED
break;
case -1:
// checkout FAILED
break;
case -2:
// "unhandled exception"
break;
}
});
}
exports.buyProduct = buyProduct;
由 PayPal.newPayment
函数创建的 payment
对象具有以下结构。
方法
名称 | 描述 |
---|---|
getAmount | 获取价格。示例:var a = payment.getAmount(); |
getBnCode | 获取 BN 代码。示例:var bc = payment.getBnCode(); |
getCurrency | 获取要使用的自定义货币。示例:var c = payment.getCurrency(); |
getCustom | 获取支付的自定义值。示例:var c = payment.getCustom(); |
getDescription | 获取(简短)描述。示例:var d = payment.getDescription(); |
getDetails | 获取支付详情的对象。示例:var d = payment.getDetails(); |
getInvoiceNumber | 获取自定义发票号码。示例:var i = payment.getInvoiceNumber(); |
setAmount | 设置价格。示例:payment.setAmount(1.25); |
setBnCode | 设置BN代码。示例:payment.setBnCode('您的BN代码'); |
setCurrency | 设置要使用的自定义货币。示例:payment.setCurrency('EUR'); |
setCustom | 设置支付的自定义值。示例:payment.setCustom('MY-PRODUCT-ID'); |
setDetails | 设置详情(运输、小计及税费)。示例:payment.setDetails(4.95, 199.99, 1.19); |
setDescription | 设置(简短)描述。示例:payment.setDescription('这真是太棒了!'); |
setInvoiceNumber | 设置自定义发票号码。示例:payment.setInvoiceNumber('MY_INVOICE-666'); |
start | 开始支付/结账流程。 |
start
提交给 payment.start
方法的回调函数接收一个包含以下属性的对象
名称 | 描述 |
---|---|
code | 结果代码。 0 = 成功, -3 = JSON 解析错误, -2 = 未处理的异常, -1 = 结账失败, 1 = 取消, 2 = 无确认数据, 3 = 无JSON数据 |
key | 支付的键(如果 code = 0 ) |
增强功能
日志记录
如果您想获取模块的日志输出,可以使用 PayPal.addLogger
函数添加一个回调,该回调接收模块的消息
PayPal.addLogger(function(msg) {
console.log('[nativescript-paypal]: ' + msg);
});