拉卡拉支付 Go SDK

最近有一个需求,需要用到拉卡拉的支付,然后秉着开源精神去网上找到了
github.com/go-pay/gopay 一个支付的库,等到我使用的时候却发现拉卡拉的实现是
url
国外的接口,😂😂😂。
无奈之下,只能自己动手来实现一个拉卡拉的Golang SDK。也就是github.com/ywanbing/pay 的诞生。

项目地址:https://github.com/ywanbing/pay

下面就是这个项目的介绍

功能介绍

  1. 拉卡拉支付的接口SDK,目前只会增加聚合平台的支付接口
  2. 采用泛型的方式进行接口封装

快速开始

该库采用泛型和一些新的特性,需要使用的 Go 版本需要不小于 1.22.4

安装

1、使用 Go Modules 管理你的项目

如果你的项目还不是使用 Go Modules 做依赖管理,在项目根目录下执行:

go mod init
2、无需 clone 仓库中的代码,直接在项目目录中执行:
go get -u github.com/ywanbing/pay

来添加依赖,完成 go.mod 修改与 SDK 下载。

发送支付订单创建

先初始化一个 lklpay.Client 实例,再向拉卡拉支付发送请求。

package main

import (
	"context"
	"time"

	"github.com/ywanbing/pay/lklpay"
	"github.com/ywanbing/pay/lklpay/common"
	"github.com/ywanbing/pay/lklpay/model"
)

var (
	Appid           = "OP00000003"
	SerialNo        = "00dfba8194c41b84cf"
	MerchantNo      = "822290059430BCY"
	TermNo          = "A9254710"
	SyncPublicKey   = `-----BEGIN CERTIFICATE----- ******* END CERTIFICATE-----`
	SyncPubicPath   = "" // 读取证书文件(如果没有配置 SyncPublicKey 那么就会读取文件)
	SignPrivateKey  = `-----BEGIN RSA PRIVATE KEY----- ******* END RSA PRIVATE KEY-----`
	SignPrivatePath = "" // 读取私钥文件(如果没有配置 SignPrivateKey 那么就会读取文件)
)

func main() {
	client := lklpay.New(lklpay.Config{
		Appid:           Appid,
		SerialNo:        SerialNo,
		MerchantNo:      MerchantNo,
		TermNo:          TermNo,
		SyncPublicKey:   SyncPublicKey,
		SignPrivateKey:  SignPrivateKey,
		SyncPubicPath:   "",
		SignPrivatePath: "",
	},
		lklpay.WithIsProd(true),     // 是否生产环境
		lklpay.WithNonceStrLen(12),  // 随机字符串长度
		lklpay.WithVerifyResp(true)) // 验证响应的签名
	// ... 还有一些其他的配置

	// resp *model.SpecialCreateRes
	resp, err := client.OrderSpecialCreate(context.Background(), model.SpecialCreateReq{
		OutOrderNo:           "123456789",
		MerchantNo:           MerchantNo,
		TotalAmount:          1,
		OrderEfficientTime:   common.FormatTime(time.Now().Add(time.Minute * 5)), // 提供时间的格式化
		OrderInfo:            "测试订单",
		SupportRefund:        1,
		CloseOrderAutoRefund: "1",
	})
	if err != nil {
		panic(err)
	}
	println(resp)
}


实现接口

  • 收银台订单创建 client.OrderSpecialCreate doc地址
  • 收银台订单查询 client.OrderQuery doc地址
  • 收银台订单通知 client.ParseOrderNotify doc地址
  • 收银台订单关单 client.OrderClose doc地址
  • 扫码-退款交易 client.Refund doc地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值