leumas-private-shared
Version:
Private React JSX Package For Leumas Shared Components, Headers, Footers, Asides, Login Pages, API Key Manager and much more. Styles and everything reusable to avoid DRY code across all of our subdomains
29 lines (26 loc) • 876 B
JSX
import React from 'react';
import { PayPalScriptProvider, PayPalButtons } from "@paypal/react-paypal-js";
const PayPalButton = ({ amount, currency, onSuccess }) => (
<PayPalScriptProvider options={{ "client-id": "YOUR_CLIENT_ID", components: "buttons", currency: currency }}>
<PayPalButtons
style={{ layout: "vertical" }}
createOrder={(data, actions) => {
return actions.order.create({
purchase_units: [
{
amount: {
currency_code: currency,
value: amount,
},
},
],
});
}}
onApprove={async (data, actions) => {
const order = await actions.order.capture();
onSuccess(order); // Handle successful transaction
}}
/>
</PayPalScriptProvider>
);
export default PayPalButton;