1.0.6 • Published 6 years ago

magpie-js-sdk v1.0.6

Weekly downloads
6
License
ISC
Repository
github
Last release
6 years ago

Description

A NodeJS based wrapper that connects to Magpie REST APIs.

Usage

Magpie

To use the sdk, we need to require the Magpie SDK class and create an instance of it.

const Magpie = require('magpie-js-sdk');

const isSandbox = false;
const magpie = new Magpie('pk_mypublickey', 'sk_mysecretkey', isSandbox, 'v1.1');

// the `magpie` object contains (3) properties
// - magpie.token
// - magpie.charge
// - magpie.customer

// each property contains method that is a mapping to Magpie's REST endpoint.

Token

  • Create token using magpie.token.create
magpie.token.create('John Doe', '4242424242424242', '02', '2022', '123')
	.then(response => {
		// response contains object in this shape, { statusCode, body }
		// create token success returns `201` status code
		if (response.statusCode !== 201) {
			// handle error in response here
		}

		// handle success scenario
	})
  • Get token info using magpie.token.get
magpie.token.get('tok_123asdfa034jasdf')
	.then(response => {
		// response contains object in this shape, { statusCode, body }
		if (response.statusCode !== 200) {
			// handle error in response here
		}
		// handle success scenario here
	})

Customer

  • Create customer: magpie.customer.create
const email = 'john.doe@gmail.com';
const description = 'Developer';
magpie.customer.create(email, description)
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Get customer: magpie.customer.get
magpie.customer.get('cus_1adlkfjas03asdf')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Add/update customer payment source: magpie.customer.update
magpie.customer.update('cus_1adlkfjas03asdf', 'tok_asdfas39234asdf')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Delete customer payment source: magpie.customer.deleteSource
magpie.customer.deleteSource('cus_1adlkfjas03asdf', 'card_asdfas3asdfas3')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Delete customer: magpie.customer.delete
magpie.customer.delete('cus_1adlkfjas03asdf')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});

Charge

  • Create charge: magpie.charge.create
const amount = 5000;
const currency = "PHP";
const source = 'tok_asldfjalsdfja98a7sfa';
const description = "Test create charge";
const statementDescriptor = "Test statement";
const capture = true;
magpie.charge.create(
    amount,
    currency,
    source,
    description,
    statementDescriptor,
    capture
  )
	.then(response => {
		// create charge success returns `201` status code
		if (response.statusCode !== 201) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Get charge: magpie.charge.get
magpie.charge.get('ch_awdkfjalsdjf30234a')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Capture charge: magpie.charge.capture
magpie.charge.capture('ch_awdkfjalsdjf30234a', 5000)
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Void charge: magpie.charge.void
magpie.charge.void('ch_awdkfjalsdjf30234a')
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});
  • Refund charge: magpie.charge.refund
magpie.charge.refund('ch_awdkfjalsdjf30234a', 5000)
	.then(response => {
		if (response.statusCode !== 200) {
			// handle error scenario here
		}
		// handle success scenario here
	});

If you have suggestions or comments, kindly email me markronquillo23@gmail.com

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago