外观
Go SDK
安装
bash
go get github.com/yolaipay/yopay-gogo
import yopay "github.com/yolaipay/yopay-go"生产项目请提交更新后的 go.mod 和 go.sum。
当前稳定版本为 v0.3.0。如需固定依赖版本,请在项目的 go.mod 中维护版本号。
配置与下单
go
client, err := yopay.NewClient(yopay.Config{
BaseURL: "https://pay.example.com",
MchID: os.Getenv("YOPAY_MCH_ID"),
SecretKey: os.Getenv("YOPAY_SECRET_KEY"),
PlatformPublicKey: os.Getenv("YOPAY_PLATFORM_PUBLIC_KEY"),
MerchantPrivateKey: os.Getenv("YOPAY_MERCHANT_PRIVATE_KEY"),
})
if err != nil {
return err
}
order, err := client.Order(context.Background(), yopay.OrderRequest{
MerchantOrderNo: "MO-202607160001",
Amount: "20.000",
CurrencyCode: "USD",
Scene: "qr",
Payer: yopay.Payer{
MerchantUserID: "payer-10001",
AccountType: 3,
AccountNo: "openid-10001",
},
})支持下单、退款、提现/代付、关单、查询、账单和商户通知验签解密。
商户通知
传入实际收到的 path、headers 和原始 body;完成本地幂等处理后返回 HTTP 200 与 {"code":0}。
go
var notify yopay.PayNotify
err := client.VerifyAndDecryptNotify(r.URL.Path, r.Header, rawBody, ¬ify)完整示例见 Go SDK GitHub 仓库。