diff options
Diffstat (limited to 'src/scripts')
| -rw-r--r-- | src/scripts/wc/paypal-product-buttons.ts | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/scripts/wc/paypal-product-buttons.ts b/src/scripts/wc/paypal-product-buttons.ts index ca06524..b2e7e35 100644 --- a/src/scripts/wc/paypal-product-buttons.ts +++ b/src/scripts/wc/paypal-product-buttons.ts @@ -1,6 +1,7 @@ -import { type PayPalNamespace, loadScript } from '@paypal/paypal-js'; +import type { PayPalNamespace } from '@paypal/paypal-js'; -const backendUrl = '/api'; +import { loadScript } from '@paypal/paypal-js'; +import * as api from '$lib/api'; class PaypalProductButtons extends HTMLElement { constructor() { @@ -67,18 +68,10 @@ class PaypalProductButtons extends HTMLElement { return constructButtons({ // This function is called to set up the transaction details without actually carrying it out async createOrder() { - const body = JSON.stringify({ - productDescription, - shortDescription, - totalPrice, - }); - const headers = { - 'Content-Type': 'application/json', - }; let response: Response; try { - response = await fetch(`${backendUrl}/order`, { method: 'POST', body, headers }); + response = await api.createOrder({ productDescription, shortDescription, totalPrice }); } catch (err) { throw new Error(`Failed to create order. ${err}`); } @@ -100,17 +93,9 @@ class PaypalProductButtons extends HTMLElement { // This function is called after payment is confirmed async onApprove(data) { - const body = JSON.stringify({ - id: data.orderID, - isApproved: true, - }); - const headers = { - 'Content-Type': 'application/json', - }; - let response: Response; try { - response = await fetch(`${backendUrl}/order`, { method: 'PATCH', body, headers }); + response = await api.captureOrder(data.orderID); } catch (err) { throw new Error(`Failed to capture order. ${err}`); } |
