payscore

package
v3.0.0-...-8a73552 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2023 License: MIT Imports: 8 Imported by: 0

README

《支付分》相关功能

Name Function
商户预授权 PrePermit
查询用户授权记录 QueryPermissions
解除用户授权关系 TerminatePermission
解析开启/解除授权服务回调通知 ParseOpenOrCloseNotify
解析确认订单通知内容 ParseConfirmOrderNotify
创建支付订单 CreateServiceOrder
查询支付分订单 QueryServiceOrder
取消支付分订单 CancelServiceOrder
修改订单金额 ModifyServiceOrder
完结支付分订单 CompleteServiceOrder
商户发起催收扣款 PayServiceOrder
同步服务订单信息 SyncServiceOrder
解析支付成功回调数据 ParsePaymentNotify

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CancelRequest

type CancelRequest struct {
	OutOrderNo string `json:"-"`          // 商户服务订单号
	AppId      string `json:"appid"`      // 应用ID
	ServiceId  string `json:"service_id"` // 服务ID
	Reason     string `json:"reason"`     // 取消原因
}

CancelRequest 取消服务订单请求参数

type CancelResponse

type CancelResponse struct {
	RequestId  string `json:"-"`                      // 唯一请求ID
	AppId      string `json:"appid,omitempty"`        // 应用ID
	MchId      string `json:"mchid,omitempty"`        // 商户号
	OutOrderNo string `json:"out_order_no,omitempty"` // 商户订单号
	ServiceId  string `json:"service_id,omitempty"`   // 服务ID
	OrderId    string `json:"order_id,omitempty"`     // 微信支付服务订单号
}

CancelResponse 取消服务订单号应答

func CancelServiceOrder

func CancelServiceOrder(config *service.Config, request *CancelRequest) (cancelResponse *CancelResponse, err error)

CancelServiceOrder 取消支付分订单 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_16.shtml

type Collection

type Collection struct {
	State        string    `json:"state,omitempty"`         // 收款状态
	TotalAmount  int64     `json:"total_amount,omitempty"`  // 总收款金额
	PayingAmount int64     `json:"paying_amount,omitempty"` // 待收款金额
	PaidAmount   int64     `json:"paid_amount,omitempty"`   // 已收款金额
	Details      []*Detail `json:"details,omitempty"`       // 收款明细列表
}

Collection 收款信息

type CompleteRequest

type CompleteRequest struct {
	AppId         string          `json:"appid"`                    // 应用ID
	ServiceId     string          `json:"service_id"`               // 服务ID
	PostPayments  []*PostPayment  `json:"post_payments"`            // 后付费项目
	PostDiscounts []*PostDiscount `json:"post_discounts,omitempty"` // 后付费商户优惠
	TotalAmount   int64           `json:"total_amount"`             // 总金额
	TimeRange     *TimeRange      `json:"time_range,omitempty"`     // 服务时间段
	Location      *Location       `json:"location,omitempty"`       // 服务位置
	ProfitSharing bool            `json:"profit_sharing,omitempty"` // 微信支付服务分账标记
	GoodsTage     string          `json:"goods_tage,omitempty"`     // 订单优惠标记
}

CompleteRequest 完结订单请求参数

type CompleteResponse

type CompleteResponse struct {
	model.WechatError
	RequestId           string          `json:"-"`                              // 唯一请求ID
	AppId               string          `json:"appid,omitempty"`                // 应用ID
	MchId               string          `json:"mchid,omitempty"`                // 商户号
	OutOrderNo          string          `json:"out_order_no,omitempty"`         // 商户服务订单号
	ServiceId           string          `json:"service_id,omitempty"`           // 服务ID
	ServiceIntroduction string          `json:"service_introduction,omitempty"` // 服务信息
	State               string          `json:"state,omitempty"`                // 服务订单状态
	StateDescription    string          `json:"state_description,omitempty"`    // 订单状态说明
	TotalAmount         int64           `json:"total_amount,omitempty"`         // 商户收款总金额
	PostPayments        []*PostPayment  `json:"post_payments,omitempty"`        // 后付费项目
	PostDiscounts       []*PostDiscount `json:"post_discounts,omitempty"`       // 后付费商户优惠
	RiskFund            *RiskFund       `json:"risk_fund,omitempty"`            // 风险金
	TimeRange           *TimeRange      `json:"time_range,omitempty"`           // 服务时间段
	Location            *Location       `json:"location,omitempty"`             // 服务位置
	OrderId             string          `json:"order_id,omitempty"`             // 微信支付服务订单号
	NeedCollection      bool            `json:"need_collection,omitempty"`      // 是否需要收款
}

