service/vendor/github.com/go-pay/gopay/wechat/v3/model.go

279 lines
14 KiB
Go
Raw Normal View History

2023-12-21 22:17:40 +08:00
package wechat
// 微信支付分订单类型1-微信订单号2-商户订单号3-微信侧回跳到商户前端时用于查单的单据查询id查询支付分订单中会使用
type OrderNoType uint8
// 微信证书类型RSA、SM2
type CertType string
type PlatformCertRsp struct {
Code int `json:"-"`
Certs []*PlatformCertItem `json:"certs"`
Error string `json:"-"`
}
type EmptyRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Error string `json:"-"`
}
// 服务人员注册 Rsp
type SmartGuideRegRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *SmartGuideReg `json:"response,omitempty"`
Error string `json:"-"`
}
// 服务人员查询 Rsp
type SmartGuideQueryRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *SmartGuideQuery `json:"response,omitempty"`
Error string `json:"-"`
}
// 点金计划管理 Rsp
type GoldPlanManageRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *GoldPlanManage `json:"response,omitempty"`
Error string `json:"-"`
}
// 特约商户余额提现 Rsp
type WithdrawRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *Withdraw `json:"response,omitempty"`
Error string `json:"-"`
}
// 查询特约商户提现状态 Rsp
type WithdrawStatusRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *WithdrawStatus `json:"response,omitempty"`
Error string `json:"-"`
}
type EntrustPayNotifyRsp struct {
Code int `json:"-"`
SignInfo *SignInfo `json:"-"`
Response *BankSearchBranch `json:"response,omitempty"`
Error string `json:"-"`
}
// =========================================================分割=========================================================
type JSAPIPayParams struct {
AppId string `json:"appId"`
TimeStamp string `json:"timeStamp"`
NonceStr string `json:"nonceStr"`
Package string `json:"package"`
SignType string `json:"signType"`
PaySign string `json:"paySign"`
}
type AppPayParams struct {
Appid string `json:"appid"`
Partnerid string `json:"partnerid"`
Prepayid string `json:"prepayid"`
Package string `json:"package"`
Noncestr string `json:"noncestr"`
Timestamp string `json:"timestamp"`
Sign string `json:"sign"`
}
type AppletParams struct {
AppId string `json:"appId"`
TimeStamp string `json:"timeStamp"`
NonceStr string `json:"nonceStr"`
Package string `json:"package"`
SignType string `json:"signType"`
PaySign string `json:"paySign"`
}
type AppletScoreExtraData struct {
MchId string `json:"mch_id"`
Package string `json:"package"`
TimeStamp string `json:"timestamp"`
NonceStr string `json:"nonce_str"`
SignType string `json:"sign_type"`
Sign string `json:"sign"`
}
// ==================================分割==================================
type SignInfo struct {
HeaderTimestamp string `json:"Wechatpay-Timestamp"`
HeaderNonce string `json:"Wechatpay-Nonce"`
HeaderSignature string `json:"Wechatpay-Signature"`
HeaderSerial string `json:"Wechatpay-Serial"`
SignBody string `json:"sign_body"`
}
type PlatformCertItem struct {
EffectiveTime string `json:"effective_time"`
ExpireTime string `json:"expire_time"`
PublicKey string `json:"public_key"`
SerialNo string `json:"serial_no"`
}
type PlatformCert struct {
Data []*CertData `json:"data"`
}
type CertData struct {
EffectiveTime string `json:"effective_time"`
EncryptCertificate *EncryptCert `json:"encrypt_certificate"`
ExpireTime string `json:"expire_time"`
SerialNo string `json:"serial_no"`
}
type EncryptCert struct {
Algorithm string `json:"algorithm"`
AssociatedData string `json:"associated_data"`
Ciphertext string `json:"ciphertext"`
Nonce string `json:"nonce"`
}
type Amount struct {
Total int `json:"total,omitempty"` // 订单总金额,单位为分
PayerTotal int `json:"payer_total,omitempty"` // 用户支付金额,单位为分
DiscountTotal int `json:"discount_total,omitempty"` // 订单折扣
Currency string `json:"currency,omitempty"` // CNY人民币境内商户号仅支持人民币
PayerCurrency string `json:"payer_currency,omitempty"` // 用户支付币种
}
type RefundAmount struct {
Total int `json:"total,omitempty"` // 订单总金额,单位为分,只能为整数
Refund int `json:"refund,omitempty"` // 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额,如果有使用券,后台会按比例退
PayerTotal int `json:"payer_total,omitempty"` // 用户实际支付金额,单位为分,只能为整数
PayerRefund int `json:"payer_refund"` // 退款给用户的金额,不包含所有优惠券金额
}
type SceneInfo struct {
DeviceId string `json:"device_id,omitempty"` // 商户端设备号(发起扣款请求的商户服务器设备号)
}
type PromotionDetail struct {
Amount int `json:"amount"` // 优惠券面额
CouponId string `json:"coupon_id"` // 券Id
Name string `json:"name,omitempty"` // 优惠名称
Scope string `json:"scope,omitempty"` // 优惠范围GLOBAL全场代金券, SINGLE单品优惠
Type string `json:"type,omitempty"` // 优惠类型CASH充值, NOCASH预充值
StockId string `json:"stock_id,omitempty"` // 活动Id
WechatpayContribute int `json:"wechatpay_contribute,omitempty"` // 微信出资,单位为分
MerchantContribute int `json:"merchant_contribute,omitempty"` // 商户出资,单位为分
OtherContribute int `json:"other_contribute,omitempty"` // 其他出资,单位为分
Currency string `json:"currency,omitempty"` // CNY人民币境内商户号仅支持人民币
GoodsDetail []*GoodsDetail `json:"goods_detail,omitempty"` // 单品列表信息
}
type GoodsDetail struct {
GoodsId string `json:"goods_id"` // 商品编码
Quantity int `json:"quantity"` // 用户购买的数量
UnitPrice int `json:"unit_price"` // 商品单价,单位为分
DiscountAmount int `json:"discount_amount"` // 商品优惠金额
GoodsRemark string `json:"goods_remark,omitempty"` // 商品备注信息
MerchantGoodsId string `json:"merchant_goods_id,omitempty"` // 商户侧商品编码,服务商模式下无此字段
}
type PayInformation struct {
PayAmount int `json:"pay_amount"` // 用户需要退回优惠而付款的金额,单位为:分
PayState string `json:"pay_state"` // 用户付款状态PAYING付款中PAID已付款
TransactionId string `json:"transaction_id,omitempty"` // 微信支付订单号,仅在订单成功收款时才返回
PayTime string `json:"pay_time,omitempty"` // 用户成功支付的时间,仅在订单成功收款时才返回
}
type Objective struct {
ObjectiveId string `json:"objective_id"` // 由先享卡平台生成唯一标识一个先享卡目标。商户需要记录该目标Id进行同步用户记录
Name string `json:"name"` // 目标的名称
Count int `json:"count"` // 履约目标需要完成的数量必须大于0
Unit string `json:"unit"` // 目标的单位
Description string `json:"description"` // 对先享卡目标的补充信息
ObjectiveCompletionRecords []*ObjectiveCompletionRecord `json:"objective_completion_records,omitempty"` // 用户完成的目标明细列表
}
type ObjectiveCompletionRecord struct {
ObjectiveCompletionSerialNo string `json:"objective_completion_serial_no"` // 目标完成流水号
ObjectiveId string `json:"objective_id"` // 微信先享卡为每个先享卡目标分配的唯一Id
CompletionTime string `json:"completion_time"` // 用户履约行为发生的时间
CompletionType string `json:"completion_type"` // 目标完成类型: INCREASE增加数量DECREASE减少数量
Description string `json:"description"` // 用户本次履约的描述
CompletionCount int `json:"completion_count"` // 用户本次履约的数量必须大于0
Remark string `json:"remark,omitempty"` // 对于用户履约情况的一些补充信息
}
type Reward struct {
RewardId string `json:"reward_id"` // 由先享卡平台生成唯一标识一个先享卡目标。商户需要记录该优惠Id进行同步用户记录
Name string `json:"name"` // 优惠名称
CountType string `json:"count_type"` // 优惠数量的类型标识COUNT_UNLIMITED不限数量COUNT_LIMIT有限数量
Count int `json:"count"` // 本项优惠可使用的数量必须大于0
Unit string `json:"unit"` // 优惠的单位
Amount int `json:"amount"` // 优惠金额此项优惠对应的优惠总金额单位必须大于0
Description string `json:"description,omitempty"` // 对先享卡优惠的补充信息
RewardUsageRecords []*RewardUsageRecord `json:"reward_usage_records,omitempty"` // 优惠使用记录列表
}
type RewardUsageRecord struct {
RewardUsageSerialNo string `json:"reward_usage_serial_no"` // 优惠使用记录流水号
RewardId string `json:"reward_id"` // 微信先享卡为每个先享卡优惠分配的唯一Id
UsageTime string `json:"usage_time"` // 用户使用优惠的时间
UsageType string `json:"usage_type"` // 目标完成类型INCREASE增加数量DECREASE减少数量
Description string `json:"description"` // 用户获得奖励的描述
UsageCount int `json:"usage_count"` // 用户本次获得的奖励数量必须大于0
Amount int `json:"amount"` // 优惠金额用户此项本次享受的优惠对应的优惠总金额单位必须大于0
Remark string `json:"remark,omitempty"` // 对于用户奖励情况的一些补充信息
}
type SmartGuideReg struct {
GuideId string `json:"guide_id"` // 服务人员在服务人员系统中的唯一标识
}
type SmartGuideQuery struct {
Data []*SmartGuide `json:"data"` // 服务人员列表
TotalCount int `json:"total_count"` // 服务人员数量
Limit int `json:"limit"` // 该次请求可返回的最大资源条数不大于10
Offset int `json:"offset"` // 该次请求资源的起始位置默认值为0
}
type SmartGuide struct {
GuideId string `json:"guide_id"` // 服务人员在服务人员系统中的唯一标识
StoreId int `json:"store_id"` // 门店在微信支付商户平台的唯一标识
Name string `json:"name"` // 服务人员姓名
Mobile string `json:"mobile"` // 员工在商户个人/企业微信通讯录上设置的手机号码(加密信息,需解密)
Userid string `json:"userid,omitempty"` // 员工在商户企业微信通讯录使用的唯一标识,使用企业微信商家时返回
WorkId string `json:"work_id,omitempty"` // 服务人员通过小程序注册时填写的工号,使用个人微信商家时返回
}
type GoldPlanManage struct {
SubMchid string `json:"sub_mchid"`
}
type Withdraw struct {
SubMchid string `json:"sub_mchid"` // 服务商特约商户号,由微信支付生成并下发。
WithdrawId string `json:"withdraw_id"` // 微信支付提现单号
AccountType string `json:"account_type,omitempty"` // 出款账户类型
}
type WithdrawStatus struct {
SubMchid string `json:"sub_mchid"` // 服务商特约商户号,由微信支付生成并下发。
SpMchid string `json:"sp_mchid"` // 服务商户号
Status string `json:"status"` // 提现单状态CREATE_SUCCESS受理成功SUCCESS提现成功FAIL提现失败REFUND提现退票CLOSE关单INIT业务单已创建
WithdrawId string `json:"withdraw_id"` // 微信支付提现单号
OutRequestNo string `json:"out_request_no"` // 商户提现单号
Amount int `json:"amount"` // 提现金额
CreateTime string `json:"create_time"` // 创建时间
UpdateTime string `json:"update_time"` // 更新时间
Reason string `json:"reason"` // 提现失败原因,仅在提现失败、退票、关单时有值
Remark string `json:"remark"` // 商户对提现单的备注,若发起提现时未传入相应值或输入不合法,则该值为空
BankMemo string `json:"bank_memo"` // 展示在收款银行系统中的附言,由数字、字母、汉字组成(能否成功展示依赖银行系统支持)。若发起提现时未传入相应值或输入不合法,则该值为空
AccountType string `json:"account_type"` // 出款账户类型
AccountNumber string `json:"account_number"` // 服务商提现入账的银行账号,仅显示后四位。
AccountBank string `json:"account_bank"` // 服务商提现入账的开户银行
BankName string `json:"bank_name"` // 服务商提现入账的开户银行全称(含支行)
}