All Projects → xendit → checkout-demo

xendit / checkout-demo

Licence: other
Sample code for demonstrating Xendit Checkout including creating invoice, redirection type, and type of integration through desktop or mobile view.

Programming Languages

CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to checkout-demo

awesome-ecommerce
Collect and develop Open Source or Free Projects for building ecommerce platform easy and fast and free
Stars: ✭ 39 (+129.41%)
Mutual labels:  checkout, store
wp-simple-pay-lite
Add high conversion Stripe payment forms to your WordPress site in minutes.
Stars: ✭ 31 (+82.35%)
Mutual labels:  checkout, payments
E-commerceRetailerFYP
Android E-commerce Platform. Allow retailer to post product, manage order, chat and view report
Stars: ✭ 31 (+82.35%)
Mutual labels:  store
recurly-integration-examples
Examples to get you integrated with Recurly in any language.
Stars: ✭ 64 (+276.47%)
Mutual labels:  payments
mollie-api-go
Golang wrapper for Mollie's REST API with full resource coverage.
Stars: ✭ 45 (+164.71%)
Mutual labels:  payments
laravel-sibs-payments
Laravel library to communicate with SIBS - Open Payment Platform. The library includes payments: MBWAY, VISA, MASTER, AMEX, VPAY, MAESTRO, VISADEBIT, VISAELECTRON.
Stars: ✭ 30 (+76.47%)
Mutual labels:  payments
gringotts payment
Demo Phoenix app showing gringotts payment library integrations.
Stars: ✭ 24 (+41.18%)
Mutual labels:  payments
africastalking.Net
Africa's Talking API Wrapper for C#
Stars: ✭ 16 (-5.88%)
Mutual labels:  payments
checkout-transparente-PagSeguro
Exemplo do Checkout Transparente do PagSeguro, em PHP
Stars: ✭ 28 (+64.71%)
Mutual labels:  checkout
international-telephone-input
Integration to Magento 2 a jQuery plugin for entering and validating international telephone numbers.
Stars: ✭ 26 (+52.94%)
Mutual labels:  checkout
hub20
Self-hosted payment gateway for Ethereum and any ERC20 token, integrates with Raiden for almost-zero fees.
Stars: ✭ 59 (+247.06%)
Mutual labels:  payments
magento2-external-checkout
Vue Storefront plugin for external checkout (https://github.com/DivanteLtd/vue-storefront/issues/895)
Stars: ✭ 17 (+0%)
Mutual labels:  checkout
subscribie
Collect recurring payments online - subscription payments collection automation
Stars: ✭ 36 (+111.76%)
Mutual labels:  payments
pinax-stripe-light
a payments Django app for Stripe
Stars: ✭ 670 (+3841.18%)
Mutual labels:  payments
ShopifyCheckoutJS
A little code for having a better experience manipulating Shopify´s Checkout via JS.
Stars: ✭ 55 (+223.53%)
Mutual labels:  checkout
react-redux-island
Isolate (reuse and share) React-Redux-Containers (Components)
Stars: ✭ 20 (+17.65%)
Mutual labels:  store
amazin
A MERN-stack app for eCommerce platform, Webshop, Web Store. Storybook: https://www.amazin.one/ Alternative: https://ntrix.github.io/amazin-story
Stars: ✭ 27 (+58.82%)
Mutual labels:  store
Recon
HA LDAP based key/value solution for projects configuration storing with multi master replication support
Stars: ✭ 12 (-29.41%)
Mutual labels:  store
python-tbk
Unofficial TBK Web Services Python SDK
Stars: ✭ 42 (+147.06%)
Mutual labels:  payments
frontend-developer-coding-challenge
Are your looking for a remote developer job? Solve this frontend developer challenge and show us what you can do and what you are an expert at!
Stars: ✭ 112 (+558.82%)
Mutual labels:  store

Xendit Checkout Demo

This demo is a mock e-commerce store that illustrates creation (backend) and presentation (frontend) of a hosted Xendit Checkout page. The backend uses a simple ExpressJS server to proxy the request from client-side to the Xendit API Gateway, while the frontend uses pure JavaScript & HTML.

You can see this demo app running in test mode at demo.xendit.co

Overview

Demo on Google ChromeDemo on Safari iPhone X

Our sample code demonstrates for Xendit Checkout:

  • Integration via dialog pop-up (a.k.a. modal iframe) and redirect
  • Creation of checkout pages for IDR and PHP
  • Simple integration to create an invoice using Xendit API Gateway

Xendit Checkout is the fastest way to start collecting online payments in Indonesia and Philippines.

Features
💸 Over 30 different payment methods. 19 payment methods accepting Indonesian Rupiah (IDR) and 14 payment methods accepting Philippine Pesos (PHP), with more on the way. For more information about our supported payment channels, visit here.
📱 Beautiful, responsive UIs optimized for each payment method. For example, we do barcode generation for Alfamart/Indomaret, and maintain 19 sets of up-to-date instructions for Virtual Accounts. We also formatting and front-end validation for phone numbers and credit card data.
🔐 PCI-DSS compliance and 3DS handling. Making it easier to offer and handle credit cards.
🗺 Supports multi-language integration. Full UI localization that has been tested across millions of successful transactions.
🚀 Ongoing maintenance and continuous improvement. Whenever a payment partner makes a change, our team of developers quickly handles it, so you don't have to.

Codebase Structure

The frontend sample code for the demo is in the public/ directory.

The core logic of the Xendit Checkout is mostly contained within two files:

  1. server/routes.js defines the routes on the backend that create Xendit invoice/checkout data.
  2. server/controller.js defines the request that will be forwarded to the Xendit API Gateway.

There is also one file called server/config.js that stores the configurable pre-filled invoice data (payer_email and description). You can override those values in the server/routes.js.

Getting Started

Requirements

You’ll need the following:

  • Node.js >= 10.0.0
  • NPM >= 6.0.0
  • Xendit account to accept payments (sign up for free). After registering, please generate a secret key with MONEY-IN WRITE permissions. You'll need this to perform requests for creating invoices.

After registering an account and generating a secret key, you can enable the payment methods you’d like to test by clicking on Customize button in the invoice page (Home > Accept Payments > Invoices). By default, all enabled and available payment methods will be available for an invoice.

Running the Node Server

You need to modify your environment variables as stated in .env.example to your needs. In this case, you need to set these values:

  • process.env.PORT
  • process.env.API_GATEWAY_URL
  • process.env.API_KEY

The value of API_GATEWAY_URL should be https://api.xendit.co. For the API_KEY, please use the key you previously generated. As for the PORT, you can define it by using the available port on your local machine or it will be provided by default value which is 8000.

Install dependencies using npm:

npm install

After installation is done, start the local server along with the environment variables:

PORT=<port> API_GATEWAY_URL=https://api.xendit.co API_KEY=<your-secret-key> npm run start

If everything went well, you should see the following message in your terminal:

server is listening on port: <port>

Then you can point your browser to the http://localhost:<port>

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].