golang集成支付宝支付(沙箱环境)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang集成支付宝支付(沙箱环境)相关的知识,希望对你有一定的参考价值。
参考技术A 最近项目有支付需求,需要集成app内支付,而支付宝官方没有提供go的sdk,所以去github上找了一下第三方实现的sdk,这里记录一下流程。github地址 https://github.com/smartwalle/alipay
支付宝沙箱环境配置地址 https://openhome.alipay.com/platform/appDaily.htm
这里主要讲解一下app内拉起支付宝控件支付,用户手机必须安装了支付宝。
app内支付和app网页支付其实差不多,可以做成用户安装了支付宝就拉起控件使用app内支付,没有安装就跳转网页支付。
支付宝支付—沙箱环境使用
前言
支付宝支付—沙箱环境使用「本文」
支付宝支付-支付宝PC端扫码支付「待写」
支付宝支付-手机浏览器H5支付「待写」
支付宝提供的沙箱环境,入门门槛非常低,不需要商家认证那一套,这一点对开发者是非常友好的,可以直接在本地运行测试,跟最终的产品上线效果是一样的,好了,废话不说,进入正题。
1. 登陆支付宝开放平台
支付宝开放平台链接:https://open.alipay.com
右侧直接支付宝扫码支付就完事了。
登陆之后需要填写入驻信息,如果是个人开发者的话可以切换一下信息,默认为系统服务商,可自行切换到开发者身份。如下图所示。
2. 进入沙箱环境
登陆成功后,如下图所示,页面往下拉,找到 开发服务 > 研发服务
这就是沙箱环境的入口了,接下来就是需要设置一下参数了。
补充:为保证沙箱长期稳定,每周日中午12点至每周一中午12点沙箱环境进行维护,期间可能出现不可用,敬请谅解。
3. 设置必要参数
第一个需要设置的参数为 RSA2(SHA256)密钥(推荐)
点击设置后,可以根据自己情况选择加密方式,下面我采用的是公钥:
下载安装支付宝开放平台开放助手,点击生成秘钥,公钥私钥都有用注意保存一下:
将生成的公钥复制到支付宝窗口中:
第二个需要设置的参数为 应用网关
开发环境网关链接为:https://openapi.alipaydev.com/gateway.do
4. 体验测试账户
沙箱环境提供了测试账户,包含商户号跟买家号,但是该账户只能在支付宝提供的测试APK上使用。
界面继续往下拉,找到测试APK的下载地址:「或者是在左侧的沙箱工具中下载」
账户信息在左侧的 沙箱账户 中。
5. 下载官方提供的测试Demo
当面付
APP支付客户端
APP支付服务端
分享到支付宝
手机网站支付
生活号(原服务窗)
JS-API
我们就以 手机网站支付 为例,测试一下(java)。
6. 运行测试Demo
下载手机网站支付 Demo 后导入 IDEA 中,需要调整的参数如下:
AlipayConfig.java
public class AlipayConfig {
// 商户appid
public static String APPID = "2016101700705301";
// 私钥 pkcs8格式的
public static String RSA_PRIVATE_KEY = "";
// 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String notify_url = "http://ngrok.sscai.club/alipay_trade_wap_pay_java_utf_8_war_exploded/notify_url.jsp";
// 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址
public static String return_url = "http://ngrok.sscai.club/alipay_trade_wap_pay_java_utf_8_war_exploded/return_url.jsp";
// 请求网关地址
public static String URL = "https://openapi.alipaydev.com/gateway.do";
// 编码
public static String CHARSET = "UTF-8";
// 返回格式
public static String FORMAT = "json";
// 支付宝公钥
public static String ALIPAY_PUBLIC_KEY = "";
// 日志记录目录
public static String log_path = "/log";
// RSA2
public static String SIGNTYPE = "RSA2";
}
简单说一下几个参数吧。
RSA_PRIVATE_KEY:私钥,这个参数就是通过 支付宝开放平台开放助手 生成的应用公钥、应用私钥 中的应用私钥
notify_url:异步通知,当你支付成功时,支付宝回调你本地启动项目的接口,必须是外网可以访问的,否则支付宝请求不到,但是又得是你本地的方法「不讨论线上测试」,所以这就需要用到内网映射,推荐使用免费版的 natapp(自行百度)。
粗糙理解:内网映射就是将内网映射到外网,实现通过外网链接访问本地的效果。
例如上方的:http://ngrok.sscai.club 指向我本地的 http://127.0.0.1:port
ALIPAY_PUBLIC_KEY:支付宝公钥,注意这个参数不是你上边生成的应用公钥,而是下方截图中的支付宝公钥。
运行启动项目后如下图所示「PC端」:
由于是手机网站支付,所以我们在手机浏览器进行测试。
本文的测试Demo代码:https://www.lanzous.com/i8oe2sb
求关注,求推荐
博客地址:https://www.cnblogs.com/niceyoo
求关注??,求推荐??,如果觉得这篇文章有点东西,不妨左上角关注一下我。
以上是关于golang集成支付宝支付(沙箱环境)的主要内容,如果未能解决你的问题,请参考以下文章