api_qualification_example_test.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 营销加价购对外API
  4. //
  5. // 指定服务商可通过该接口报名加价购活动、查询某个区域内的加价购活动列表、锁定加价活动购资格以及解锁加价购活动资格。
  6. //
  7. // API version: 1.4.0
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package retailstore_test
  10. import (
  11. "context"
  12. "log"
  13. "github.com/wechatpay-apiv3/wechatpay-go/core"
  14. "github.com/wechatpay-apiv3/wechatpay-go/core/option"
  15. "github.com/wechatpay-apiv3/wechatpay-go/services/retailstore"
  16. "github.com/wechatpay-apiv3/wechatpay-go/utils"
  17. )
  18. func ExampleQualificationApiService_LockQualification() {
  19. var (
  20. mchID string = "190000****" // 商户号
  21. mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号
  22. mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥
  23. )
  24. // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
  25. mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem")
  26. if err != nil {
  27. log.Printf("load merchant private key error:%s", err)
  28. return
  29. }
  30. ctx := context.Background()
  31. // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力
  32. opts := []core.ClientOption{
  33. option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
  34. }
  35. client, err := core.NewClient(ctx, opts...)
  36. if err != nil {
  37. log.Printf("new wechat pay client err:%s", err)
  38. return
  39. }
  40. svc := retailstore.QualificationApiService{Client: client}
  41. resp, result, err := svc.LockQualification(ctx,
  42. retailstore.LockQualificationRequest{
  43. OrderInformation: &retailstore.OrderInfo{
  44. PayerOpenid: core.String("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"),
  45. OutTradeNo: core.String("1217752501201407033233368018"),
  46. TotalFee: core.Int64(100),
  47. StoreId: core.String("123"),
  48. StoreMerchantId: core.String("1230000109"),
  49. },
  50. QualificationIds: []string{"8495134018"},
  51. },
  52. )
  53. if err != nil {
  54. // 处理错误
  55. log.Printf("call LockQualification err:%s", err)
  56. } else {
  57. // 处理返回结果
  58. log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
  59. }
  60. }
  61. func ExampleQualificationApiService_UnlockQualification() {
  62. var (
  63. mchID string = "190000****" // 商户号
  64. mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号
  65. mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥
  66. )
  67. // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
  68. mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem")
  69. if err != nil {
  70. log.Printf("load merchant private key error:%s", err)
  71. return
  72. }
  73. ctx := context.Background()
  74. // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力
  75. opts := []core.ClientOption{
  76. option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
  77. }
  78. client, err := core.NewClient(ctx, opts...)
  79. if err != nil {
  80. log.Printf("new wechat pay client err:%s", err)
  81. return
  82. }
  83. svc := retailstore.QualificationApiService{Client: client}
  84. resp, result, err := svc.UnlockQualification(ctx,
  85. retailstore.UnlockQualificationRequest{
  86. OrderInformation: &retailstore.OrderInfo{
  87. PayerOpenid: core.String("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"),
  88. OutTradeNo: core.String("1217752501201407033233368018"),
  89. TotalFee: core.Int64(100),
  90. StoreId: core.String("123"),
  91. StoreMerchantId: core.String("1230000109"),
  92. },
  93. QualificationIds: []string{"8495134018"},
  94. },
  95. )
  96. if err != nil {
  97. // 处理错误
  98. log.Printf("call UnlockQualification err:%s", err)
  99. } else {
  100. // 处理返回结果
  101. log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
  102. }
  103. }