golang调用蓝兔支付实现网上支付功能_Golang-深圳网站优化推广公司

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)  
}

然后也提供了一个交易记录的管理。

go

  • 支付
  • 相关文章

    • 最新评论