Skip to content
/ gopay Public

golang支付:微信公众号,微信app,微信小程序,微信企业支付,支付宝网页版,支付宝app,支付宝企业支付

License

Notifications You must be signed in to change notification settings

milkbobo/gopay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7d4b402 · Dec 10, 2020

History

16 Commits
Aug 27, 2019
Jul 23, 2019
Jun 14, 2019
Feb 22, 2017
Jan 10, 2018
May 10, 2018
Dec 6, 2017
Aug 26, 2019
Dec 10, 2020
Dec 10, 2020
May 4, 2018
Jan 10, 2018

Repository files navigation

golang语言实现的支付库

最近在搞支付这块,但是网上的代码基本没有能用的,要么不全,要么有硬伤,所以最后还是自己接了。抽出写的一部分代码,封装下分享出来,希望能给大家一点借鉴意义。

支持的支付方式

目前支持微信公众号,微信app,微信小程序,支付宝网页版,支付宝app。要是谁有新的支付方式也可以合并。

使用方法

package main

import (
	"fmt"
	"github.com/milkbobo/gopay"
	"github.com/milkbobo/gopay/client"
	"github.com/milkbobo/gopay/common"
	"github.com/milkbobo/gopay/constant"
	"net/http"
)

//支付宝举例
func main() {
	//设置支付宝账号信息
	initClient()
	//设置回调函数
	initHandle()

	//支付
	charge := new(common.Charge)
	charge.PayMethod = constant.WECHAT                              //支付方式
	charge.MoneyFee = 1                                             // 支付钱单位分
	charge.Describe = "test pay"                                    //支付描述
	charge.TradeNum = "1111111111"                                  //交易号
	charge.CallbackURL = "http://127.0.0.1/callback/aliappcallback" //回调地址必须跟下面一样

	fdata, err := gopay.Pay(charge)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(fdata)
}

func initClient() {
	client.InitAliAppClient(&client.AliAppClient{
		PartnerID:  "xxx",
		SellerID:   "xxxx",
		AppID:      "xxx",
		PrivateKey: nil,
		PublicKey:  nil,
	})
}

func initHandle() {
	http.HandleFunc("callback/aliappcallback", func(w http.ResponseWriter, r *http.Request) {
		//返回支付结果
		aliResult, err := gopay.AliAppCallback(w, r)
		if err != nil {
			fmt.Println(err)
			//log.xxx
			return
		}
		//接下来处理自己的逻辑
		fmt.Println(aliResult)
	})
}

About

golang支付:微信公众号,微信app,微信小程序,微信企业支付,支付宝网页版,支付宝app,支付宝企业支付

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages