我不能接受使用flutter 'checkout.com'付款

5lwkijsr  于 2023-02-13  发布在  Flutter
关注(0)|答案(1)|浏览(123)

我尝试在应用中启用支付功能,因此选择“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';

密钥也是正确的。
知道为什么吗?谢谢

3ks5zfa0

3ks5zfa01#

可能有几个问题。您很可能使用的是新平台,该平台要求在密钥前面使用词语“Bearer”。您的授权标头值将类似于“Bearer sk_xxxx”

相关问题