遇到异常:
未找到处理 Intent { act=android.intent.action.VIEW dat=upi://pay?pa=xyx@idfcbank&pn=xyz&mc=5311&tr=txRefId&tn=txDesc&am=12.0&cu=INR pkg=com.google .android.apps.nbu.paisa.user }
按照以下步骤进行 Gpay 集成。 https://developers.google.com/pay/india/api/android/in-app-payments
有趣的 gpay() { val GOOGLE_PAY_PACKAGE_NAME = "com.google.android.apps.nbu.paisa.user"
try {
val uri = Uri.Builder()
.scheme(GooglePayMaker.SCHEME_UPI)
.authority(GooglePayMaker.AUTHORITY_PAY)
.appendQueryParameter(JSONConstants.PAYEE_VPA_KEY, JSONConstants.PAYEE_VPA_VALUE)
.appendQueryParameter(JSONConstants.PAYEE_NAME_KEY, JSONConstants.PAYEE_NAME_VALUE)
.appendQueryParameter(JSONConstants.PAYEE_MERCHANT_CODE_KEY, JSONConstants.PAYEE_MERCHANT_CODE_VALUE)
.appendQueryParameter(JSONConstants.PAYEE_TX_REF_ID_KEY, "xyx")
.appendQueryParameter(JSONConstants.PAYEE_TX_DESC_KEY, "xyx")
.appendQueryParameter(JSONConstants.PAYEE_TX_AMT_KEY, "12.0")
.appendQueryParameter(JSONConstants.PAYEE_CURR_KEY, JSONConstants.PAYEE_CURR_VALUE)
.build()
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
intent.setPackage(GOOGLE_PAY_PACKAGE_NAME)
startForResult.launch(intent)
} catch (exception: Exception) {
Log.d("TAG", "" + exception.message)
exception.printStackTrace()
}
}
val startForResult =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
if (result.resultCode == Activity.RESULT_OK) {
val intent = result.data
}
}
仅供参考:使用有效凭据。