legendaryjs
Version:
LegendaryJS – The ultimate backend framework for speed, power, and simplicity.
34 lines (31 loc) • 1 kB
JavaScript
const paypal = require('@paypal/checkout-server-sdk');
const client = new paypal.core.PayPalHttpClient(
new paypal.core.SandboxEnvironment(
process.env.PAYPAL_CLIENT_ID || 'your-client-id',
process.env.PAYPAL_SECRET || 'your-secret'
)
);
async function paypalHandler(action, details) {
switch (action) {
case 'create-order': {
const request = new paypal.orders.OrdersCreateRequest();
request.prefer('return=representation');
request.requestBody({
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: details.currency || 'USD',
value: details.amount.toString(),
}
}]
});
return await client.execute(request);
}
case 'capture-order': {
const request = new paypal.orders.OrdersCaptureRequest(details.orderId);
request.requestBody({});
return await client.execute(request);
}
}
}
module.exports = paypalHandler;