安装依赖

go get github.com/smartwalle/alipay/v3

发起账单接口

func FinishAliPayment(c *gin.Context) {appG := app.Gin{C: c}client, _ := alipay.New(setting.AppSetting.AliAppId, setting.AppSetting.AliPrivateKey, false)client.LoadAppPublicCertFromFile("conf/appCertPublicKey_2016091400512715.crt") // 加载应用公钥证书client.LoadAliPayRootCertFromFile("conf/alipayRootCert.crt")                   // 加载支付宝根证书client.LoadAliPayPublicCertFromFile("conf/alipayCertPublicKey_RSA2.crt")       // 加载支付宝公钥证书var p = alipay.TradeWapPay{}p.NotifyURL = setting.AppSetting.Notifyp.ReturnURL = "http://test.yptech.tv"p.Subject = "*****"p.OutTradeNo = "46464613131314464"p.TotalAmount = "0.01"p.ProductCode = "QUICK_WAP_PAY"url, err := client.TradeWapPay(p)if err != nil {fmt.Println("pay client.TradeAppPay error:", err)return}//logging.Info(url)binary, _ := url.MarshalBinary()fmt.Println(string(binary))data := make(map[string]interface{})data["url"] = string(binary)appG.Response(http.StatusOK, 200, data)}

回调接口(接收通知接口)

func AliPayNotify(c *gin.Context) {client, _ := alipay.New(setting.AppSetting.AliAppId, setting.AppSetting.AliPrivateKey, false)client.LoadAppPublicCertFromFile("conf/appCertPublicKey_2016091400512715.crt") // 加载应用公钥证书client.LoadAliPayRootCertFromFile("conf/alipayRootCert.crt")                   // 加载支付宝根证书client.LoadAliPayPublicCertFromFile("conf/alipayCertPublicKey_RSA2.crt")       // 加载支付宝公钥证书fmt.Println(c.Request.Body)var noti, _ = client.GetTradeNotification(c.Request)if noti != nil {fmt.Println("交易状态为:", noti.TradeStatus)}bs, _ := json.Marshal(noti)var out bytes.Bufferjson.Indent(&out, bs, "", "\t")fmt.Printf("data=%v\n", out.String())c.String(http.StatusOK, "%s", "success")
}

参考文献:

https://opendocs.alipay.com/open/203/105286https://opendocs.alipay.com/open/203/105286

https://github.com/smartwalle/alipayhttps://github.com/smartwalle/alipay

https://zhuanlan.zhihu.com/p/315591452https://zhuanlan.zhihu.com/p/315591452

Golang Gin接入支付宝H5网页支付相关推荐

  1. java 支付宝h5网页支付接口,移动端h5网页调用支付宝支付接口

    领导第一次让我做h5支付宝支付的时候,去了支付宝开放平台,一顿上上下下左左右右,看完了长呼一口气.这个支付好像没我啥事儿啊!小伙伴儿们自行查看:https://opendocs.alipay.com/ ...

  2. 接入支付宝手机网页支付详解

    主要就是要在后端构建一个html表单,以一个接口返回给前端,前端加载html后就会自动跳转到支付页面 <form id='alipaysubmit' name='alipaysubmit' ac ...

  3. 支付宝手机网页支付之golang版

    本文章主要是通过golang实现了支付宝手机网页支付的简单封装,封装的基本都是请求的必传参数,如果需要其他参数,可以自己修改BizContent结构体来满足自己的需求. 封装的文件大体分为4个文件: ...

  4. 支付宝h5网页的支付

    支付宝h5网页的支付 最近上线一个理财项目,手机网站进行调起支付宝App支付,做起来还是满顺手的,在此做个记录. 1.首先签约手机网站支付 进入商家中心,进行手机网站支付签约 这个是签约之后的状态,如 ...

  5. java支付宝电脑网页支付

    java支付宝电脑网页支付 官网文档:https://opendocs.alipay.com/open/270/105902 电脑网站支付 1.先给应用申请电脑网页支付功能 2.根据接口文档 ,请求支 ...

  6. 支付宝手机网页支付java demo调试问题和解决办法

    在使用支付宝手机网页支付的时候遇到一些问题跟大家分享一下. 1.生成签名的时候,使用Base64加密时报错:DerInputStream.getLength():lengthTag = 127, to ...

  7. php手机网站支付宝_php支付宝手机网页支付类实例

    本文实例讲述了php支付宝手机网页支付类.分享给大家供大家参考.具体分析如下: 此处注意: ① 该类是用在Yii框架里面的,没有去掉一些框架的东西. ② 本类不能不做任何修改而使用. 1. PHP代码 ...

  8. TP5.1接入支付宝实现网页/APP支付完整请求回调流程(沙箱环境)

    目前互联网项目如果涉及到第三方支付模块,那么支付宝/微信无非是最好的选择,此文先以支付宝为例讲解,想了解微信支付的可以看我之后的文章,当然支付也分很多种形式,比如扫码付.当面付.声波付.调用APP付, ...

  9. android微信支付回调方法,Android接入支付宝和微信支付的方法

    前言 很多APP都需要支付功能,国内一般就是支付宝和微信了.目前这2种接入方式对于APP端来说都已经比较方便了,因为大部分的安全校验之类的逻辑都在服务端. APP端总结起来就是三步走: 接入支付的库 ...

最新文章

  1. SQL 中left join ,inner join,right join的区别
  2. T25健身视频全集+课表
  3. apache 配置rewrite模块,URL中隐藏index.php
  4. 铁幕(Iron Curtain)
  5. zabbix运行脚本监控ggsci报错
  6. WEB前端面试题汇总整理01
  7. Zookeeper的选举机制详解
  8. C语言二叉树字符统计,C语言实现二叉树-利用二叉树统计单词数目
  9. c语言实现万年历程序带节日,【C】万年历
  10. 图上上传页面设计_无线端页面设计“三大雷区”
  11. 从 MySQL 5.6 升级到 MySQL 8.0,Facebook 付出了什么代价?
  12. spring interceptor 拦截方法,判断用户是否存在
  13. 软件测试经典问题——NextDate函数
  14. PaaS适用于哪些场景?让案例说话
  15. Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!
  16. html系统网页代码大全,html网页的代码大全
  17. java 以10为底的对数_获取Java中值的以10为底的对数
  18. 前端预言 未来前端的发展方向
  19. HDMI EDID概念梳理
  20. Java面试错题集1

热门文章

  1. 江苏省学业水平测试信息技术软件,江苏2019年普通高中信息技术学业水平测试工作顺利结束...
  2. Fragstats计算景观格局指数不出结果和分维数PAFRAC出现N/A的问题
  3. 你的独立思考能力正在被它吞噬掉
  4. 1.计算机网络 知识结构框架
  5. Elasticsearch聚合学习之二:区间聚合
  6. ERP标准物料编码规则指南
  7. java 级联删除_Mybatis 级联删除的实现
  8. OC block的回环引用
  9. bootstrap treeview 无限子级菜单展示与JSON处理 完整
  10. Pycharm:解决点击重运行(Rerun)没有反应