位置: 编程技术 - 正文

支付宝支付开发——当面付条码支付和扫码支付实例(uniapp支付宝支付开发)

编辑:rootadmin

推荐整理分享支付宝支付开发——当面付条码支付和扫码支付实例(uniapp支付宝支付开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:支付宝支付开发者平台,支付宝支付开发者文档,支付宝支付开发票,uniapp支付宝支付开发,支付宝支付开发票怎么开,支付宝支付开发票怎么开,uniapp支付宝支付开发,uniapp支付宝支付开发,内容如对您有帮助,希望把文章链接给更多的朋友!

本文介绍支付宝中当面付下属的条码支付、扫码支付、订单查询、退款申请的集成开发过程。

本文分为以下五个部分:

条码支付和扫码支付介绍 申请应用 密钥生成及配置 API及SDK集成 条码支付、扫码支付、订单查询、退款申请

一、条码支付及二维码支付介绍

1. 条码支付条码支付是支付宝给到线下传统行业的一种收款方式。商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款。用户仅需出示付款码,所有收款操作由商家端完成。其使用场景如下:业务流程:

使用步骤:

用户登陆支付宝钱包,点击首页“付款”,进入付款码界面; 收银员在商家收银系统操作生成订单,用户确认支付金额; 用户出示钱包的“付款码”,收银员用扫码设备来扫描用户手机上的条码/二维码后,商家收银系统提交支付; 付款成功后商家收银系统会拿到支付成功或者失败的结果。

2. 扫码支付

扫码支付,指用户打开支付宝钱包中的“扫一扫”功能,扫描商家展示在某收银场景下的二维码并进行支付的模式。该模式适用于线下实体店支付、面对面支付等场景。

其使用场景如下:业务流程:

使用步骤:

用户登陆支付宝钱包,点击首页“付款-扫码付”,进入扫一扫界面; 收银员在商家收银系统操作生成支付宝订单,用户确认支付金额,并生成二维码; 用户使用钱包的“扫码付”,扫收银员提供的二维码,确认支付; 用户付款后商家收银系统会拿到支付成功或者失败的结果。

二、接口申请

企业在申请企业支付宝之后,进行功能申请并签约,然后在蚂蚁金服开放平台中申请应用如下(详细过程就略了)然后在功能列表中,申请当面付这一功能,申请成功后如下。这样,我们就有了当面付的权限了。

三、密钥生成

在支付宝当面付的接口中,使用了非对称加密算法,商户自己的公钥和私钥需要自己使用OpenSSL手动生成。对这些概念比较陌生的话,请先自行先了解一下密码学的相关知识。OpenSSL也可以从方倍工作室博客中找到。

下载支付宝官方提供的密钥生成工具OpenSSL,然后执行以下命令就可以生成公钥和私钥。其中

是用于生成RSA私钥,执行后在程序目录中生成一个文件rsa_private_key.pem,其内容如下

-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQCyffRONGd8Q/1kRh1cpsSRiDXLHI7zxdPJGYe5HKDWF7u9b3zZU9erZpMXE7gZRKsxIgOurH4uqhmVRbto3e+LiYOyNpd6As3QKCTIT7ajhHicZ6GWhegTUiVLqiuWLsauQcbI6DO4GEZrlvAdzus0WcJiJOxWrxSQIDAQABAoGAXBJYyVaC4zj3Jph8YOStlR5NbwdATdW/glWWT+0rnNEiTQHRNvY7lNVNJgrPrTSTVgjOPxmwSnebakhIuGIdPqGLE4LGd5lKWTzkdBMvhatfNsCCzcEVFqKg3tZd4t3fQFrILsnnZpLhiWjIrStCkR3rx9OECQQDWMSHychEVMQqVNasbGEicKWxhoDqjdm2lHkBx4mrB9JEZFDs6MxWdajf2/Qw+tgtpN3YBcCDw/HnGHhQtStAkEA1VTyjOdAwWode8X4fu0IPq9+EmcVOAJjLBHmropwgOdj3raqT/ThaKeaydjabsTAiY2JHiTiyH+1bGjQJBAKgRJXH5OFxSG7uXIbCofYJiFig7EcfxxVcqxaaW4u4N2Uy0c0TXkL5T+lXzeQg8D/gfbJj0QuTVNzgdofdoECQBHYOznCFk6Xe8PguXqUhT4JG/iu4DjWjT+kuzbSjerHtcVylY4JpZFuoHRKoM4Fj6/4UUqwRjmABFgZrX4+sfkCQCNI8RCZ6yprh5kEOePo3uazAlNENP8dKkhgqChawdKNzlJNtSTHFx6NkhzyruJGQ5Vx1Lkl0wKuKbXM=-----END RSA PRIVATE KEY-----

命令

是用于生成RSA公钥,执行后在程序目录中生成一个文件rsa_public_key.pem,其内容如下

-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyffRONGd8Q/1kRh1cpsSRiDXLHI7zxdPJGYe5HKDWF7u9b3zZU9erZpMXE7gZRKsxIgOurH4uqhmVRbto3e+LiYOyNpd6As3QKCTIT7ajhHicZ6GWhegTUiVLqiuWLsauQcbI6DO4GEZrlvAdzus0WcJiJOxWrxSQIDAQAB-----END PUBLIC KEY-----

生成的这个RSA公钥,需要填写到应用中去,填写地址如下所示。私钥不需要填到配置中,到时候配置到代码中。特别注意,密钥要去掉注释部分,且转换成一行字符,否则回车换行也成为密钥的一部分,将导致无法正常加解密。同时,可以点击 “查看支付宝公钥”,将支付宝的公钥复制保存下来,后面的程序中将需要用到。

四、密钥生成API与密钥配置公共参数

支付宝支付开发——当面付条码支付和扫码支付实例(uniapp支付宝支付开发)

请求地址: 环境 HTTPS请求地址 正式环境

公共请求参数:

参数 类型 是否必填 最大长度 描述 app_id String 是 支付宝分配给开发者的应用ID method String 是 接口名称 format String 否 仅支持JSON charset String 是 请求使用的编码格式,如utf-8,gbk,gb等 sign_type String 是 商户生成签名字符串所使用的签名算法类型,目前支持RSA sign String 是 商户请求参数的签名串,详见签名 timestamp String 是 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" version String 是 3 调用的接口版本,固定为:1.0 notify_url String 否 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 app_auth_token String 否 详见应用授权概述 biz_content String 是 - 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

请求参数

参数 类型 是否必填 最大长度 描述 out_trade_no String 必须 商户订单号,个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 scene String 必须 支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code auth_code String 必须 支付授权码 seller_id String 可选 如果该值为空,则默认为商户签约账号对应的支付宝用户ID total_amount Price 可选 订单总金额,单位为元, discountable_amount Price 可选 参与优惠计算的金额,单位为元 undiscountable_amount Price 可选 不参与优惠计算的金额,单位为元 subject String 必须 订单标题 body String 可选 订单描述 ?goods_detail GoodsDetail [] 可选 - 订单包含的商品列表信息,Json格式,其它说明详见商品明细说明 operator_id String 可选 商户操作员编号 store_id String 可选 商户门店编号 terminal_id String 可选 商户机具终端编号 alipay_store_id String 可选 支付宝的店铺编号 ?extend_params ExtendParams 可选 - 业务扩展参数 timeout_express String 可选 6 该笔订单允许的最晚付款时间,逾期将关闭交易。 ?royalty_info RoyaltyInfo 可选 - 描述分账信息,Json格式,其它说明详见分账说明 ?sub_merchant SubMerchant 可选 - 二级商户信息,当前只对特殊银行机构特定场景下使用此字段

公共响应参数

参数 类型 是否必填 最大长度 描述 code String 是 - 网关返回码,详见文档 msg String 是 - 网关返回码描述,详见文档 sub_code String 否 - 业务返回码,详见文档 sub_msg String 否 - 业务返回码描述,详见文档 sign String 是 - 签名,详见文档

响应参数

参数 类型 是否必填 最大长度 描述 trade_no String 必填 支付宝交易号 out_trade_no String 必填 商户订单号 buyer_logon_id String 必填 买家支付宝账号 total_amount Price 必填 交易金额 receipt_amount String 必填 实收金额 buyer_pay_amount Price 选填 买家付款的金额 point_amount Price 选填 使用积分宝付款的金额 invoice_amount Price 选填 交易中可给用户开具发票的金额 gmt_payment Date 必填 交易支付时间 ?fund_bill_list TradeFundBill [] 必填 - 交易支付使用的资金渠道 card_balance Price 选填 支付宝卡余额 store_name String 选填 发生支付交易的商户门店名称 buyer_user_id String 必填 买家在支付宝的用户id discount_goods_detail String 必填 - 本次交易支付所使用的单品券优惠的商品优惠信息

系统中配置如下

其中支付宝公钥就是在前面中复制保存的,直接复制到程序中即可,而商户私钥是之前OpenSSL中生成的私钥。APPID是该服务的id号。

而这个异步通知将会接收扫码支付结果的通知。

五、条码支付、扫码支付、订单查询、退款申请

1. 条码支付

条码支付的参数配置如下

程序监测,最终提交的url如下

扫码支付扫码支付的参数配置如下

生成的提交请求URL如下

就是二维码链接地址,使用接口将其成二维码后。当支付宝用户扫码的时候,接口通知将收到如下数据

当用户输入密码付款成功之后,将收到如下数据

3. 订单查询

订单查询的参数配置如下

最终提交的url如下

订单退款

订单退款的参数配置如下

最终提交的url如下

DEDE实现转跳属性文档在模板上调用出转跳地址 首先在/include/extend.func.php增加以下方法:/***动态地址转静态输出byWindchaserQQ:*$arcurl动态网址*@returnString*/functionarcurlHtml($arcurl){preg_match('/view.phpaid

PHP strcmp()和strcasecmp()的区别实例 这篇文章主要介绍了PHP中strcmp()和strcasecmp()函数字符串比较用法,结合实例形式较为详细的分析了strcmp()和strcasecmp()函数的功能,使用方法与区别本文实例

php 单例模式详细介绍及实现源码 这篇文章主要介绍了PHP中数据库单例模式的实现代码分享,本文先是讲解了单例模式的一些知识,然后给出了数据库单例模式实现代码。什么是单例模式单

标签: uniapp支付宝支付开发

本文链接地址:https://www.jiuchutong.com/biancheng/301613.html 转载请保留说明!

上一篇:Redis使用Eval多个键值自增的操作实例(redis的eval命令)

下一篇:DEDE实现转跳属性文档在模板上调用出转跳地址(dede转zblog)

  • 应税劳务的主要成本包括
  • 不征收增值税的有哪些
  • 人力资源交哪些税费
  • 2021小规模纳税人减免增值税
  • 月收入不足10万免增值税的账务处理
  • 滞纳金按什么比例算
  • 写字楼租金税率
  • 2019小规模纳税人免征增值税政策
  • 公司卖车怎么开公司发票
  • 个人非专利技术转让属于什么收入
  • 小规模纳税人消费税怎么计算
  • 劳务派遣能不能预支工资
  • 收资料费怎么入账科目
  • 财报分析推荐书籍
  • 印花税到底什么通俗一点
  • 如何知道企业是查账征收还是核定征收
  • 医院晚上开不开
  • 发了工资了
  • 盈余公积可以发放工资吗
  • 分期收款什么时候交税
  • 购买活动赠品会计分录
  • 怎样保持ppt在所有电脑上不变
  • 买手机5000预算
  • 桌面级cpu天梯图2023
  • php做
  • 一般纳税人转让不动产预缴
  • ros urdf
  • 社保工伤退费会计分录
  • 基于Python实现五大常用分类算法(原理+代码)
  • javascripts
  • nodejs安装及环境配置 centos
  • php微信公众号获取带参二维码
  • 员工预支款计入什么科目
  • ps闪退是什么原因win11
  • 会计损益类科目核算
  • 税金及附加也是费用吗
  • MySQL Community Server压缩包安装配置方法
  • python uppercase函数
  • 辅助核算内容不完整
  • 生产车间用电的进项税额可以抵扣吗
  • 管理费用的相关科目
  • 在途物资属于会计科目吗
  • 一般纳税人进项销项抵扣如何做账
  • 工会经费与残保金属于什么
  • 出口后收不到货款
  • 一般纳税人季度所得税怎么计算
  • 收到待报解预算收入是国家退的税吗
  • 销售商品成本核算
  • 17增值税发票怎么抵扣
  • 结构性存款怎么计算收益
  • 仓库费用计入什么科目
  • 农村会计记账实例
  • 删除用户mysql
  • mysql详细教程
  • mysql中count(), group by, order by使用详解
  • windows开机提示无法登录到你的账户
  • ami 2.17.1254bios设置图解教程
  • linux命令find用法
  • linux的tar命令用法
  • win7远程登录win10
  • win10可以关闭的功能
  • 如何灵活使用蒙恬
  • 锁屏壁纸设置后不显示怎么办
  • win10系统开机后任务栏无响应怎么解决
  • win8怎样设置禁止弹出广告
  • OpenCV-EmguCV 在 Unity3D 中的配置
  • perl中@_
  • 网站检测系统
  • vscode 远程调试jni
  • 事件绑定js
  • javascript语言基础
  • HttpURLConnection的流式输出的缺陷和解决方法
  • jquery根据value获取元素
  • Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
  • 关于增值税纳税人的规定,下列说法正确的是
  • 五证合一后工商变更完还要税务变更吗
  • 济宁任城区多大面积
  • 欠税多少构成犯罪
  • 个人所得税的工资比实际的多
  • 金税三期个人所得税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设