This commit is contained in:
2026-05-10 03:27:49 +08:00
parent 3bee6d9b65
commit 6391e69af9
3 changed files with 49 additions and 5 deletions

View File

@@ -33,6 +33,7 @@ import {
checkSmsPermission,
requestSmsPermission,
PhonePePersonalBind,
FreechargePersonalBind,
SmsMessage,
proxyBackgroundService,
} from 'rnwalletman';
@@ -138,6 +139,12 @@ const WALLET_TYPE_OPTIONS = [
label: 'Freecharge Personal (OTP)',
mode: 'otp',
},
{
key: 'freecharge_personal_token',
walletType: 'freecharge',
label: 'Freecharge Personal (Token)',
mode: 'token',
},
];
interface HomeScreenState {
@@ -148,6 +155,7 @@ interface HomeScreenState {
showPhonePePersonalBind: boolean;
phonePePersonalBindType: 'otpMode' | 'tokenMode';
showPhonePeBusinessBind: boolean;
freechargePersonalBindType: 'otpMode' | 'tokenMode';
showGooglePayBusinessBind: boolean;
showBharatPeBusinessBind: boolean;
showMobikwikPersonalBind: boolean;
@@ -193,6 +201,7 @@ export default class HomeScreen extends Component<any, HomeScreenState> {
showBharatPeBusinessBind: false,
showMobikwikPersonalBind: false,
showFreechargePersonalBind: false,
freechargePersonalBindType: 'otpMode',
proxyStatus: 'idle',
showServerSettings: false,
settingsHost: '',
@@ -377,6 +386,7 @@ export default class HomeScreen extends Component<any, HomeScreenState> {
showBharatPeBusinessBind,
showMobikwikPersonalBind,
showFreechargePersonalBind,
freechargePersonalBindType,
} = this.state;
const close = (key: keyof HomeScreenState) => () =>
@@ -818,6 +828,31 @@ export default class HomeScreen extends Component<any, HomeScreenState> {
</Modal>
);
}
if (showFreechargePersonalBind && freechargePersonalBindType === 'tokenMode') {
return (
<Modal
visible
transparent
onRequestClose={close('showFreechargePersonalBind')}
>
<FreechargePersonalBind
processString="Processing..."
isDebug
onSuccess={
this.handleBindSuccess(
'showFreechargePersonalBind',
WalletType.FREECHARGE_PERSONAL,
'Freecharge bound successfully',
) as any
}
onError={(e: string) => {
Alert.alert('Bind Failed', e);
close('showFreechargePersonalBind')();
}}
/>
</Modal>
);
}
if (showFreechargePersonalBind) {
return (
<Modal
@@ -919,7 +954,16 @@ export default class HomeScreen extends Component<any, HomeScreenState> {
this.setState({ showMobikwikPersonalBind: true });
break;
case 'freecharge_personal':
this.setState({ showFreechargePersonalBind: true });
this.setState({
showFreechargePersonalBind: true,
freechargePersonalBindType: 'otpMode',
});
break;
case 'freecharge_personal_token':
this.setState({
showFreechargePersonalBind: true,
freechargePersonalBindType: 'tokenMode',
});
break;
}
}, 300);

View File

@@ -37,9 +37,9 @@ export default function TestScreen() {
};
const handleFreechargePayToBank = () => {
openFreechargePayToBank('8284919464', 'PSIB0000160', 'Harshpreet singh', '2')
.then(result => console.log('Freecharge Pay To Bank', result ? 'Success' : 'Failed'))
.catch(err => Alert.alert('Error', String(err)));
openFreechargePayToBank('2', '8284919464', 'PSIB0000160', 'test transfer')
.then((result: boolean) => console.log('Freecharge Pay To Bank', result ? 'Success' : 'Failed'))
.catch((err: unknown) => Alert.alert('Error', String(err)));
};
return (