feat(api): stripe checkout integration (#41666)

* feat: add api stripe checkout integration

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
This commit is contained in:
Ahmad Abdolsaheb
2021-04-02 09:33:34 +03:00
committed by GitHub
parent eafb8ae34b
commit d5d786049e
8 changed files with 134 additions and 42 deletions

View File

@@ -31,6 +31,7 @@ export const defaultFetchState = {
};
export const defaultDonationFormState = {
redirecting: false,
processing: false,
success: false,
error: ''
@@ -81,6 +82,7 @@ export const types = createTypes(
'updateDonationFormState',
...createAsyncTypes('fetchUser'),
...createAsyncTypes('addDonation'),
...createAsyncTypes('createStripeSession'),
...createAsyncTypes('postChargeStripe'),
...createAsyncTypes('fetchProfileForUser'),
...createAsyncTypes('acceptTerms'),
@@ -150,6 +152,8 @@ export const addDonation = createAction(types.addDonation);
export const addDonationComplete = createAction(types.addDonationComplete);
export const addDonationError = createAction(types.addDonationError);
export const createStripeSession = createAction(types.createStripeSession);
export const postChargeStripe = createAction(types.postChargeStripe);
export const postChargeStripeComplete = createAction(
types.postChargeStripeComplete
@@ -400,6 +404,10 @@ export const reducer = handleActions(
...state,
donationFormState: { ...state.donationFormState, ...payload }
}),
[types.createStripeSession]: state => ({
...state,
donationFormState: { ...defaultDonationFormState, redirecting: true }
}),
[types.addDonation]: state => ({
...state,
donationFormState: { ...defaultDonationFormState, processing: true }