1. 前提条件: バックエンドが支払いリンクを生成していること
-
WeChat は非 WeChat コア ブラウザで支払いを開始するための H5 をサポートしていますが、プロセスが煩雑でエンタープライズ アカウント アプリケーションが必要であり、サイクルが長いです。WeChat公式開設手順
アプリケーションの入り口: マーチャントプラットフォームにログイン –> 製品センター –> 私の製品 –> 支払い製品 –> H5 支払い
-
Alipay H5 ウェブサイト支払いアクセス手順、Alipay ドキュメント
2. H5 とアプリの間で対話し、生成された注文をアプリに渡します
一般的なプロセス: WebView を使用してアプリに H5 ページをロードします。H5 ページがインターフェイスを正常に要求すると、支払いリンクがアプリに送信され、アプリは Alipay または WeChat の支払いインターフェイスを呼び出して、最終的な支払い操作を完了します。
-
スキームを使用して Alipay の支払いインターフェイスを呼び出すと、
支払いスキーム: 「alipays://platformapi/startapp?appId=20000067」が
支払いの ** である必要がありますURL コンテンツは URLEncoder.encode でエンコードされています**: それ以外の場合、支払いインターフェースの呼び出しに失敗します。//跳转支付宝支付 val url = "alipays://platformapi/startapp?appId=20000067&url=${ URLEncoder.encode(it.data)}" val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) startActivity(intent)
-
WeChat は H5 決済機能を有効にしていないが、アプリ内で WeChat 決済の SDK にアクセスしたくないため、次のような終了ソリューションがあります。
-
支払いリンクから QR コード画像を生成し、インターフェースに表示します。
-
ユーザーが QR コードを長押しすると、生成された画像が携帯電話のアルバムに保存されます。
-
写真が保存されたら、WeChat のスキャン インターフェイスを開きます
-
ユーザーは、WeChat 上のフォトアルバムにある QR コードをスキャンするだけで支払いができるようになりました。
キーコードは次のとおりです。コメントはすでに非常に詳細に記載されています
//二维码中logo val logo = BitmapFactory.decodeResource(resources,R.mipmap.ic_wechat_pay_round) //生成二维码位图 val qrCode = CodeUtils.createQRCode(payUrl,300,logo, Color.BLACK) //显示微信支付二维码 mIvQRCode.setImageBitmap(qrCode)
//长按保存二维码 mIvQRCode.setOnLongClickListener { val bitmap = ImageUtils.view2Bitmap(mIvQRCode) //保存到相册 val file = ImageUtils.save2Album(bitmap, Bitmap.CompressFormat.PNG) file?.let { ToastUtils.showLong("微信付款码已保存到手机相册") openWeChatScan() } return@setOnLongClickListener false }
/** * 打开微信扫一扫 */ @SuppressLint("WrongConstant") private fun openWeChatScan() { val intent = Intent() intent.component = ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI") intent.putExtra("LauncherUI.From.Scaner.Shortcut", true) intent.flags = 335544320 intent.action = "android.intent.action.VIEW" startActivity(intent) }
-
最後に、AlipayのSchemeプロトコルを添付して、指定したページにジャンプします
"alipayqr://platformapi/startapp?saId=10000003"//手机充值
"alipayqr://platformapi/startapp?saId=10000007"//扫一扫
"alipayqr://platformapi/startapp?saId=10000009"//爱心捐赠
"alipayqr://platformapi/startapp?saId=100000011"//彩票首页
"alipayqr://platformapi/startapp?saId=100000033"//话费卡转让
"alipayqr://platformapi/startapp?saId=10000110"//关于
"alipayqr://platformapi/startapp?saId=10000112"//服务授权
"alipayqr://platformapi/startapp?saId=20000116"//转账
"alipayqr://platformapi/startapp?saId=20000056"//付款码-----210
"alipays://platformapi/startapp?appId=20000003";//账单
"alipays://platformapi/startapp?appId=20000076";//账单
"alipays://platformapi/startapp?appId=20000006"//切换账户
"alipays://platformapi/startapp?appId=20000008"//支付宝登出
"alipays://platformapi/startapp?appId=20000009"//手机号注册
"alipays://platformapi/startapp?appId=20000010"//绑定手机
"alipays://platformapi/startapp?appId=20000011"//客服帮助
"alipays://platformapi/startapp?appId=20000013"//修改支付密码
"alipays://platformapi/startapp?appId=20000014"//我的银行卡
"alipays://platformapi/startapp?appId=20000015"//找回登录密码
"alipays://platformapi/startapp?appId=20000017"//修改登录密码
"alipays://platformapi/startapp?appId=20000019"//余额
"alipays://platformapi/startapp?appId=20000020"//卡包
"alipays://platformapi/startapp?appId=20000024"//支付宝设置
"alipays://platformapi/startapp?appId=20000027"//账号切换
"alipays://platformapi/startapp?appId=20000031"//设置个人头像
"alipays://platformapi/startapp?appId=20000032"//余额宝
"alipays://platformapi/startapp?appId=20000033"//提现
"alipays://platformapi/startapp?appId=20000038"//身份验证
"alipays://platformapi/startapp?appId=20000048"//添加生活好
"alipays://platformapi/startapp?appId=20000049"//意见反馈
"alipays://platformapi/startapp?appId=20000050"//打开地图
"alipays://platformapi/startapp?appId=20000057"//账号管理
"alipays://platformapi/startapp?appId=20000068"//快速挂失
"alipays://platformapi/startapp?appId=20000068"//安全中心
"alipays://platformapi/startapp?appId=20000071"//城市一卡通
"alipays://platformapi/startapp?appId=20000078"//上银汇款
"alipays://platformapi/startapp?appId=20000081"//更多
"alipays://platformapi/startapp?appId=20000122"//首页活动
"alipays://platformapi/startapp?appId=20000123"//收钱
"alipayqr://platformapi/startapp?appId=68687017"//年度账单
"alipayqr://platformapi/startapp?appId=20000101"//生活号
"alipayqr://platformapi/startapp?appId=20000102"//打开nfc
"alipayqr://platformapi/startapp?appId=20000107"//出境
"alipayqr://platformapi/startapp?appId=20000108"//挂号就诊
"alipayqr://platformapi/startapp?appId=20000110"//我的保障
"alipayqr://platformapi/startapp?appId=20000115"//设备管理
"alipayqr://platformapi/startapp?appId=20000119"//阿里游戏
"alipayqr://platformapi/startapp?appId=20000118"//芝麻信用
"alipayqr://platformapi/startapp?appId=20000120"//饿了么
"alipayqr://platformapi/startapp?appId=20000123"//收钱
"alipayqr://platformapi/startapp?appId=20000125"//首页
"alipayqr://platformapi/startapp?appId=20000126"//免费wifi
"alipayqr://platformapi/startapp?appId=20000130"//滴滴
"alipayqr://platformapi/startapp?appId=20000132"//亲情号
"alipayqr://platformapi/startapp?appId=20000134"//股票自选
"alipayqr://platformapi/startapp?appId=20000135"//火车票
"alipayqr://platformapi/startapp?appId=20000136"//游戏充值
"alipayqr://platformapi/startapp?appId=20000139"//酒店搜索
"alipayqr://platformapi/startapp?appId=20000141"//修改昵称
"alipayqr://platformapi/startapp?appId=20000142"//娱乐宝
"alipayqr://platformapi/startapp?appId=20000143"//火车票汽车票预定
"alipayqr://platformapi/startapp?appId=20000146"//我的淘宝
"alipayqr://platformapi/startapp?appId=20000150"//汇率换算
"alipayqr://platformapi/startapp?appId=20000153"//游戏中心
"alipayqr://platformapi/startapp?appId=20000155"//飞猪
"alipayqr://platformapi/startapp?appId=20000157"//国际机票查询
"alipayqr://platformapi/startapp?appId=20000160"//蚂蚁会员
"alipayqr://platformapi/startapp?appId=20000161"//理财小工具
"alipayqr://platformapi/startapp?appId=20000162"//羊城通
"alipayqr://platformapi/startapp?appId=20000165"//定期理财
"alipayqr://platformapi/startapp?appId=20000161"//指纹手势解锁
"alipayqr://platformapi/startapp?appId=20000168"//年度账单
"alipayqr://platformapi/startapp?appId=20000176"//红包
"alipayqr://platformapi/startapp?appId=20000183"//设置手势密码
"alipayqr://platformapi/startapp?appId=20000161"//指纹手势解锁设定界面
"alipayqr://platformapi/startapp?appId=20000186"//通讯录
"alipayqr://platformapi/startapp?appId=20000161"//绑定智能手环
"alipayqr://platformapi/startapp?appId=20000197"//首页-热门游戏
"alipayqr://platformapi/startapp?appId=20000199"//花呗
"alipayqr://platformapi/startapp?appId=20000205"//亲情圈
"alipayqr://platformapi/startapp?appId=20000218"//黄金
"alipayqr://platformapi/startapp?appId=20000225"//借条
"alipayqr://platformapi/startapp?appId=20000227"//卡包
"alipayqr://platformapi/startapp?appId=20000234"//刷脸
"alipayqr://platformapi/startapp?appId=20000235"//服务提醒
"alipayqr://platformapi/startapp?appId=20000241"//车险服务
"alipayqr://platformapi/startapp?appId=20000243"//总资产
"alipayqr://platformapi/startapp?appId=20000248"//个性签名
"alipayqr://platformapi/startapp?appId=20000252"//朋友模块
"alipayqr://platformapi/startapp?appId=20000255"//账户充值
"alipayqr://platformapi/startapp?appId=20000266"//邮箱账单
"alipayqr://platformapi/startapp?appId=20000288"//聊天室
"alipayqr://platformapi/startapp?appId=20000290"//可能认识的人
"alipayqr://platformapi/startapp?appId=20000298"//证书管理
"alipayqr://platformapi/startapp?appId=20000301"//多设备管理
"alipayqr://platformapi/startapp?appId=20000305"//支付宝内付款码声波付