我在 psp appliaction 中使用了 upi deep url upi://pay?parm-name=param-value¶m-name=pram-value&...
。我正在寻找商家或客户可以向其他客户发送付款请求的请求 url。就像 bhim 应用程序请求钱一样。我也想知道我们如何在 whatsapp 或电子邮件中共享 upi 深层链接 url
1 回答
为此,您需要使用您的详细信息生成 URI,例如金额、upi id、您的姓名,并且您还需要 2 个参数,即交易 id 和交易参考 id。
像例子:
private String getUpiURL(String payeeAddress, String payeeName, String payeeMCC, String trxnID, String trxnRefId,
String trxnNote, String payeeAmount, String currencyCode, String refUrl) {
String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
+ "&mc=" + payeeMCC + "&tid=" + trxnID + "&tr=" + trxnRefId
+ "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode
+ "&url=" + refUrl;
return UPI.replace(" ", "+");
}
第一种方式之后,您可以共享此 URL。它可以是字符串 URL 的形式,也可以是二维码格式的共享。这取决于您的应用程序逻辑。
如何共享图像或链接为此,您可以查看此答案。https://stackoverflow.com/a/25136183/5275436
第二种方式如果您想要应用内 URL 共享或支付请求,那么您可以使用您的服务器数据库结构和 Web 逻辑。比如向客户发布请求并发送通知以打开此 URL 并付款。
重要的
不要在 URL 中传递mam参数。这是提供可编辑模式的最小数量。
根据规范
mam:此参数是有条件的,用于定义 PSP 应用程序中的金额字段可编辑的最小金额规则。如果不存在 mam 标签或“mam=null”或“mam=”,则金额字段不应是可编辑的。注意:如果客户输入的值小于在 mam 中传递的值,则 UPI 将拒绝交易。为减少此类拒绝,PSP 应用程序不应允许输入低于 mam 值的金额
有关规范的更多信息,您可以查看此链接 https://www.npci.org.in/sites/default/files/UPI%20Linking%20Specs_ver%201.6.pdf