Skip to content

Amazon payment API wrapper using promises

License

Notifications You must be signed in to change notification settings

donatPeter/amazon-pay-async

Repository files navigation

Installation:

NPM

npm i amazon-pay-async

Description:

API wrapper for Amazon Pay using promises and offer defined types for Typescript moduls.

Usage:

Instantiate an amazonPayment instance with the environment variable, and all required config parameters.

The AmazonPayClient class has a public, static property called Environments which is an enum containing four properties: Production and Sandbox, pass one of these in the configuration object. Use ProductionEU and SandboxEU for European countries.

Example:

import AmazonPayClient from 'amazon-pay-async';
var client = new AmazonPayClient({
  clientId: 'Client ID'
  mwsAccessKey: 'MWS Access Key',
  mwsSecretKey: 'MWS Secret Key',
  sellerId: 'Amazon Seller ID',
  environment: AmazonPayClient.Environments.Production,
});

Note about request parameters

This module will automatically sign all requests and convert nested objects to dot notation.

Example:

await client.offAmazonPayments.refund({
  AmazonCaptureId: 'Amazon capture ID',
  RefundReferenceId: 'Refund Reference ID',
  RefundAmount: {
    Amount: 123.45,
    CurrencyCode: 'USD'
  }
})

Will make a call with the following parameters:

{
  "AmazonCaptureId": "Amazon capture ID",
  "RefundReferenceId": "Refund Reference ID",
  "RefundAmount.Amount": 123.45,
  "RefundAmount.CurrencyCode": "USD"
}

API documentation

As the module offers pre-defined types for Typescript modules, here's a TS example:

Example:

import { IRefundRequest, IRefundResponse } from 'amazon-pay-async';
const refundResponse: IRefundResponse = await client.offAmazonPayments.refund({
  AmazonCaptureId: 'Amazon capture ID',
  RefundReferenceId: 'Refund Reference ID',
  RefundAmount: {
    Amount: 123.45,
    CurrencyCode: 'USD'
  }
} as IRefundRequest);

Note:

This is a mirrored version of the https://github.com/MadisonReed/amazon-payments package. For any usage information regarding version 0.x please refer for the original package.