在 Razorpay onPaymentError 方法 Intent 不工作
In Razorpay onPaymentError method Intent not working
我已经在我的一个项目中实现了 Razorpay 支付网关。我正在使用测试密钥。支付成功后,onPaymentSuccess 方法调用成功并进入下一步activity,如onPaymentSuccess 方法中所述。
但是,当付款失败时,会调用 onPaymentError 并且显示 Toast 消息但不会转到下一个 activity。请帮忙
Checkout checkout = new Checkout();
checkout.setKeyID("rzp_test_key");
checkout.setImage(R.drawable.ic_logo_short);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("name", name);
jsonObject.put("description", description);
jsonObject.put("order_id", order_id);
jsonObject.put("currency", "INR");
jsonObject.put("amount", finalAmount);
jsonObject.put("prefill.contact", mobile);
jsonObject.put("prefill.email", email);
JSONObject retryObj = new JSONObject();
retryObj.put("enabled", false);
jsonObject.put("retry", retryObj);
checkout.open(PaymentActivity.this, jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
@Override
public void onPaymentSuccess(String s, PaymentData paymentData) {
try {
Intent intent = new Intent(PaymentActivity.this, PaymentStatusActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("payment_status", paymentData.getData().toString());
startActivity(intent);
finish();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onPaymentError(int i, String s, PaymentData paymentData) {
try {
Utility.showToastMessage(this, s);
Intent intent = new Intent(PaymentActivity.this, PaymentStatusActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("payment_status", paymentData.getData().toString());
startActivity(intent);
finish();
} catch (Exception e) {
e.printStackTrace();
}
}
删除这一行:intent.putExtra("payment_status", paymentData.getData().toString());来自 onPaymentError 方法的工作是因为付款失败时 paymentData 中没有数据。
我已经在我的一个项目中实现了 Razorpay 支付网关。我正在使用测试密钥。支付成功后,onPaymentSuccess 方法调用成功并进入下一步activity,如onPaymentSuccess 方法中所述。
但是,当付款失败时,会调用 onPaymentError 并且显示 Toast 消息但不会转到下一个 activity。请帮忙
Checkout checkout = new Checkout();
checkout.setKeyID("rzp_test_key");
checkout.setImage(R.drawable.ic_logo_short);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("name", name);
jsonObject.put("description", description);
jsonObject.put("order_id", order_id);
jsonObject.put("currency", "INR");
jsonObject.put("amount", finalAmount);
jsonObject.put("prefill.contact", mobile);
jsonObject.put("prefill.email", email);
JSONObject retryObj = new JSONObject();
retryObj.put("enabled", false);
jsonObject.put("retry", retryObj);
checkout.open(PaymentActivity.this, jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
@Override
public void onPaymentSuccess(String s, PaymentData paymentData) {
try {
Intent intent = new Intent(PaymentActivity.this, PaymentStatusActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("payment_status", paymentData.getData().toString());
startActivity(intent);
finish();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onPaymentError(int i, String s, PaymentData paymentData) {
try {
Utility.showToastMessage(this, s);
Intent intent = new Intent(PaymentActivity.this, PaymentStatusActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("payment_status", paymentData.getData().toString());
startActivity(intent);
finish();
} catch (Exception e) {
e.printStackTrace();
}
}
删除这一行:intent.putExtra("payment_status", paymentData.getData().toString());来自 onPaymentError 方法的工作是因为付款失败时 paymentData 中没有数据。