paypal.Buttons({ createOrder: function(data, actions) { return actions.order.create({ purchase_units: [{ reference_id: "<%=aOrderDetails.itsTransID%>", description: "<%=PaymentIntf.getPlanName(aOrderDetails.itsMembershipPlan)%>", custom_id: "<%=aOrderDetails.itsID%>", soft_descriptor: "<%=PaymentIntf.getPlanName(aOrderDetails.itsMembershipPlan)%>", amount: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.itsNetAmount%>", breakdown: { item_total: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.itsBaseAmount%>" }, shipping: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.itsFees1%>" }, handling: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.itsFees2%>" }, tax_total: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.itsTax1%>" }, shipping_discount: { currency_code: "<%=aOrderDetails.itsCurrency%>", value: "<%=aOrderDetails.discountAmount%>" } } }, shipping: { method: "Online Process", address: { name: { full_name: "<%=aOrderDetails.itsFirstName%>", surname: "<%=aOrderDetails.itsLastName%>" }, address_line_1: "<%=aOrderDetails.itsAddress1%>", address_line_2: "<%=aOrderDetails.itsAddress2%>", admin_area_2: "<%=aOrderDetails.itsState%>", admin_area_1: "<%=aOrderDetails.itsCity%>", postal_code: "<%=aOrderDetails.itsPin%>11", country_code: "US" } } }] }) }, onApprove: function(data, actions) { return actions.order.capture().then(function(details) { alert('Transaction completed by ' + details.payer.name.given_name) // Call your server to save the transaction return fetch('/api/paypal-transaction-complete', { method: 'post', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ orderID: data.orderID }) }) }) } }).render('#paypal-button-container')