CompleteResponse 完结支付分订单应答

func CompleteServiceOrder

func CompleteServiceOrder(config *service.Config, outOrderNo string, request *CompleteRequest) (completeResponse *CompleteResponse, err error)

CompleteServiceOrder 完结支付分订单 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml

type Detail

type Detail struct {
	Seq           uint64    `json:"seq,omitempty"`            // 收款序号
	Amount        int64     `json:"amount,omitempty"`         // 单笔收款金额
	PaidType      string    `json:"paid_type,omitempty"`      // 收款成功渠道
	PaidTime      time.Time `json:"paid_time,omitempty"`      // 收款成功时间
	TransactionId string    `json:"transaction_id,omitempty"` // 微信支付交易单号
}

Detail 收款明细

type Location

type Location struct {
	StartLocation string `json:"start_location,omitempty"` // 服务开始地点
	EndLocation   string `json:"end_location,omitempty"`   // 服务结束位置
}

Location 服务位置

type ModifyRequest

type ModifyRequest struct {
	AppId         string          `json:"appid"`                    // 应用ID
	ServiceId     string          `json:"service_id"`               // 服务ID
	PostPayments  []*PostPayment  `json:"post_payments"`            // 后付费项目
	PostDiscounts []*PostDiscount `json:"post_discounts,omitempty"` // 后付费商户优惠
	TotalAmount   int64           `json:"total_amount"`             // 总金额
	Reason        string          `json:"reason"`                   // 修改原因
}

ModifyRequest 修改订单金额

type ModifyResponse

type ModifyResponse struct {
	model.WechatError
	RequestId           string          `json:"-"`                              // 微信唯一请求ID或者唯一通知ID
	AppId               string          `json:"appid,omitempty"`                // 应用ID
	MchId               string          `json:"mchid,omitempty"`                // 商户号
	ServiceId           string          `json:"service_id,omitempty"`           // 服务ID
	OutOrderNo          string          `json:"out_order_no,omitempty"`         // 商户服务订单号
	State               string          `json:"state,omitempty"`                // 服务订单状态
	StateDescription    string          `json:"state_description,omitempty"`    // 订单状态说明
	TotalAmount         int64           `json:"total_amount,omitempty"`         // 商户收款总金额
	ServiceIntroduction string          `json:"service_introduction,omitempty"` // 服务信息
	PostPayments        []*PostPayment  `json:"post_payments,omitempty"`        // 后付费项目
	PostDiscounts       []*PostDiscount `json:"post_discounts,omitempty"`       // 后付费商户优惠
	RiskFund            *RiskFund       `json:"risk_fund,omitempty"`            // 风险金
	TimeRange           *TimeRange      `json:"time_range,omitempty"`           // 服务时间段
	Location            *Location       `json:"location,omitempty"`             // 服务位置
	Attach              string          `json:"attach,omitempty"`               // 商户数据包
	NotifyUrl           string          `json:"notify_url,omitempty"`           // 商户回调地址
	OrderId             string          `json:"order_id,omitempty"`             // 微信支付服务订单号
	NeedCollection      bool            `json:"need_collection,omitempty"`      // 是否需要收款
	Collection          *Collection     `json:"collection,omitempty"`           // 收款信息
}

ModifyResponse 修改订单金额应答

func ModifyServiceOrder

func ModifyServiceOrder(config *service.Config, outOrderNo string, request *ModifyRequest) (modifyResponse *ModifyResponse, err error)

ModifyServiceOrder 修改订单金额 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml

type OpenOrCloseResponse

