gopay

package module
v0.0.0-...-a6cfbfe Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

README

* golang语言实现的支付库
最近在搞支付这块,但是网上的代码基本没有能用的,要么不全,要么有硬伤,所以最后还是自己接了。抽出写的一部分代码,封装下分享出来,希望能给大家一点借鉴意义。
* 支持的支付方式
目前支持微信公众号,微信app,微信小程序,支付宝网页版,支付宝app。要是谁有新的支付方式也可以合并。
* 使用方法
#+BEGIN_SRC go
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)
	})
}
#+END_SRC

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AliAppCallback

func AliAppCallback(w http.ResponseWriter, r *http.Request) (*common.AliWebPayResult, error)

支付宝app支付回调

func Pay

func Pay(charge *common.Charge) (map[string]string, error)

用户下单支付接口

func PayToClient

func PayToClient(charge *common.Charge) (map[string]string, error)

付款给用户接口

func Refund

func Refund(charge *common.RefundCharge) (map[string]string, error)

func WeChatCallback

func WeChatCallback(w http.ResponseWriter, r *http.Request) (*common.WeChatPayResult, error)

WeChatCallback 微信支付

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL