Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Amount ¶
type Amount struct { // 订单总金额,单位为分。 Total *int64 `json:"total"` // 用户支付金额,单位为分。 PayerTotal *int64 `json:"payer_total"` // CNY:人民币,境内商户号仅支持人民币。 Currency *string `json:"currency"` // 用户支付币种 PayerCurrency *string `json:"payer_currency"` }
Amount
func (Amount) MarshalJSON ¶
type BrandEntity ¶
type BrandEntity struct { // 用户在该品牌下捐赠的总次数 DonateCount *int64 `json:"donate_count"` // 仅供参品牌返回,该品牌为环卫工人供餐总量 ConsumeCount *int64 `json:"consume_count,omitempty"` }
BrandEntity
func (BrandEntity) Clone ¶
func (o BrandEntity) Clone() *BrandEntity
func (BrandEntity) MarshalJSON ¶
func (o BrandEntity) MarshalJSON() ([]byte, error)
func (BrandEntity) String ¶
func (o BrandEntity) String() string
type BrandsApiService ¶
func (*BrandsApiService) GetBrand ¶
func (a *BrandsApiService) GetBrand(ctx context.Context, req GetBrandRequest) (resp *BrandEntity, result *core.APIResult, err error)
GetBrand 查询爱心餐品牌信息
接口介绍:商户根据品牌ID查询爱心餐品牌的捐赠与供餐信息 适用对象:服务商、直连商户
Example ¶
package main import ( "context" "log" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/core/option" "github.com/wechatpay-apiv3/wechatpay-go/services/lovefeast" "github.com/wechatpay-apiv3/wechatpay-go/utils" ) func main() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := lovefeast.BrandsApiService{Client: client} resp, result, err := svc.GetBrand(ctx, lovefeast.GetBrandRequest{ BrandId: core.Int64(1442), }, ) if err != nil { // 处理错误 log.Printf("call GetBrand err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } }
Output:
type GetBrandRequest ¶
type GetBrandRequest struct { // 品牌的品牌ID,商家进驻微信支付品牌商家后获得的品牌ID BrandId *int64 `json:"brand_id"` }
GetBrandRequest
func (GetBrandRequest) Clone ¶
func (o GetBrandRequest) Clone() *GetBrandRequest
func (GetBrandRequest) MarshalJSON ¶
func (o GetBrandRequest) MarshalJSON() ([]byte, error)
func (GetBrandRequest) String ¶
func (o GetBrandRequest) String() string
type GetByUserRequest ¶
type GetByUserRequest struct { // 用户在商户AppID下的唯一标识 Openid *string `json:"openid"` // 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 OutTradeNo *string `json:"out_trade_no"` }
GetByUserRequest
func (GetByUserRequest) Clone ¶
func (o GetByUserRequest) Clone() *GetByUserRequest
func (GetByUserRequest) MarshalJSON ¶
func (o GetByUserRequest) MarshalJSON() ([]byte, error)
func (GetByUserRequest) String ¶
func (o GetByUserRequest) String() string
type ListByUserRequest ¶
type ListByUserRequest struct { // 用户在商户AppID下的唯一标识 Openid *string `json:"openid"` // 品牌的品牌ID,商家进驻微信支付品牌商家后获得的品牌ID BrandId *int64 `json:"brand_id"` // 返回的最大记录条数,默认值为10 Limit *int64 `json:"limit"` // 查询起始位置,默认值为0 Offset *int64 `json:"offset,omitempty"` }
ListByUserRequest
func (ListByUserRequest) Clone ¶
func (o ListByUserRequest) Clone() *ListByUserRequest
func (ListByUserRequest) MarshalJSON ¶
func (o ListByUserRequest) MarshalJSON() ([]byte, error)
func (ListByUserRequest) String ¶
func (o ListByUserRequest) String() string
type MerchantOrder ¶
type MerchantOrder struct { // 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。 特殊规则:最小字符长度为6 OutTradeNo *string `json:"out_trade_no"` // 直连商户的商户号或服务商的商户号,由微信支付生成并下发。 Mchid *string `json:"mchid"` // 子商户的商户号,由微信支付生成并下发。 SubMchid *string `json:"sub_mchid,omitempty"` // 一块捐用户所在门店的商家编号。 StoreId *string `json:"store_id"` }
MerchantOrder
func (MerchantOrder) Clone ¶
func (o MerchantOrder) Clone() *MerchantOrder
func (MerchantOrder) MarshalJSON ¶
func (o MerchantOrder) MarshalJSON() ([]byte, error)
func (MerchantOrder) String ¶
func (o MerchantOrder) String() string
type OrdersApiService ¶
func (*OrdersApiService) GetByUser ¶
func (a *OrdersApiService) GetByUser(ctx context.Context, req GetByUserRequest) (resp *OrdersEntity, result *core.APIResult, err error)
GetByUser 查询用户捐赠单详情
接口介绍:商户根据商户订单号与用户标识查询捐赠单详情 适用对象:服务商、直连商户
Example ¶
package main import ( "context" "log" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/core/option" "github.com/wechatpay-apiv3/wechatpay-go/services/lovefeast" "github.com/wechatpay-apiv3/wechatpay-go/utils" ) func main() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := lovefeast.OrdersApiService{Client: client} resp, result, err := svc.GetByUser(ctx, lovefeast.GetByUserRequest{ Openid: core.String("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"), OutTradeNo: core.String("1217752501201407033233368018"), }, ) if err != nil { // 处理错误 log.Printf("call GetByUser err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } }
Output:
func (*OrdersApiService) ListByUser ¶
func (a *OrdersApiService) ListByUser(ctx context.Context, req ListByUserRequest) (resp *OrdersListByUserResponse, result *core.APIResult, err error)
ListByUser 查询用户捐赠单列表
接口介绍:商户可根据品牌ID与用户标识查询捐赠单列表 适用对象:服务商、直连商户
Example ¶
package main import ( "context" "log" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/core/option" "github.com/wechatpay-apiv3/wechatpay-go/services/lovefeast" "github.com/wechatpay-apiv3/wechatpay-go/utils" ) func main() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := lovefeast.OrdersApiService{Client: client} resp, result, err := svc.ListByUser(ctx, lovefeast.ListByUserRequest{ Openid: core.String("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"), BrandId: core.Int64(2250), Limit: core.Int64(20), Offset: core.Int64(0), }, ) if err != nil { // 处理错误 log.Printf("call ListByUser err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } }
Output:
type OrdersEntity ¶
type OrdersEntity struct { // 捐赠订单号 WelfareTradeId *string `json:"welfare_trade_id"` // 直连商户或服务商申请的公众号或移动应用AppID Appid *string `json:"appid"` // 子商户申请的公众号或移动应用AppID SubAppid *string `json:"sub_appid,omitempty"` // 品牌的品牌ID,商家进驻微信支付品牌商家后获得的品牌ID BrandId *int64 `json:"brand_id"` // 捐赠来源 枚举值 MINIPROGRAM_PAY:一起捐小程序 ENTRUST_PAY:一块捐插件 DonateSource *string `json:"donate_source"` // 商户订单,仅在一块捐来源回调中出现 MerchantOrder *MerchantOrder `json:"merchant_order,omitempty"` // 捐赠公益机构名称。 InstitutionName *string `json:"institution_name"` // 本次捐赠项目编号。 BusinessId *string `json:"business_id"` // 本次捐赠活动名称。 BusinessName *string `json:"business_name"` // 支付完成时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。 SuccessTime *string `json:"success_time"` // 支付者信息 Payer *Payer `json:"payer"` // 订单金额信息 Amount *Amount `json:"amount"` // 设备编号,通过物料码进入爱心餐一起捐小程序捐赠时携带的设备编号参数 DeviceId *string `json:"device_id,omitempty"` }
OrdersEntity
func (OrdersEntity) Clone ¶
func (o OrdersEntity) Clone() *OrdersEntity
func (OrdersEntity) MarshalJSON ¶
func (o OrdersEntity) MarshalJSON() ([]byte, error)
func (OrdersEntity) String ¶
func (o OrdersEntity) String() string
type OrdersListByUserResponse ¶
type OrdersListByUserResponse struct { // 捐赠单详情 Data []OrdersEntity `json:"data"` // 该次请求返回的记录条数 Count *int64 `json:"count"` // 返回的最大记录条数,默认值为10 Limit *int64 `json:"limit"` // 查询起始位置。 Offset *int64 `json:"offset"` // 全部记录数量 TotalCount *int64 `json:"total_count"` }
OrdersListByUserResponse
func (OrdersListByUserResponse) Clone ¶
func (o OrdersListByUserResponse) Clone() *OrdersListByUserResponse
func (OrdersListByUserResponse) MarshalJSON ¶
func (o OrdersListByUserResponse) MarshalJSON() ([]byte, error)
func (OrdersListByUserResponse) String ¶
func (o OrdersListByUserResponse) String() string
type Payer ¶
type Payer struct { // 用户在AppID下的唯一标识。在【一块捐】场景下按照商家下单时AppID生成;在【一起捐】场景下按照商户登记AppID生成。 Openid *string `json:"openid"` // 用户在子AppID下的唯一标识。在【一块捐】场景下按照商家下单时子AppID生成;在【一起捐】场景下按照商户登记子AppID生成。 SubOpenid *string `json:"sub_openid,omitempty"` // 用户在爱心餐小程序授权头像的URL Avatar *string `json:"avatar,omitempty"` // 用户在爱心餐小程序授权昵称 Nickname *string `json:"nickname,omitempty"` }
Payer
func (Payer) MarshalJSON ¶
Click to show internal directories.
Click to hide internal directories.