UPI Deep Link - Невозможно завершить транзакцию
Пытаюсь подключить оплату UPI, используя deeplink для моего приложения Android, но каждый раз, когда происходит сбой на последнем шаге.
Фрагмент кода для платежного вызова UPI приведен ниже:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
URI_URL = getUPIString("xxx@upi", "xxx xxx", "test_101", "Test Transaction", "10", "INR");
//Creating an intent for the UPI APP
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(URI_URL));
Intent chooser = Intent.createChooser(intent, "Pay the MSME by");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
startActivityForResult(chooser, 1, null);
}
}
});
Чтобы создать строку UPI с помощью этой функции:
private String getUPIString(String payeeAddress, String payeeName, String trxnRefId,
String trxnNote, String payeeAmount, String currencyCode) {
String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
+ "&tr=" + trxnRefId
+ "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode;
return UPI.replace(" ", "+");
}
Какие могут быть возможные причины отказа? Любое предложение или помощь приветствуется.
2 ответа
Ошибка T04 означает, что refId должен быть буквенно-цифровым с минимальной длиной 1 и максимальной длиной 35. вместо test_101 используйте test101.
Я работал над UPI и интегрировал его в свой проект Android. Я также создал репозиторий GitHub, который может быть полезен для вас.
Используя глубокие ссылки, вы получите в основном приложение, поддерживающее UPI, но проблема в том, что все приложение не возвращает значение должным образом. Я проверил Paytm, Google Pay и Freecharge и многое другое. Но эти приложения возвращают значение очень хорошо. Из-за этой проблемы я создал пользовательский выбор намерений, чтобы исключить те приложения, которые не возвращают стоимость после оплаты. Наряду с этим вы получите код QR-кода для генерации и сканирования QR-кода UPI.
Хотите узнать больше, вот документ.
Проверьте это и дайте мне знать, вам это помогает или нет. Проблема спроси меня.