android移动支付——PayPal支付,2021我的Android路要怎么走
程序中的支付流程中:
1.瀏覽商品
2.把要買的商品加入購物車
3.把購物車中的商品信息和用戶信息和支付方式等信息發送到自己服務器,服務器處理商品信息生成訂單,并返回”支付串”給客戶端
4.客戶端拿著“支付串”,調用第三方服務(支付寶、微信、銀聯、paypal等)完成支付
5.處理支付結果(成功、失敗、取消)
l??同步返回:支付后通知我們的客戶端
l??異步通知:支付后通知我們的服務端
以上就是一般的移動支付的基本流程了,下面看這幾個支付平臺的詳細介紹
android移動支付——支付寶支付
android移動支付——微信支付
android移動支付——銀聯支付
android移動支付——PayPal支付
PayPal支付
上面的支付方式都是中國境內常用的支付方式,那如果想用境外的支付呢,無疑Paypal是一個不錯的選擇,下面來接入它:
1.???????注冊PayPal開發者賬號,并且添加你的APP
首先我們要去PayPal的開發者平臺注冊賬號,并且創建應用,獲取Client ID
2.???????可以在PayPal的github上看到它一些詳細的介紹
可以拿到依賴
,配置一下你的工程:
compile(‘com.paypal.sdk:paypal-android-sdk:2.15.1’)
{ excludegroup: ‘io.card’ }//禁止通過信用卡直接支付,如果不禁止可以直接去掉這一句
3.???????集成的最低版本
由于PayPal默認集成的最低版本是minSdkVersion 16或者更高,所以你的AS編譯版本低于這個版本的時候,AS會提示你編譯不通過,報錯等等,這是你需要在清單文件AndroidMainfest強制一下你需要的版本下編譯:
<uses-sdkandroid:minSdkVersion=“INSERT_YOUR_DESIRED_minSdkVersion_HERE” tools:overrideLibrary=“com.paypal.android.sdk.payments”/>
4.???????在你需要支付的頁面配置支付環境(或者在你的基類里面配置)
這里可以到官網上申請商戶和個人的沙盒測試賬號進行測試
// 配置各種支付類型,一般就沙盒測試的和正式的
privatestatic final String CONFIG_ENVIRONMENT = PayPalConfiguration.ENVIRONMENT_NO_NETWORK;
// note that these credentialswill differ between live & sandbox environments.
// 這是在第一步時候注冊創建得來的Client ID
private static final String CONFIG_CLIENT_ID = “credentials from developer.paypal.com”;
private static final int REQUEST_CODE_PAYMENT = 1;
private static final int REQUEST_CODE_FUTURE_PAYMENT = 2;
private static final int REQUEST_CODE_PROFILE_SHARING = 3;
private static PayPalConfigurationconfig = new PayPalConfiguration()
.environment(CONFIG_ENVIRONMENT)
.clientId(CONFIG_CLIENT_ID)
// The following are only used inPayPalFuturePaymentActivity.
// 下面的這些都是要用到授權支付才用到的,不用就注釋掉可以了
.merchantName(“Example Merchant”)
.merchantPrivacyPolicyUri(Uri.parse(“https://www.example.com/privacy”))
.merchantUserAgreementUri(Uri.parse(“https://www.example.com/legal”));
5.???????在類的onCreate里面調起支付服務
Intentintent = new Intent(this, PayPalService.class);
intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);
startService(intent);
6.???????在需要支付的地方調起支付功能,這里有兩種類型
publicvoid onBuyPressed(View pressed) {
/*
* PAYMENT_INTENT_SALE will cause thepayment to complete immediately.
* Change PAYMENT_INTENT_SALE to
* ?- PAYMENT_INTENT_AUTHORIZE to only authorize payment and capture fundslater.
* ?- PAYMENT_INTENT_ORDER to create a payment for authorization and capture
* ? ?later via calls from your server.
*
* Also, to include additionalpayment details and an item list, see getStuffToBuy() below.
*/
PayPalPayment thingToBuy =getStuffToBuy(PayPalPayment.PAYMENT_INTENT_SALE);
/*
* See getStuffToBuy(…) for examplesof some available payment options.
*/
Intent intent = new Intent(SampleActivity.this, PaymentActivity.class);
// send the same configuration for restartresiliency
intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
startActivityForResult(intent, REQUEST_CODE_PAYMENT);
}
private PayPalPayment getThingToBuy(String paymentIntent) {
return new PayPalPayment(new BigDecimal(“0.01”), “USD”, “sample item”,
paymentIntent);
}
/*
* This method shows use of optionalpayment details and item list.
*/
private PayPalPayment getStuffToBuy(String paymentIntent) {
//— include an item list, payment amountdetails
PayPalItem[] items =
{
new PayPalItem(“sample item #1”, 2, new BigDecimal(“87.50”), “USD”,
“sku-12345678”),
new PayPalItem(“free sample item #2”, 1, new BigDecimal(“0.00”),
“USD”, “sku-zero-price”),
new PayPalItem(“sample item #3 with a longername”, 6, new BigDecimal(“37.99”),
“USD”, “sku-33333”)
};
BigDecimal subtotal = PayPalItem.getItemTotal(items);
BigDecimal shipping = new BigDecimal(“7.21”);
BigDecimal tax = new BigDecimal(“4.67”);
PayPalPaymentDetails paymentDetails = new PayPalPaymentDetails(shipping, subtotal, tax);
BigDecimal amount =subtotal.add(shipping).add(tax);
PayPalPayment payment= new PayPalPayment(amount, “USD”, “sample item”, paymentIntent);
payment.items(items).paymentDetails(paymentDetails);
ew PayPalPaymentDetails(shipping, subtotal, tax);
BigDecimal amount =subtotal.add(shipping).add(tax);
PayPalPayment payment= new PayPalPayment(amount, “USD”, “sample item”, paymentIntent);
payment.items(items).paymentDetails(paymentDetails);
總結
以上是生活随笔為你收集整理的android移动支付——PayPal支付,2021我的Android路要怎么走的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下载vue.min.js
- 下一篇: 【电气专业知识问答】问:大型发电厂的电气