Google Pay India(UPI) 印度

印度市場獨有的UPI 實現Google Pay


一、官網地址(科學上網)

官方對接文檔 https://developers.google.com/pay/india/api/android/googlepay-business
官方Dome--GitHub地址 https://github.com/googletez/inapp-payment-samples

二、主要代碼實現(集成挺簡單)

String GOOGLE_PAY_PACKAGE_NAME = "com.google.android.apps.nbu.paisa.user";
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);

對應解釋

Uri uri =
    new Uri.Builder()
        .scheme("upi")
        .authority("pay")
        .appendQueryParameter("pa", "您的商家-vpa@xxx")  //用戶付款到的賬戶
        .appendQueryParameter("pn", "您的商家名稱") // 支付顯示的名稱
        .appendQueryParameter("mc", "您的商家代碼") 
        .appendQueryParameter("tr", "您的交易參考編號")// 理解為訂單ID
        .appendQueryParameter("tn", "您的交易記錄")
        .appendQueryParameter("am", "您的訂單-amoun") // 交易金額
        .appendQueryParameter("cu", "INR") //固定
        .appendQueryParameter("url", "您的交易網址")
        .build();

返回數據

支付錯誤原因 Google Pay會自己顯示
支付錯誤數據  txnId=&responseCode=ZD&Status=FAILURE&txnRef=123456789
支付成功數據  txnId=ICI5749db96b6ed47f1bc469c80981f9387&responseCode=0&Status=SUCCESS&txnRef=123456789
   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 (int i=0;i<responses.length;i++){
                    String[] re = responses[i].split("=");
                    if (re.length == 2){
                        payMap.put(re[0],re[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");
                //TODO 去后臺校驗是否金額
                ToastUtils.showSystemToast(R.string.wallet_pay_succ_tips);

            } else {
                showFinalFailDialog("");
            }
        } else {
            showFinalFailDialog("");
        }

    }

三、遇到的坑(最難解決的卡)

1、配置Google Pay for Business

先決條件
   商業渠道必須接受UPI并經NPCI /銀行驗證為商家。
   確保您具有在銀行使用UPI ID接受付款所需的詳細信息。
   確保您擁有銀行提供的所有必需的API,以檢查付款狀態。
   請注意,每個交易都應使用唯一的交易ID。

一定要有權限的提前配置好自己的UPI ID 需要審核好幾天~~~~~配置地址

配置UPI ID

2、測試(血的教訓)

1. 一定要下載印度版本的Google Pay~~~印度 Google Pay~~~


image.png


更新后的Google Pay

2.使用正確的Google Pay 賬戶

 使用印度Google Pay賬號一定要配置好的東西:
    1. 安裝Google Pay的手機
    2. Google Pay賬號
    3. 印度手機號
    4. 與該手機號綁定的能開通UPI的銀行卡
    5. 手機插卡,登錄Google Pay,綁定銀行卡,激活UPI

賬號準備好以后,測試會非常順溜,祝你成功


希望可以幫助遇到同樣問題的你????????
如有建議和意見,請及時溝通。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。