Я использую response-native-paytm ":" ^ 1.0.9 "для интеграции Paytm в react native. У меня проблемы как с ios, так и с android. IOS: если транзакция успешно, он работает как шарм, но в случае сбоя (промежуточный режим) он не перенаправляет обратно в приложение.
Android: в обоих сценариях ios приложение не перенаправляет обратно в приложение.
Я чувствую, что есть какая-то проблема с эмиттером ответов, и исследовал все в коде, но ничего не нашел. Я приложил скриншоты как Android, так и IOS
const paytmConfig = {
MID: 'XXXXXXXX',
WEBSITE: 'WEBSTAGING',
CHANNEL_ID: 'WAP',
INDUSTRY_TYPE_ID: 'Retail',
CALLBACK_URL: 'https://securegw.paytm.in/theia/paytmCallback'
};
componentWillMount() {
if (Platform.OS == 'ios') {
const { RNPayTm } = NativeModules
const emitter = new NativeEventEmitter(RNPayTm)
emitter.addListener('PayTMResponse', this.onPayTmResponse)
} else {
DeviceEventEmitter.addListener('PayTMResponse', this._handlePaytmResponse)
}
}
_handlePaytmResponse = (resp) => {
const { STATUS, status, response } = resp;
console.log('_handlePaytmResponse', response);
}
runTransaction = () => {
let { mobile, guid, price, orderId } = this.state;
const callbackUrl = `${paytmConfig.CALLBACK_URL}` + '?ORDER_ID=' + orderId;
console.log(callbackUrl);
const details = {
mode: 'Staging', // 'Staging' or 'Production'
MID: paytmConfig.MID,
INDUSTRY_TYPE_ID: paytmConfig.INDUSTRY_TYPE_ID,
WEBSITE: paytmConfig.WEBSITE,
CHANNEL_ID: paytmConfig.CHANNEL_ID,
TXN_AMOUNT: price.toString(), // String
ORDER_ID: this.state.orderId, // String
// MOBILE_NO: mobile.toString(), // String
CUST_ID: guid.toString(), // String
CHECKSUMHASH: this.state.checkSum, //From your server using PayTM Checksum Utility
CALLBACK_URL: callbackUrl
// MERC_UNQ_REF: mercUnqRef, // optional
};
Paytm.startPayment(details);
}
перенаправление не происходит, скриншот