9
9
10
10
export default function App ( ) {
11
11
const [ isPaying , setIsPaying ] = useState ( false ) ;
12
+ const [ message , setMessage ] = useState ( "" ) ;
12
13
const initialOptions = {
13
14
"client-id" : import . meta. env . PAYPAL_CLIENT_ID ,
14
15
"enable-funding" : "venmo" ,
@@ -126,7 +127,7 @@ export default function App() {
126
127
< PayPalScriptProvider options = { initialOptions } >
127
128
< PayPalButtons
128
129
createOrder = { createOrder }
129
- onApprove = { onApprove }
130
+ onApprove = { async ( data ) => setMessage ( await onApprove ( data ) ) }
130
131
onError = { onError }
131
132
style = { {
132
133
shape : "rect" ,
@@ -138,7 +139,7 @@ export default function App() {
138
139
139
140
< PayPalCardFieldsProvider
140
141
createOrder = { createOrder }
141
- onApprove = { onApprove }
142
+ onApprove = { async ( data ) => setMessage ( await onApprove ( data ) ) }
142
143
>
143
144
< PayPalCardFieldsForm />
144
145
< input
@@ -203,6 +204,7 @@ export default function App() {
203
204
/>
204
205
</ PayPalCardFieldsProvider >
205
206
</ PayPalScriptProvider >
207
+ < Message content = { message } />
206
208
</ div >
207
209
) ;
208
210
}
@@ -224,7 +226,7 @@ const SubmitPayment = ({ isPaying, setIsPaying, billingAddress }) => {
224
226
}
225
227
setIsPaying ( true ) ;
226
228
227
- cardFieldsForm . submit ( { billingAddress } ) . catch ( ( err ) => {
229
+ cardFieldsForm . submit ( { billingAddress } ) . finally ( ( err ) => {
228
230
setIsPaying ( false ) ;
229
231
} ) ;
230
232
} ;
@@ -238,3 +240,7 @@ const SubmitPayment = ({ isPaying, setIsPaying, billingAddress }) => {
238
240
</ button >
239
241
) ;
240
242
} ;
243
+
244
+ const Message = ( { content } ) => {
245
+ return < p > { content } </ p > ;
246
+ } ;
0 commit comments