
實時航班追蹤背后的技術:在線飛機追蹤器的工作原理
int GOOGLE_PAY_REQUEST_CODE = 123;
Uri uri = new Uri.Builder()
.scheme("upi")
.authority("pay")
.appendQueryParameter("pa", "your-merchant-vpa@xxx")
.appendQueryParameter("pn", "your-merchant-name")
.appendQueryParameter("mc", "your-merchant-code")
.appendQueryParameter("tr", "your-transaction-ref-id")
.appendQueryParameter("tn", "your-transaction-note")
.appendQueryParameter("am", "your-order-amount")
.appendQueryParameter("cu", "INR")
.appendQueryParameter("url", "your-transaction-url")
.build();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.setPackage(GOOGLE_PAY_PACKAGE_NAME);
activity.startActivityForResult(intent, GOOGLE_PAY_REQUEST_CODE);
pa
參數指定了商戶的 UPI ID。pn
參數定義了商戶名稱,會顯示給用戶。mc
是商戶代碼,用于標識交易的商戶。tr
代表交易參考編號,相當于訂單 ID。am
指定交易金額,單位為印度盧比(INR)。在應用內,需要處理支付結果以確認交易是否成功。以下是一個示例代碼片段:
private void googlePayResult(Intent data){
if (data != null) {
String response = data.getStringExtra("response");
Map<String,String> payMap = new HashMap<>();
if (!TextUtils.isEmpty(response)){
String[] responses = response.split("&");
for (String res : responses) {
String[] keyValue = res.split("=");
if (keyValue.length == 2) {
payMap.put(keyValue[0], keyValue[1]);
}
}
}
String status = payMap.get("Status");
if (!TextUtils.isEmpty(status) && TextUtils.equals("success", status.toLowerCase())) {
String txnId = payMap.get("txnId");
String orderId = payMap.get("txnRef");
Logger.logE("google_pay==== success");
ToastUtils.showSystemToast(R.string.wallet_pay_succ_tips);
} else {
showFinalFailDialog("");
}
} else {
showFinalFailDialog("");
}
}
確保使用印度版本的 Google Pay,并綁定一個能夠開通 UPI 的印度銀行卡。下載地址可通過 Google Play Store 獲取。
通過本文的介紹,開發者應對 Google Pay UPI 的注冊和集成有了更清晰的認識。成功集成后,不僅可以提升支付效率,還能為用戶提供更好的支付體驗。
通過上述步驟和注意事項,開發者可以順利在應用中實現 Google Pay UPI 的注冊和集成,為用戶提供流暢的支付體驗。希望本指南能為您提供幫助!