【问题标题】:i could not accept the payment using flutter 'checkout.com'我无法使用 flutter \'checkout.com\' 接受付款
【发布时间】:2023-02-10 11:40:53
【问题描述】:

我正在尝试在我的应用中启用支付功能,因此我选择“checkout.com”作为支付网关

有几种方法可以接受付款,我选择带有令牌的方法。

我设法成功获得令牌,但接受付款不起作用。我不确定我的代码是否错误,或者他们的 API 由于某种原因被破坏了。因为它不响应我任何数据或任何错误代码是 401

这是我的代码

  Future<bool> makePayment(PaymentCard card, int amount) async {
String? token = await _getPaymentToken(card);

Map<String, dynamic> body = {
  "source": {"type": "token", "token": token},
  "amount": amount,
  "currency": "USD",
};

http.Response respone = await http.post(Uri.parse(_paymentURL),
    headers: _Payment_Header, body: jsonEncode(body));
print(respone.body);
if (respone.statusCode == 200) {
  var data = await jsonDecode(respone.body);

  print(data['response_summary']);
  return true;
} else {
  print("invalid - payment");
  return false;
}

}

static const Map<String, String> _Payment_Header = {
    'Content-Type': 'Application/json',
    'Authorization': _secret_key,
  };

响应主体为空。

这是网址

  static const String _paymentURL = 'https://api.sandbox.checkout.com/payments';

密钥也是正确的。

知道为什么吗?谢谢

【问题讨论】:

    标签: flutter http payment checkout


    【解决方案1】:

    可能是几个问题。您很可能在新平台上,该平台需要在密钥前面加上 Bearer 一词。您的授权标头值看起来类似于“Bearer sk_xxxx”

    【讨论】:

      猜你喜欢
      • 2021-01-16
      • 2020-10-03
      • 2011-03-21
      • 2013-06-23
      • 2012-07-11
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2018-07-01
      相关资源
      最近更新 更多