summaryrefslogtreecommitdiff
path: root/src/components/PaypalProductButtons.astro
diff options
context:
space:
mode:
authorJoe Carstairs <65492573+joeacarstairs@users.noreply.github.com>2024-01-25 17:02:50 +0000
committerGitHub <noreply@github.com>2024-01-25 17:02:50 +0000
commit64c5ee53a0d158b38caff3285dac008826d7ae88 (patch)
tree7542f8c5b82b3327d82cc5defe2e84f86d6f11e7 /src/components/PaypalProductButtons.astro
parent7140956da0820d4b818119eff7dfc72345f3328e (diff)
Update from staging (#70)
* 33 / Pay annual subscription by PayPal (#68) * Refactors paypal-buttons -> paypal-product-buttons WebComponent * Pulls out address to data file * Defines annual subscription prices data hash * Styles paypal-product-buttons * Styles <address> * Details have cursor:pointer on the summary * Moves Jyne section to separate page * Rewrites payment options using details components * Reworks translation typing * Defines MembershipType enum * Adds translations for MembershipType enum * Can pay annual subs by PayPal * Styles tables better * Replaces a few straggler --margins with --spacing (#67) --------- Co-authored-by: Joe Carstairs <118172583+jcarstairs-scottlogic@users.noreply.github.com>
Diffstat (limited to 'src/components/PaypalProductButtons.astro')
-rw-r--r--src/components/PaypalProductButtons.astro26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/components/PaypalProductButtons.astro b/src/components/PaypalProductButtons.astro
new file mode 100644
index 0000000..0ebbd3f
--- /dev/null
+++ b/src/components/PaypalProductButtons.astro
@@ -0,0 +1,26 @@
+---
+import env from '$lib/env';
+import type Price from '$types/Price';
+
+interface Props {
+ successPageUrl: string;
+ productDescription: string;
+ shortDescription: string;
+ totalPrice: Price;
+}
+
+const { successPageUrl, productDescription, shortDescription, totalPrice } = Astro.props;
+
+const PAYPAL_CLIENT_ID =
+ env.ENVIRONMENT === 'prod' ? env.PAYPAL_LIVE_CLIENT_ID : env.PAYPAL_SANDBOX_CLIENT_ID;
+---
+
+<paypal-product-buttons
+ paypal-client-id={PAYPAL_CLIENT_ID}
+ success-page-url={successPageUrl}
+ product-description={productDescription}
+ short-description={shortDescription}
+ total-price={totalPrice}
+>
+ Loading PayPal buttons…
+</paypal-product-buttons>