api_merchants.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 微信支付分账API
  4. //
  5. // 微信支付分账API
  6. //
  7. // API version: 0.0.3
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package profitsharing
  10. import (
  11. "context"
  12. "fmt"
  13. nethttp "net/http"
  14. neturl "net/url"
  15. "strings"
  16. "git.nanodreamtech.com/sg/wechatpay-go/core"
  17. "git.nanodreamtech.com/sg/wechatpay-go/core/consts"
  18. "git.nanodreamtech.com/sg/wechatpay-go/services"
  19. )
  20. type MerchantsApiService services.Service
  21. // QueryMerchantRatio 查询最大分账比例API
  22. //
  23. // 可调用此接口查询特约商户设置的允许服务商分账的最大比例
  24. //
  25. //
  26. // 错误码列表
  27. // |名称|状态码|描述示例|原因|解决方案
  28. // |-|-|-|-|-|
  29. // |SYSTEM_ERROR|500|系统错误|系统超时|系统异常,请使用相同参数稍后重新调用|
  30. // |PARAM_ERROR|400|商户号未设置|请求参数不符合参数格式|请使用正确的参数重新调用|
  31. // |RATELIMIT_EXCEED|429|商户发起查询的频率过高|接口有频率限制|请降低频率后重试|
  32. // |NO_AUTH|403|服务商未开通分账功能|服务商未开通分账|请先开通分账功能|
  33. // |NO_AUTH|403|非服务商下的签约子商户|服务商未与子商户签约|请先签约子商户|
  34. // |NO_AUTH|403|子商户未开通分账功能|子商户未开通分账功能|请先开通子商户的分账功能|
  35. func (a *MerchantsApiService) QueryMerchantRatio(ctx context.Context, req QueryMerchantRatioRequest) (resp *QueryMerchantRatioResponse, result *core.APIResult, err error) {
  36. var (
  37. localVarHTTPMethod = nethttp.MethodGet
  38. localVarPostBody interface{}
  39. localVarQueryParams neturl.Values
  40. localVarHeaderParams = nethttp.Header{}
  41. )
  42. // Make sure Path Params are properly set
  43. if req.SubMchid == nil {
  44. return nil, nil, fmt.Errorf("field `SubMchid` is required and must be specified in QueryMerchantRatioRequest")
  45. }
  46. localVarPath := consts.WechatPayAPIServer + "/v3/profitsharing/merchant-configs/{sub_mchid}"
  47. // Build Path with Path Params
  48. localVarPath = strings.Replace(localVarPath, "{"+"sub_mchid"+"}", neturl.PathEscape(core.ParameterToString(*req.SubMchid, "")), -1)
  49. // Make sure All Required Params are properly set
  50. // Determine the Content-Type Header
  51. localVarHTTPContentTypes := []string{}
  52. // Setup Content-Type
  53. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  54. // Perform Http Request
  55. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  56. if err != nil {
  57. return nil, result, err
  58. }
  59. // Extract QueryMerchantRatioResponse from Http Response
  60. resp = new(QueryMerchantRatioResponse)
  61. err = core.UnMarshalResponse(result.Response, resp)
  62. if err != nil {
  63. return nil, result, err
  64. }
  65. return resp, result, nil
  66. }