
试图用我的Android应用程序的深度链接连接UPI支付,但每次都在最后一步失败。
UPI支付呼叫的代码片段如下:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
URI_URL = getUPIString("xxx@upi", "xxx xxx", "test_101", "Test Transaction", "10", "INR");
//Creating an intent for the UPI APP
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(URI_URL));
Intent chooser = Intent.createChooser(intent, "Pay the MSME by");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
startActivityForResult(chooser, 1, null);
}
}
});若要使用此函数对UPI字符串进行帧设置,请执行以下操作:
private String getUPIString(String payeeAddress, String payeeName, String trxnRefId,
String trxnNote, String payeeAmount, String currencyCode) {
String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
+ "&tr=" + trxnRefId
+ "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode;
return UPI.replace(" ", "+");
}失败的可能原因是什么?欢迎任何建议或帮助。
发布于 2017-11-15 11:50:22
错误是T04,这意味着refId应该是具有最小长度1和最大长度35的字母数字。使用test_101代替test101。
https://stackoverflow.com/questions/47054689
复制相似问题