0

UPI(统一支付接口)是印度银行的支付接口。在 UPI 中,交易是链接。就像比特币交易是消息一样,这些链接被传递到 UPI 支付应用程序,付款人必须登录到应用程序并单击支付按钮。

我们的应用程序必须启动一个意图并将链接传递给 UPI 支付应用程序,并且在付款人单击我们需要调用的支付按钮后onActivityResult。我对java中的android开发一无所知。我使用 python kivy 进行 android 开发。我想知道我onActivityResult应该怎么做。

示例代码: UPI App Deep linking using Intent - 不一致和错误的行为

我可以使用 pyjnius 在 python 中使用 java 代码。

一些参考链接: https ://blog.deazzle.in/enable-upi-payments-in-your-app-without-the-need-to-integrate-with-a-bank-c911019f3b2d

4

2 回答 2

2

您无需手动操作。我已经为它开发了一个库。只需要做一个简单的过程。

        final EasyUpiPayment easyUpiPayment = new EasyUpiPayment.Builder()
                .with(this)
                .setPayeeVpa("EXAMPLE@VPA")
                .setPayeeName("PAYEE_NAME")
                .setTransactionId("UNIQUE_TRANSACTION_ID")
                .setTransactionRefId("UNIQUE_TRANSACTION_REF_ID")
                .setDescription("DESCRIPTION_OR_SMALL_NOT")
                .setAmount("AMOUNT_IN_DECIMAL_XX.XX")
                .build();

        easyUpiPayment.startPayment();

欲了解更多信息,您可以访问以下网站。 https://github.com/PatilShreyas/EasyUpiPayment-Android

于 2019-07-17T12:14:19.797 回答
1

活动一:

Intent start = new Intent(MainActivity.this, PurchaseActivity.class);
startActivityForResult(start, 1);

并添加这个结果监听器:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (requestCode == 1) {
        if (resultCode == RESULT_OK) {
            //payment was successful
        }else if (resultCode == RESULT_CANCELED) {
            //payment was canceled
        }
    }
}

活动B: 如果支付成功:

setResult(RESULT_OK, new Intent());
finish();

或者如果它被取消:

setResult(RESULT_CANCELED, new Intent());
finish();
于 2018-01-03T13:32:22.060 回答