蛋蛋星球-制度模式
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

32 рядки
808 B

  1. package lakala
  2. import (
  3. "context"
  4. "encoding/json"
  5. "fmt"
  6. "github.com/go-pay/gopay"
  7. )
  8. // 创建渠道Web网关订单
  9. // 文档:https://payjp.lakala.com/docs/cn/#api-Channel_Web_Gateway-WebGateway
  10. func (c *Client) CreateWebGatewayOrder(ctx context.Context, orderId string, bm gopay.BodyMap) (rsp *PaymentRsp, err error) {
  11. if orderId == gopay.NULL {
  12. return nil, fmt.Errorf("orderId is empty")
  13. }
  14. if err = bm.CheckEmptyError("description", "price", "channel"); err != nil {
  15. return nil, err
  16. }
  17. url := fmt.Sprintf(newWebGatewayOrder, c.PartnerCode, orderId)
  18. bs, err := c.doPut(ctx, url, bm)
  19. if err != nil {
  20. return nil, err
  21. }
  22. rsp = new(PaymentRsp)
  23. err = json.Unmarshal(bs, rsp)
  24. if err != nil {
  25. return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
  26. }
  27. return rsp, nil
  28. }