type OpenOrCloseResponse struct {
	NotifyId          string    // 通知ID
	AppId             string    `json:"appid,omitempty"`               // 公众号ID
	MchId             string    `json:"mchid,omitempty"`               // 商户号
	OutRequestNo      string    `json:"out_request_no,omitempty"`      // 商户签约单号
	ServiceId         string    `json:"service_id,omitempty"`          // 服务ID
	OpenId            string    `json:"openid,omitempty"`              // 用户标识
	UserServiceStatus string    `json:"user_service_status,omitempty"` // 回调状态
	OpenOrCloseTime   time.Time `json:"openorclose_time,omitempty"`    // 服务开启/解除授权时间
	AuthorizationCode string    `json:"authorization_code,omitempty"`  // 授权协议号
}

OpenOrCloseResponse 开启/解除授权服务回调通知内容

func ParseOpenOrCloseNotify

func ParseOpenOrCloseNotify(config *service.Config, request *http.Request) (response *OpenOrCloseResponse, err error)

ParseOpenOrCloseNotify 解析开启/解除授权服务回调通知 文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_10.shtml

type PayOrderRequest

type PayOrderRequest struct {
	AppId     string `json:"appid"`      // 应用ID
	ServiceId string `json:"service_id"` // 服务ID
}

PayOrderRequest 商户发起催收扣款请求参数

type PayOrderResponse

type PayOrderResponse struct {
	RequestId  string `json:"-"`                      // 唯一请求ID
	AppId      string `json:"appid,omitempty"`        // 应用ID
	MchId      string `json:"mchid,omitempty"`        // 商户号
	OutOrderNo string `json:"out_order_no,omitempty"` // 商户服务订单号
	ServiceId  string `json:"service_id,omitempty"`   // 服务ID
	OrderId    string `json:"order_id,omitempty"`     // 微信支付服务订单号
}

PayOrderResponse 商户发起催收扣款应答参数

func PayServiceOrder

func PayServiceOrder(config *service.Config, outOrderNo string, request *PayOrderRequest) (payResponse *PayOrderResponse, err error)

PayServiceOrder 商户发起催收扣款 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_19.shtml

type PostDiscount

type PostDiscount struct {
	Name        string `json:"name,omitempty"`        // 优惠名称
	Description string `json:"description,omitempty"` // 优惠说明
	Amount      int64  `json:"amount,omitempty"`      // 优惠金额
}

PostDiscount 后付费商户优惠

type PostPayment

type PostPayment struct {
	Name        string `json:"name"`                  // 付费项目名称
	Amount      int64  `json:"amount"`                // 金额
	Description string `json:"description,omitempty"` // 计费说明
	Count       int    `json:"count,omitempty"`       // 付费数量
}

PostPayment 后付费项目

type PrePermitResponse

type PrePermitResponse struct {
	model.WechatError
	RequestId             string
	ApplyPermissionsToken string `json:"apply_permissions_token,omitempty"` // 预授权Token
}

PrePermitResponse 商户预授权应答

func PrePermit

func PrePermit(config *service.Config, request interface{}) (permissionResponse *PrePermitResponse, err error)

PrePermit 商户预授权API API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml

type QueryOrderRequest

type QueryOrderRequest struct {
	OutOrderNo string `json:"out_order_no,omitempty"` // 商户服务订单号
	QueryId    string `json:"query_id,omitempty"`     // 回跳查询ID
	ServiceId  string `json:"service_id,omitempty"`   // 服务ID
	AppId      string `json:"appid,omitempty"`        // 应用ID
}

QueryOrderRequest 查询支付分订单

type QueryPermissionsRequest

type QueryPermissionsRequest struct {
	ServiceId         string `json:"service_id,omitempty"`         // 服务ID
	AuthorizationCode string `json:"authorization_code,omitempty"` // 授权协议号
	AppId             string `json:"appid,omitempty"`              // 应用ID
	OpenId            string `json:"openid,omitempty"`             // 用户标示
}

QueryPermissionsRequest 查询用户授权记录请求

type QueryPermissionsResponse

