golang调用蓝兔支付实现网上支付功能
更新时间:2023年09月19日 10:36:58 作者:唐诗
支付宝、微信的网上支付需要营业执照个人无法直接使用,如果个人需要实现网上支付功能,目前大部分应该是都是依赖第三方聚合支付来实现,本文就来介绍一下如何调用蓝兔支付实现网上支付功能,有需要的可以参考下
支付宝、微信的网上支付需要营业执照个人无法直接使用。
如果个人需要实现网上支付功能,目前大部分应该是都是依赖第三方聚合支付来实现。
蓝兔支付-猛击访问官网 开户费用 50
,相对来说比较优惠了。
接口服务费感觉有那么一点高,不过我是用来做个人网站的支付不会有太大的流水倒也没那么在意。
产品对比
从这张图大概可以了解到与微信官方的一些区别。
文档地址这非常好,一个好的文档可以让我少走很多弯路。
官网文档有示例,记得先设置白名单地址。
咱就借鉴官网的调用示例然后完善一下,这里使用了 gin。
func WeChatPay(ctx *gin.Context) { payReq := pay.WeChatPayReq{} if err := ctx.ShouldBind(&payReq); err != nil { utils.HandleValidatorError(ctx, err) return } // 调用蓝兔支付接口 获取支付二维码 res, err := http.PostForm("https://api.ltzf.cn/api/wxpay/native", getLTZFWeChatPayApiReq(payReq)) if err != nil { // 处理请求错误 utils.ResponseResultsError(ctx, err.Error()) return } defer func(Body io.ReadCloser) { err := Body.Close() if err != nil { utils.ResponseResultsError(ctx, err.Error()) } }(res.Body) body, err := io.ReadAll(res.Body) if err != nil { // 处理读取响应体错误 utils.ResponseResultsError(ctx, err.Error()) return } // 解析接口响应数据 type Data struct { CodeURL string `json:"code_url"` QRCodeURL string `json:"QRcode_url"` } type Response struct { Code int `json:"code"` Data Data `json:"data"` Msg string `json:"msg"` RequestID string `json:"request_id"` } // 解析JSON数据 var resp Response if err := json.Unmarshal(body, &resp); err != nil { // 处理解析JSON错误 utils.ResponseResultsError(ctx, err.Error()) return } if resp.Code != 0 { utils.ResponseResultsError(ctx, resp.Msg) return } utils.ResponseResultsSuccess(ctx, resp.Data) }
然后也提供了一个交易记录的管理。
最新评论