Skip to content

payout-one/payout_nodejs

Repository files navigation

Payout Node SDK

Wrapper around Payout API to simplify access to banking services.

Examples

Create client

const { createClient } = require('payout_node_sdk')

const credentials = {
  clientId: 'your client key',
  clientSecret: 'your client secret'
}

const client = createClient(credentials)

Create checkout

const checkout = {
  amount: 100,
  currency: 'EUR',
  customer: {
    email: 'john.doe@payout.one',
    firstName: 'John',
    lastName: 'Doe'
  },
  externalId: 'id-in-mi-system',
  idempotencyKey: 'idempotency',
  metadata: {
    note:'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been.'
  },
  redirectUrl: 'http://localhost/weboohks'
}

await client.createCheckout(checkout)

Response should by signed checkout, it is not necessary to check signature since it is already checked in sdk

{
  amount: 100
  currency: "EUR"
  customer: {
    email: "john.doe@payout.one",
    firstName: "John",
    lastName: "Doe"
  },
  id: 1,
  externalId: "id-in-mi-system-also",
  idempotencyKey: "idempotency",
  metadata: {type: "eshop"},
  nonce: "some-server-nonce",
  signature: "some-server-signature"
  object: "checkout"
  redirectUrl: "http://localhost/weboohks",
  status: "processing",
  checkoutUrl: "http://localhost/checkout/pqResUvX"
}

List Checkouts

await client.listCheckouts()

or

await client.listCheckouts({offset: 3, limit: 2})

Response will by list of signed checkouts

[
  {
    amount:	100,
    currency:	'EUR',
    customer:	{
      email: 'john.doe@payout.one',
      firstName: 'John',
      lastName: 'Doe'
    },
    id:	1,
    externalId:	'f0ac316a-9ea6-7998-01a7-720437afb34c',
    idempotencyKey:	'31f0ac6a-9ea6-01a7-7998-720437afb34c',
    metadata:	{type: 'eshop'},
    nonce:	'ZUc0Mk9sVXZDOXNsdklzMQ',
    object:	'checkout',
    payment: {
      createdAt: 1555778371,
      failureReason: '',
      fee: 30,
      funds: 'available',
      net: 96270,
      object: 'payment',
      paymentMethod: 'CSOB',
      status: 'successful'
    },
    redirectUrl:	'https://example.com',
    signature:	'5a940ff7f1698f5d334527951519c84fa104c77ecf6691936093835bcac14d52',
    status:	'processing'
  },
  {
    amount:	110,
    currency:	'EUR',
    customer:	{
      email: 'john.doe@payout.one',
      firstName: 'John',
      lastName: 'Doe'
    },
    id:	2,
    externalId:	'external-id',
    idempotencyKey:	'idempotency-key',
    metadata:	{type: 'eshop'},
    nonce:	'ZUc0Mk9sVXZDOXNsdkQ',
    object:	'checkout',
    payment: {
      createdAt: 1555778371,
      failureReason: '',
      fee: 30,
      funds: 'available',
      net: 96270,
      object: 'payment',
      paymentMethod: 'CSOB',
      status: 'successful'
    },
    redirectUrl: 'https://example.com',
    signature: 'example-signature',
    status:	'processing'
  }
]

Get Checkout

Get checkout by it's id

await client.getCheckout(123)

And response is

{
  amount:	1050,
  currency:	"EUR",
  customer:	{
    email: "john.doe@payout.one",
    firstName: "John",
    lastName: "Doe"
  },
  id: 123,
  externalId: "f0ac316a-9ea6-7998-01a7-720437afb34c",
  idempotencyKey: "31f0ac6a-9ea6-01a7-7998-720437afb34c",
  metadata:	{type: "eshop"},
  nonce: "ZUc0Mk9sVXZDOXNsdklzMQ",
  object: "checkout",
  payment: {
    createdAt: 1555778371,
    failureReason: "",
    fee: 30,
    funds: "available",
    net: 96270,
    object: "payment",
    paymentMethod: "CSOB",
    status: "successful"
  },
  redirectUrl: "https://example.com",
  signature: "5a940ff7f1698f5d334527951519c84fa104c77ecf6691936093835bcac14d52",
  status: "processing"
}

More complete reference documentation can by generated by cloning this repository and running npm run doc inside in.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published