我正在开发电子商务应用程序。我使用剃须刀付款作为付款网关。付款成功,但金额将自动退还。有什么问题?有人建议使用自动捕获API。该怎么做?
这是我的代码。
final Activity activity = this;
final Checkout co = new Checkout();
try {
JSONObject options = new JSONObject();
options.put("name", "Fortune");
options.put("description", "");
options.put("currency", "INR");
options.put("amount", amount);
options.put("payment_capture", true);
co.open(activity, options);
} catch (Exception e) {
Toast.makeText(activity, "Error in payment: " + e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
答案 0 :(得分:0)
您需要从后端捕获金额。
步骤1:-付款成功后,您会收到Razorpay的一个PaymentId作为响应
步骤2:-该ID以及您需要发送给razorpay的金额,然后该金额将被捕获。
request({
method: 'POST',
url: 'https://<YOUR_KEY_ID<YOUR_KEY_SECRET>@api.razorpay.com/v1/payments/' + generatedRazorpayId +'/capture',
form: {
amount: amountPaid
}
}, function (error, response, body) {
console.log('Status:', response.statusCode);
console.log('Headers:', JSON.stringify(response.headers));
console.log('Response:', body);
});
如果您使用的是Firebase,则需要触发该功能。