type QueryPermissionsResponse struct {
	model.WechatError
	RequestId                string
	ServiceId                string    `json:"service_id,omitempty"`                 // 服务ID
	AppId                    string    `json:"appid,omitempty"`                      // 应用ID
	MchId                    string    `json:"mchid,omitempty"`                      // 商户号
	OpenId                   string    `json:"openid,omitempty"`                     // 用户标识
	AuthorizationCode        string    `json:"authorization_code,omitempty"`         // 授权协议号
	AuthorizationState       string    `json:"authorization_state,omitempty"`        // 授权状态
	NotifyUrl                string    `json:"notify_url,omitempty"`                 // 授权通知地址
	CancelAuthorizationTime  time.Time `json:"cancel_authorization_time,omitempty"`  // 最近一次解除授权时间
	AuthorizationSuccessTime time.Time `json:"authorization_success_time,omitempty"` // 最近一次授权成功时间
}

QueryPermissionsResponse 查询用户授权记录应答(包括通过授权协议号和openid查询)

func QueryPermissions

func QueryPermissions(config *service.Config, request *QueryPermissionsRequest) (queryResponse *QueryPermissionsResponse, err error)

QueryPermissions 查询用户授权记录 通过authorization_code查询API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_3.shtml 通过openid查询API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_5.shtml

type RiskFund

type RiskFund struct {
	Name        string `json:"name,omitempty"`        // 风险金名称
	Amount      int64  `json:"amount,omitempty"`      // 风险金额
	Description string `json:"description,omitempty"` // 风险说明
}

RiskFund 订单风险金

type ServiceOrder

type ServiceOrder struct {
	model.WechatError
	Id                  string          `json:"-"`                              // 微信唯一请求ID
	AppId               string          `json:"appid,omitempty"`                // 应用ID
	MchId               string          `json:"mchid,omitempty"`                // 商户号
	OutOrderNo          string          `json:"out_order_no,omitempty"`         // 商户服务订单号
	OpenId              string          `json:"open_id,omitempty"`              // 用户标识
	ServiceId           string          `json:"service_id,omitempty"`           // 服务ID
	ServiceIntroduction string          `json:"service_introduction,omitempty"` // 服务信息
	State               string          `json:"state,omitempty"`                // 服务订单状态
	StateDescription    string          `json:"state_description,omitempty"`    // 订单状态说明
	TotalAmount         int64           `json:"total_amount,omitempty"`         // 商户收款总金额
	PostPayments        []*PostPayment  `json:"post_payments,omitempty"`        // 后付费项目
	PostDiscounts       []*PostDiscount `json:"post_discounts,omitempty"`       // 后付费商户优惠
	RiskFund            *RiskFund       `json:"risk_fund,omitempty"`            // 风险金
	TimeRange           *TimeRange      `json:"time_range,omitempty"`           // 服务时间段
	Location            *Location       `json:"location,omitempty"`             // 服务位置
	Attach              string          `json:"attach,omitempty"`               // 商户数据包
	NotifyUrl           string          `json:"notify_url,omitempty"`           // 商户回调地址
	OrderId             string          `json:"order_id,omitempty"`             // 微信支付服务订单号
	Package             string          `json:"package,omitempty"`              // 跳转微信侧小程序订单数据
	NeedCollection      bool            `json:"need_collection,omitempty"`      // 是否需要收款
	Collection          *Collection     `json:"collection,omitempty"`           // 收款信息
}

ServiceOrder 确认订单通知参数

func CreateServiceOrder

func CreateServiceOrder(config *service.Config, request interface{}) (serviceOrder *ServiceOrder, err error)

CreateServiceOrder 创建支付订单 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml

func ParseConfirmOrderNotify

func ParseConfirmOrderNotify(config *service.Config, request *http.Request) (confirmResponse *ServiceOrder, err error)

ParseConfirmOrderNotify 解析确认订单通知内容 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml

func ParsePaymentNotify

func ParsePaymentNotify(config *service.Config, request *http.Request) (payResponse *ServiceOrder, err error)

ParsePaymentNotify 解析支付成功回调数据 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml

func QueryServiceOrder

