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

279 lines
14 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"` // 服务商提现入账的开户银行全称(含支行)
}