Untitled
unknown
plain_text
3 years ago
3.0 kB
23
Indexable
onCheckOut = async () => {
let {
holderName,
cardNumber,
expiryMonth,
expiryYear,
cvv,
checkoutID,
paymentType, selected_paymetType
} = this.state
try {
if (validatePaymentForm(
holderName,
cardNumber,
expiryMonth,
expiryYear,
cvv
)) {
await this.generateCheckoutID();
if (this.state.checkoutID) {
const paymentParams = {
checkoutID: this.state.checkoutID,
paymentBrand: paymentType[selected_paymetType].type,
cardNumber: cardNumber,
holderName: holderName,
expiryMonth: expiryMonth,
expiryYear: "20" + expiryYear,
cvv: cvv
};
console.log("transactionResult", this.state.checkoutID, paymentParams, NativeModules.Hyperpay)
NativeModules.Hyperpay.transactionPayment(paymentParams)
.then(transactionResult => {
console.log("paymentParams", transactionResult)
if (transactionResult) {
if (!transactionResult.redirectURL)
return this.setState({ loading: false }, () => {
global.openToast("The card data is incorrect", "e")
})
else {
if (transactionResult.status === 'pending') {
Linking.openURL(transactionResult.redirectURL)
.then(() => {
this.setState({ loading: false });
})
.catch(err => {
console.log("paymentParams2", err)
this.setState({ loading: false });
global.openToast(err.toString(), "e")
console.log(err);
});
}
}
}
})
.catch(err => {
this.setState({ loading: false });
console.log("toStringtoString", err)
global.openToast(err.toString(), "e")
});
}
} else {
this.setState({ loading: false });
}
} catch (e) {
console.log('error', e);
}
};Editor is loading...