Giter Club home page Giter Club logo

xendit-connect's Introduction

xendit-connect

This package is to make easier to connect the xendit payment

Requirements

  • xendit-connect requires NodeJs 8.X or greater

Comming soon feature

  • Credit card
  • Batch disbursement
  • NPWP validator

Installation

npm i xendit-connect

Usage

Get balance with type

Get Balance allows you to retrieve the balance of your cash, escrow and tax account. Some use cases include: deciding when you may need to withdraw funds, determining if you have funds to disburse, and if you just like to check it’s still there :p

const xenditconnect = require('xendit-connect');
xenditconnect.getBalance(secret_key, account_type)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
account_type Use CASH, HOLDING or TAX. You can use empty value, and default value is CASH

Name validator

The Name Validator can be used to look up the name of an account holder for any bank account in Indonesia, except virtual account.

const xenditconnect = require('xendit-connect');
xenditconnect.nameValidator(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
  "bank_account_number": "1234567890",
  "bank_code": "BNI"
}

Get list banks for virtual account

Get list banks virtual account allow you to retrieve all bank that can be used for payment

const xenditconnect = require('xendit-connect');
xenditconnect.getListBankVA(secret_key, account_type)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key

Create virtual account

Fixed virtual accounts are dedicated virtual accounts under a name you choose, e.g. 'YourCompany - Kodepanda'. You will receive a callback each time this fixed virtual account is paid.

const xenditconnect = require('xendit-connect');
xenditconnect.createVirtualAccount(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
  "external_id": "VA-123456",
  "bank_code": "BNI",
  "name": "Yudha Pratama"
}

Update data virtual account

Fixed Virtual Account is so adaptable, and it's all based on your needs. Therefore, we provide you this endpoint to easily update your fixed virtual account as you like.

const xenditconnect = require('xendit-connect');
xenditconnect.updateVirtualAccount(secret_key, virtualAccountId, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
virtual_account_id Your virtual account id
jsonInput Your input

Input json data

{
  "expiration_date": "dateblabla",
  "is_single_use": false,
  "suggested_amount": 80000,
  "expected_amount": 80000,
}

View detail virtual account payment

When you receive our callback in your URL, you can verify that the callback you receive is coming from us.

const xenditconnect = require('xendit-connect');
xenditconnect.viewDetailVirtualAccountPayment(secret_key, paymentId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
paymentId Your payment id

View detail virtual account data

Sometime, you need to know the detail for your fixed virtual account. This endpoint can be used to get the latest details from your fixed virtual account

const xenditconnect = require('xendit-connect');
xenditconnect.viewDetailVirtualAccount(secret_key, virtualAccountId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
paymentId Your virtual account id

Create retail outlet

One way for your customer to pay through Retail Outlets is by providing them Fixed Payment Code. Fixed payment code is a dedicated payment code under a name you choose, e.g. 'YourCompany - Kodepanda'. You will receive a callback each time this fixed payment code is paid.

const xenditconnect = require('xendit-connect');
xenditconnect.createRetailOutlet(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
  "external_id": "FPC-123456",
  "retail_outlet_name": "ALFAMART",
  "name": "Yudha Pratama",
  "expected_amount": 25000
}

Update retail outlet

One way for your customer to pay through Retail Outlets is by providing them Fixed Payment Code. Fixed payment code is a dedicated payment code under a name you choose, e.g. 'YourCompany - Kodepanda'. You will receive a callback each time this fixed payment code is paid.

const xenditconnect = require('xendit-connect');
xenditconnect.updateRetailOutlet(secret_key, paymentCodeId, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
paymentCodeId Yopur return payment code from create retail outlet
jsonInput Your input

Input json data

{
  "name": "Yudha Pratama",
  "expected_amount": 80000,
  "expiration_date": "dateblabla"
}

View detail retail outlet data

Sometime, you need to know the detail for your fixed payment code. This endpoint can be used to get the latest details from your fixed payment code

const xenditconnect = require('xendit-connect');
xenditconnect.viewDetailRetailOutlet(secret_key, paymentCodeId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
paymentCodeId Yopur return payment code from create retail outlet

Create invoice

Invoices allow you to quickly create a form for users to pay with any of our payment methods. When payment is complete, a callback is made regardless of the payment method used

const xenditconnect = require('xendit-connect');
xenditconnect.createInvoice(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
  "external_id": "invoice-123456",
  "amount": 1800000,
  "payer_email": "[email protected]",
  "description": "Invoice Demo #123",
}

Simulate Payment Bank

You can simulate payment from your invoice development mode.

const xenditconnect = require('xendit-connect');
xenditconnect.simulatePayment(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
	"bank_code": "MANDIRI",
	"bank_account_number": "886089999706981",
	"transfer_amount": 50000
}

View detail invoice data

const xenditconnect = require('xendit-connect');
xenditconnect.viewDetailInvoice(secret_key, invoiceId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
invoiceId Yopur return invoice id from create invoice

Make invoice expire

You can cancel an already created invoice by expiring it immediately using this endpoint.

const xenditconnect = require('xendit-connect');
xenditconnect.makeInvoiceExpire(secret_key, invoiceId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
invoiceId Yopur return invoice id from create invoice

Create disbursement

Disbursements allow you to instruct Xendit to instantly send money to any bank account across Indonesia on your behalf.

const xenditconnect = require('xendit-connect');
xenditconnect.createDisbursement(secret_key, jsonInput)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
jsonInput Your input

Input json data

{
  "external_id": "disb-123456",
  "amount": 15000,
  "bank_code": "BCA",
  "account_holder_name": "Joe",
  "account_number": 1234567890,
  "description": "Disbursement from xendit-connect"
}

Get disbursement data by id

This endpoint queries the current status of a disbursement. This is often used for checking the status of a transaction.

const xenditconnect = require('xendit-connect');
xenditconnect.getDisbursementById(secret_key, disbursementId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
invoiceId Your return disbursement id from create disbursement

Get disbursement data by external_id

This endpoint queries the current status of all disbursements with requested external_id. This is often used to check the status of a transaction with external_id.

const xenditconnect = require('xendit-connect');
xenditconnect.getDisbursementByExternalId(secret_key, externalId)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key
invoiceId external_id from your input create disbursement

Get list disbursement bank

This API endpoint will provide you the current list of banks we support for disbursements. We support transfers to 140+ banks in Indonesia, including some BPDs and BPRs, and virtual accounts of major banks (BRI, BNI, Mandiri, CIMB Niaga, Permata, BTN, and NOBU Bank). We also support disbursements to major e-wallets (GoPay, OVO, and Mandiri e-cash). If you would like us to support payment to a specific destination, please contact us at [email protected].

const xenditconnect = require('xendit-connect');
xenditconnect.getListDisbursementBank(secret_key)
  .then((success) => {
    res.json(success);
  })
  .catch((err) => {
    res.json(err);
  });
Parameter Description
secret_key Your xendit secret key

Note

For more detail about API Refrence Xendit, you can read at https://xendit.github.io/apireference

xendit-connect's People

Contributors

lordaur avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.