Я пытаюсь создать платежный шлюз в своем приложении. Для этого есть два способа оплаты COD и ONLINE_PAYMENT, но проблема в том, когда я выбираю метод COD. Я получаю сообщение об ошибке. Онлайн-платеж работает нормально и также перенаправляет на /paymentsuccessfull-page
, но в COD он переходит на paymentfailed
страницу.
Необработанный отказ (TypeError): невозможно прочитать свойство 'type' из неопределенного
Я не могу найти, что здесь не так. Вот мой код.
export const intiatePaymentForBulkProducts = (aid, paymentType) => (
dispatch
) => {
console.log('step-0', paymentType);
new _rest().get(URLConstants.urls.GET_ALL_ITEMS_IN_CART)
.then((response) => {
console.log('step-1', response);
dispatch({
type: types.INITIATE_PAYMENT_REQUEST,
});
dispatch({
type: "SET_SNAKCBAR",
snackbarContent: "Payment Initiating...",
});
const req = {};
const cart = response.data._embedded.cartResourceList;
let model = [];
console.log('step-cart',cart);
if (cart) {
model = cart.map(item => {
return {
cartId: item.cartId,
productId: item.productId,
optionVariationId: 0,
quantity: item.totalQuantity,
couponId:1
};
});
}
req["couponId"] = '1';
req["addressId"] = aid;
req["paymentType"] = paymentType;
req["models"] = model;
console.log('step-2', req);
new _rest()
.post('order/bulk', req)
.then((response) => {
console.log('step-3', response);
if(paymentType === 'COD') {
dispatch({
type: types.INITIATE_PAYMENT_SUCCESS,
payload: response.data,
});
dispatch(history.push(`/paymentcomplete`));
}else {
dispatch({
type: types.INITIATE_PAYMENT_SUCCESS,
payload: response.data,
});
window.Instamojo.open(response.data.instamojoPaymentURL);
}
})
.catch(error => {
console.log("step-error", error);
dispatch({
type: types.INITIATE_PAYMENT_ERROR,
error: error,
});
dispatch(history.push("/payment-failed"))
// .catch((err) => console.log(err));
dispatch({
type: "SET_SNAKCBAR",
snackbarContent: "Something went wrong, Please try again later...",
});
});
});
};