UNPKG

paymaya-node-sdk

Version:

Node.js Client for Paymaya API

144 lines (120 loc) 3.6 kB
const sdk = require("./index.js"); const PaymayaSDK = sdk.PaymayaSDK; // const Checkout = sdk.Checkout; // console.log({PayMayaSDK}); // const window = { location: {} }; const request = { totalAmount: { "value": 1, "currency": "PHP" }, buyer: { "firstName": "Anya", "lastName": "Forger", "birthday": "2010-01-01", "customerSince": "2010-01-01", "sex": "F" }, requestReferenceNumber: "a14cfaac-653a-43d0-af72-1d1ac1b11618" }; PaymayaSDK.initCheckout('pk-BCQ5PlTrpaVeA2kYWeBg0ZaOozwLeZ7CNTElnJa27JC', '', 'SANDBOX'); // const co = new Checkout(); var Checkout = sdk.Checkout; var Contact = sdk.Contact; var Address = sdk.Address; var Buyer = sdk.Buyer; var ItemAmountDetails = sdk.ItemAmountDetails; var ItemAmount = sdk.ItemAmount; var Item = sdk.Item; var addressOptions = { line1 : "9F Robinsons Cybergate 3", line2 : "Pioneer Street", city : "Mandaluyong City", state : "Metro Manila", zipCode : "12345", countryCode : "PH" }; var contactOptions = { phone : "+63(2)1234567890", email : "paymayabuyer1@gmail.com" }; var buyerOptions = { firstName : "John", middleName : "Michaels", lastName : "Doe" }; var contact = new Contact(); contact.phone = contactOptions.phone; contact.email = contactOptions.email; buyerOptions.contact = contact; var address = new Address(); address.line1 = addressOptions.line1; address.line2 = addressOptions.line2; address.city = addressOptions.city; address.state = addressOptions.state; address.zipCode = addressOptions.zipCode; address.countryCode = addressOptions.countryCode; buyerOptions.shippingAddress = address; buyerOptions.billingAddress = address; /** * Construct buyer here */ var buyer = new Buyer(); buyer.firstName = buyerOptions.firstName; buyer.middleName = buyerOptions.middleName; buyer.lastName = buyerOptions.lastName; buyer.contact = buyerOptions.contact; buyer.shippingAddress = buyerOptions.shippingAddress; buyer.billingAddress = buyerOptions.billingAddress; var itemAmountDetailsOptions = { shippingFee: "14.00", tax: "5.00", subTotal: "50.00" }; var itemAmountOptions = { currency: "PHP", value: "69.00" }; var itemOptions = { name: "Leather Belt", code: "pm_belt", description: "Medium-sv" }; var itemAmountDetails = new ItemAmountDetails(); itemAmountDetails.shippingFee = itemAmountDetailsOptions.shippingFee; itemAmountDetails.tax = itemAmountDetailsOptions.tax; itemAmountDetails.subTotal = itemAmountDetailsOptions.subTotal; itemAmountOptions.details = itemAmountDetails; var itemAmount = new ItemAmount(); itemAmount.currency = itemAmountOptions.currency; itemAmount.value = itemAmountOptions.value; itemAmount.details = itemAmountOptions.details; itemOptions.amount = itemAmount; itemOptions.totalAmount = itemAmount; /** * Contruct item here */ var item = new Item(); item.name = itemOptions.name; item.code = itemOptions.code; item.description = itemOptions.description; item.amount = itemOptions.amount; item.totalAmount = itemOptions.totalAmount; // Add all items here var items = []; items.push(item); var checkout = new Checkout(); checkout.buyer = buyer; checkout.totalAmount = itemOptions.totalAmount; checkout.requestReferenceNumber = "c9dea858-5116-43e1-bbe0-e5b8bffe55c9"; checkout.items = items; checkout.execute(function (error, response) { console.info({error, response}); // if (error) { // // handle error // } else { // // track response.checkoutId // // redirect to response.redirectUrl // } }); // console.log({href: window.location.href});