【发布时间】: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