func QueryServiceOrder(config *service.Config, request *QueryOrderRequest) (queryResponse *ServiceOrder, err error)

QueryServiceOrder 查询支付分订单 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml

type SyncDetail

type SyncDetail struct {
	PaidTime string `json:"paid_time"` // 收款成功时间
}

SyncDetail 同步订单内容信息详情

type SyncRequest

type SyncRequest struct {
	AppId     string  `json:"appid"`            // 应用ID
	ServiceId string  `json:"service_id"`       // 服务ID
	Type      string  `json:"type"`             // 场景类型
	Detail    *Detail `json:"detail,omitempty"` // 内容信息详情
}

SyncRequest 同步订单请求参数

type SyncResponse

type SyncResponse struct {
	RequestId           string          `json:"-"`                              // 唯一请求ID
	AppId               string          `json:"appid,omitempty"`                // 应用ID
	MchId               string          `json:"mchid,omitempty"`                // 商户号
	OutOrderNo          string          `json:"out_order_no,omitempty"`         // 商户服务订单号
	ServiceId           string          `json:"service_id,omitempty"`           // 服务ID
	ServiceIntroduction string          `json:"service_introduction,omitempty"` // 服务信息
	OpenId              string          `json:"open_id,omitempty"`              // 用户标识
	State               string          `json:"state,omitempty"`                // 服务订单状态
	StateDescription    string          `json:"state_description,omitempty"`    // 订单状态说明
	TotalAmount         int64           `json:"total_amount,omitempty"`         // 商户收款总金额
	PostPayments        []*PostPayment  `json:"post_payments,omitempty"`        // 后付费项目
	PostDiscounts       []*PostDiscount `json:"post_discounts,omitempty"`       // 后付费商户优惠
	RiskFund            *RiskFund       `json:"risk_fund,omitempty"`            // 风险金
	TimeRange           *TimeRange      `json:"time_range,omitempty"`           // 服务时间段
	Location            *Location       `json:"location,omitempty"`             // 服务位置
	Attach              string          `json:"attach,omitempty"`               // 商户数据包
	NotifyUrl           string          `json:"notify_url,omitempty"`           // 商户回调地址
	OrderId             string          `json:"order_id,omitempty"`             // 微信支付服务订单号
	NeedCollection      bool            `json:"need_collection,omitempty"`      // 是否需要收款
	Collection          *Collection     `json:"collection,omitempty"`           // 收款信息
}

SyncResponse 同步服务订单信息应答参数

func SyncServiceOrder

func SyncServiceOrder(config *service.Config, outOrderNo string, request *SyncRequest) (syncResponse *SyncResponse, err error)

SyncServiceOrder 同步服务订单信息 API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml

type TerminatePermissionRequest

type TerminatePermissionRequest struct {
	ServiceId         string `json:"service_id"`      // 服务ID
	Reason            string `json:"reason"`          // 解除授权原因
	AuthorizationCode string `json:"-"`               // 授权协议号
	OpenId            string `json:"-"`               // 用户标识
	AppId             string `json:"appid,omitempty"` // 应用ID
}

TerminatePermissionRequest 解除用户授权关系请求

type TerminatePermissionResponse

type TerminatePermissionResponse struct {
	model.WechatError
	RequestId string
}

TerminatePermissionResponse 解除用户授权关系应答

func TerminatePermission

func TerminatePermission(config *service.Config, request *TerminatePermissionRequest) (terminateResponse *TerminatePermissionResponse, err error)

TerminatePermission 解除用户授权关系 通过authorization_code解除API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_4.shtml 通过openid解除API文档: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_6.shtml

type TimeRange

type TimeRange struct {
	StartTime       time.Time `json:"start_time,omitempty"`        // 服务开始时间
	StartTimeRemark string    `json:"start_time_remark,omitempty"` // 服务开始时间备注
	EndTime         time.Time `json:"end_time,omitempty"`          // 服务结束时间
	EndTimeRemark   string    `json:"end_time_remark,omitempty"`   // 服务结束时间备注
}

TimeRange 服务时间段

Jump to

Keyboard shortcuts

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