Android接入PayUMoney支付网关如何配置网银、UPI等多支付选项
问题解决:PayUMoney支付网关仅展示单一支付选项的调整方案
问题原因
你当前代码出现该问题的核心原因是启动支付SDK时开启了直通模式:
PayUmoneyFlowManager.startPayUMoneyFlow的最后一个参数传入了true,该参数为isPassThroughEnabled开关,开启后会直接跳转至用户最近使用的支付方式,因此只会展示单一支付选项- 若修改参数后仍未展示全量支付方式,可排查PayUMoney商户后台是否开通了UPI、网银等对应支付方式的权限
调整步骤
1. 关闭直通模式(核心修改)
将getHashkey方法中启动SDK的最后一个入参从true改为false,即可展示所有可用的支付方式列表:
private fun getHashkey() { paymentParam!!.setMerchantHash(CreateHash()) // 最后一个参数改为false,关闭直通模式,展示全量支付选项 PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, this as PaymentGateways, R.style.AppTheme_default, false) }
2. 确认商户权限配置
- 测试环境:PayUMoney默认开放所有支付方式,若修改参数后仍不展示,可检查传入的商户密钥、ID是否为测试环境对应值,
setIsDebug参数是否为true - 生产环境:需登录PayUMoney商户后台,自行申请开通UPI、网银、银行卡、钱包等需要的支付方式,审核通过后SDK会自动展示对应选项
3. 可选:自定义支付方式展示规则
如果需要调整支付方式的展示顺序、或者隐藏不需要的支付方式,可在构建支付参数时添加setPaymentOrder配置:
// 放在builder.build()之前添加,按需求指定要展示的支付方式及排序 builder.setPaymentOrder(arrayOf( PayUmoneyFlowManager.PAYMENT_UPI, PayUmoneyFlowManager.PAYMENT_NET_BANKING, PayUmoneyFlowManager.PAYMENT_DEBIT_CARD, PayUmoneyFlowManager.PAYMENT_CREDIT_CARD, PayUmoneyFlowManager.PAYMENT_WALLET ))
内容的提问来源于stack exchange,提问作者hardik koladiya
相关产品推荐
相关产品推荐

