api_tokens.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 微工卡接口文档
  4. //
  5. // 服务商通过本API文档提供的接口,查询商户和微工卡的授权关系、生成预授权的token口令、核身预下单、核身结果的查询等。
  6. //
  7. // API version: 1.5.2
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package payrollcard
  10. import (
  11. "context"
  12. "fmt"
  13. nethttp "net/http"
  14. neturl "net/url"
  15. "github.com/wechatpay-apiv3/wechatpay-go/core"
  16. "github.com/wechatpay-apiv3/wechatpay-go/core/consts"
  17. "github.com/wechatpay-apiv3/wechatpay-go/services"
  18. )
  19. type TokensApiService services.Service
  20. // CreateToken 生成授权token
  21. //
  22. // 生成授权token信息
  23. func (a *TokensApiService) CreateToken(ctx context.Context, req CreateTokenRequest) (resp *TokenEntity, result *core.APIResult, err error) {
  24. var (
  25. localVarHTTPMethod = nethttp.MethodPost
  26. localVarPostBody interface{}
  27. localVarQueryParams neturl.Values
  28. localVarHeaderParams = nethttp.Header{}
  29. )
  30. // 对请求中敏感字段进行加密
  31. encReq := req.Clone()
  32. encryptCertificate, err := a.Client.EncryptRequest(ctx, encReq)
  33. if err != nil {
  34. return nil, nil, fmt.Errorf("encrypt request failed: %v", err)
  35. }
  36. if encryptCertificate != "" {
  37. localVarHeaderParams.Set(consts.WechatPaySerial, encryptCertificate)
  38. }
  39. req = *encReq
  40. localVarPath := consts.WechatPayAPIServer + "/v3/payroll-card/tokens"
  41. // Make sure All Required Params are properly set
  42. // Setup Body Params
  43. localVarPostBody = req
  44. // Determine the Content-Type Header
  45. localVarHTTPContentTypes := []string{"application/json"}
  46. // Setup Content-Type
  47. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  48. // Perform Http Request
  49. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  50. if err != nil {
  51. return nil, result, err
  52. }
  53. // Extract TokenEntity from Http Response
  54. resp = new(TokenEntity)
  55. err = core.UnMarshalResponse(result.Response, resp)
  56. if err != nil {
  57. return nil, result, err
  58. }
  59. return resp, result, nil
  60. }