位置: 编程技术 - 正文

支付宝支付开发——当面付条码支付和扫码支付实例(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)

  • 外轮供应公司远洋运输供应公司的退税申报?
  • 广东通用机打发票可以抵扣吗
  • 住宿费收据属于什么凭证
  • 所得税费按年缴纳?
  • 原始凭证分割单样本
  • 空调安装发票税率
  • 中小企业工会经费怎么算
  • 建筑工人的工资应该怎样支付
  • 先分后合是什么意思
  • 转登记为小规模纳税人未抵扣的进项税额
  • 冲回存货跌价准备计提递延所得税
  • 物业公司预收的物业费一次性申报还是分期申报
  • 企业现金股利的支付能力,在很大程度
  • 负债减少在什么方
  • 不同税额怎么抵扣
  • 园林绿化工程的分项工程有几个
  • 开票码必须输入吗
  • 小规模纳税人季报还是月报?
  • 单位在工资表中如何填写
  • 未认证进项税额转出
  • 开票含税和不含税怎么切换视频讲解
  • 红字发票是否需要盖发票章
  • 股东变更交印花税会计分录
  • 如何恢复微信语言聊天
  • 人力资源外包公司发展前景
  • 网页游戏玩着卡
  • 总资产报酬率怎么查
  • 投资收益亏损后会怎么样
  • 房屋租赁收入确认条件新准则
  • 固定资产可以一次性抵扣进项税吗
  • php查找文件目录下文件
  • php中字符串函数
  • 现金结算起点包括1000元吗
  • 八个与cpu相关的字符
  • 留存收益怎么计算,它属于企业的什么资金?
  • php数组函数题目
  • wordpress优化加快的好多个关键点
  • php web3
  • 若依框架讲解
  • php访问数据库的一般步骤
  • php自带的加密解密函数
  • 注册资本与注册资金、出资额的区别
  • 出口退税税率差
  • 出口抵减内销产品应纳税额怎么结转
  • 无法收回的应收账款怎么做分录
  • 年底本年利润需要结转吗
  • 织梦论坛
  • 最常用的成本核算表格
  • sql语句中的decode函数
  • 金税四期对建筑企业的影响
  • 商场账务
  • 月入一万怎么样
  • 销售旧货和销售使用过的固定资产区别
  • sql2012附加数据库方法
  • 数据mysql
  • 交易性金融资产公允价值变动怎么算
  • 出口货物备案单证目录怎么填
  • 什么是原始凭证?简述原始凭证审核的内容
  • 待抵扣进项税计入其他应付账款吗
  • 银行取备用金最多能取多少
  • 帮别人注册医疗器械法人有风险吗
  • 新开办的企业怎么做账
  • 购入土地使用权的,以评估价格为计税依据
  • 研发费用入账
  • 网店会计怎么做账
  • 企业名称变更后税务变更需要什么资料
  • 制造费用和生产成本影响营业利润吗
  • mac app store打开一片空白
  • centos查看某个端口
  • newsupd.exe - newsupd是什么进程 有什么用
  • fstab文件详解修改
  • python remote
  • js 状态模式
  • jquery 使用
  • python爬虫教程推荐
  • python for循环删除元素
  • 重庆税务电子税务
  • 一手房有契税和个税吗
  • 地税局属于省直单位吗
  • 季度预缴申报表在哪里查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设