mugglepay

package module
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2021 License: Apache-2.0 Imports: 4 Imported by: 1

README

mugglepay

注册商家账号

注册商家账号

开通麻瓜宝

MugglePay麻瓜宝,基于Telegram的电子钱包,匿名支付0手续费秒级到账。 打开Telegram开通

安装

go get github.com/admpub/mugglepay@latest

引用

import (
    "github.com/admpub/mugglepay"
    "github.com/admpub/mugglepay/structs"
)

创建订单

func CreateOrder(c *gin.Context) {
    mgp := mugglepay.New("BitpayxApplicationKey")
    // host := "https://www.example.com"
    serverOrder, _ := mgp.CreateOrder(&structs.Order{
        MerchantOrderID: orderID,
        PriceAmount:     money,
        // PriceCurrency:   "USD",
        // PayCurrency:     "ALIPAY",
        // PayCurrency:     "WECHAT",
        PayCurrency:     "",
        PriceCurrency:   "CNY",
        Title:           "订单标题",
        Description:     "订单描述",
        // 如需法币支付则必须设置正确的回调地址
        // CallbackURL: host + "/payment/notify",
        // CancelURL: host + "/user/code/return",
        // SuccessURL: host + "/user/code/return",
    })
    // 支付宝/微信扫码链接,该函数仅 PayCurrency 为 ALIPAY/WECHAT 时可返回地址
    // 其他情况下均返回加密货币地址
    // aliqr := serverOrder.ParseInvoiceAddress().Invoice.Address
    c.Redirect(http.StatusFound, serverOrder.PaymentURL)
}

支付回调校验

func Notify(c *gin.Context) {
    body, _ := c.GetRawData()
    var callback structs.Callback
    if err := json.Unmarshal(body, &callback); err == nil {
        mgp := mugglepay.New("BitpayxApplicationKey")
        if mgp.VerifyOrder(&callback) {
            // code ... 
            c.JSON(200, gin.H{"status": 200})
            return
        }
    }
    c.JSON(200, gin.H{"status": 400})
}

修改支付方式

mgp := mugglepay.New("BitpayxApplicationKey")
sorder, _ := mgp.CheckOut(ServerOrderId, "P2P_BTC")
// 应付金额
money := sorder.Invoice.PayAmount
// 法币支付链接
// 虚拟货币交易地址
address := sorder.Parse().Invoice.Address
// 虚拟货币交易备注
memo := sorder.Invoice.Memo

打赏

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mugglepay

type Mugglepay struct {
	AppKey      string
	APIURL      string
	CallbackURL string
	CancelURL   string
	SuccessURL  string
}

Mugglepay mugglepay操作

func New

func New(key string) *Mugglepay

New 新实例

func (*Mugglepay) CancelOrder

func (m *Mugglepay) CancelOrder(orderID string) (structs.ServerOrder, error)

CancelOrder 取消订单

func (*Mugglepay) CheckOut

func (m *Mugglepay) CheckOut(orderID, PayCurrency string) (structs.ServerOrder, error)

CheckOut 切换网关支付方式

func (*Mugglepay) CreateOrder

func (m *Mugglepay) CreateOrder(order *structs.Order) (structs.ServerOrder, error)

CreateOrder 创建订单,返回 ServerOrder

func (*Mugglepay) Get

func (m *Mugglepay) Get(apiURL string, result interface{}) error

Get HTTP GET

func (*Mugglepay) GetOrder

func (m *Mugglepay) GetOrder(orderID string) (structs.ServerOrder, error)

GetOrder 根据网关订单编号获取 ServerOrder

func (*Mugglepay) GetStatus

func (m *Mugglepay) GetStatus(orderID string) (structs.ServerOrder, error)

GetStatus 订单查询

func (*Mugglepay) Post

func (m *Mugglepay) Post(apiURL string, result interface{}, body interface{}) error

Post HTTP POST

func (*Mugglepay) Refund

func (m *Mugglepay) Refund(orderID string) (structs.ServerRefund, error)

Refund 退款

func (*Mugglepay) ReqURL

func (m *Mugglepay) ReqURL(apiURL string) utils.ReqURL

ReqURL HTTP Request URL

func (*Mugglepay) Sent

func (m *Mugglepay) Sent(orderID string) (structs.ServerOrder, error)

Sent 虚拟币: 我已支付

func (*Mugglepay) VerifyOrder

func (m *Mugglepay) VerifyOrder(callback *structs.Callback) bool

VerifyOrder 校验订单签名

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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