Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

42-cent-base

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

42-cent-base

structural interface for 42-cent adaptors

  • 0.6.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
360
increased by174.81%
Maintainers
2
Weekly downloads
 
Created
Source

42-cent-base

Interface to implement by 42-cent adaptor. See documentation for more information. Global


BaseGateway

Structural interface, actual implementations must implement

BaseGateway.submitTransaction(order, creditCard, prospect, other)

authorize and capture a transaction.

all values must be Strings

Parameters

order: Object, the fields related to the order

amount
the amount of the transaction

creditCard: CreditCard | Object, object holding credit card information

creditCardNumber
the credit card number used for the transaction - a string with card number digit, no blank, no dash, etc
expirationMonth - two digit string : 01 -> 12
The month of credit card expiration date
expirationYear
The year of credit card expiration date - four or two digits string 2016 or 16
cvv
the credit card cvv number

prospect: Prospect | Object, the fields related to the prospect

customerFirstName
first name of the customer (also used for the billing)
customerLastName(also used for the billing)
last name of the customer
customerEmail(also used for the billing)
email of the customer
billingAddress
the billing address
billingCity
the billing city
billingState
the billing state
billingZip
billing zip code
billingCountry
the billing country
shippingFirstName
the shipping first name
shippingLastName
the shipping last name
shippingAddress
the shipping address
shippingCity
the shipping city
shippingState
the shipping state
shippingZip
shipping zip code
shippingCountry
the shipping country

other: Object, other field specific to a gateway sdk implementation. refer to specific sdk for more details

Returns: Promise, - the promise will have these different fields

if resolved

transactionId
A unique identifier of the transaction.
authCode
authorization code from the banking institution
_original
the original response from the specific sdk implementation

if rejected

if the rejection occurs because of the gateway the reason will be an instance of {@link GatewayError} holding the following information

message
The error message from the gateway
_original
The original response from the specific sdk implementation

otherwise it will be an instance of standard javascript Error BaseGateway.getSettledBatchList(from, to)

get a batch list of settled transaction within the window of time

Parameters

from: String | Date, Lower limit. If String, it must be a valid date string: a string which will result in a valid Javascript Date object if passed as argument of the Date constructor

to: String | Date, Upper limit (or today if not provided). If String, it must be a valid date string: a string which will result in a valid Javascript Date object if passed as argument of the Date constructor

Returns: Promise, - The promise should resolve with the following fields

batchList
An array of batch where a batch will have the following fields
batchId
The id the batch is referenced by in the gateway internal system
settlementDate
A string for the settlement date time (UTC)
chargeAmount
the total amount from the charged transactions during the window of time
chargeCount
the total count of charged transactions during the window of time
refundAmount
the total amount from the refunded transactions during the window of time
refundCount
the total count of refund transactions during the window of time
voidCount
the total count of voided transactions during the window of time
declineCount
the total count of voided transactions during the window of time
errorCount
the total count of voided transactions during the window of time
BaseGateway.refundTransaction(transactionId, options) ----------------------------- Refund (or credit) an already settled transaction

Parameters

transactionId: String, the reference to the transaction to refund (used by the underlying payment gateway system)

options: Object, a set of optional fields

amount
the amount to be refunded (partial refund)

Returns: Promise, - the result promise will have the following fields

if resolved

_original
the original response from the payment gateway

if rejected

if the rejection occurs because of the gateway the reason will be an instance of {@link GatewayError} holding the following information

message
The error message from the gateway
_original
The original response from the specific sdk implementation

otherwise it will be an instance of standard javascript Error BaseGateway.voidTransaction(transactionId, options)

void a (non settled) transaction

Parameters

transactionId: String, the reference to the transaction to void (used by the underlying payment gateway system)

options: Object, a set of optional fields

Returns: Promise, - the result promise will have the following fields

if resolved

_original
the original response from the payment gateway

if rejected

if the rejection occurs because of the gateway the reason will be an instance of {@link GatewayError} holding the following information

message
The error message from the gateway
_original
The original response from the specific sdk implementation

otherwise it will be an instance of standard javascript Error BaseGateway.createSubscription(profile, subscriptionPlan, other)

create a recurring payment

Parameters

profile: CreditCard, the credit card associated to the payment (todo allow customer profile etc)

subscriptionPlan: SubscriptionPlan | Object, a subscription plan

other: Object, a set of options to be used by specific implementations

Returns: Promise, - the result promise will have the following fields

if resolved

subscriptionId
a reference id to the subscription
_original
the original response from the payment gateway

Global


CreditCard

Model representing a credit card

CreditCard.withCreditCardNumber(number)

set the credit card number of the instance

Parameters

number: String, a string for the card number (no blank, no special character)

Returns: CreditCard, returns the instance CreditCard.withExpirationMonth(month)

set the expiration month of the instance

Parameters

month: string, a two digit string for the expiration month of the credit card

Returns: CreditCard, returns the instance CreditCard.withExpirationYear(year)

set the expiration year of the instance

Parameters

year: String, a two digit string for the expiration year of the credit card

Returns: CreditCard, returns the instance CreditCard.withCvv(cvv)

set the cvv/cvv2/etc code of the instance

Parameters

cvv: String, a string for the cvv/cvv2/etc code

Returns: CreditCard, returns the instance



Global


SubscriptionPlan

model for subscription plan

SubscriptionPlan.withStartingDate(date)

set the starting date for the recurring payment

Parameters

date: Date | String, a javascript date or a string resulting to a valid Javascript Date when called with new Date()

Returns: SubscriptionPlan, - returns the instance SubscriptionPlan.withIterationCount(count)

set the number of payments to be done within the plan duration

Parameters

count: String, the number of payments to be done within the plan duration

Returns: SubscriptionPlan, returns the instance SubscriptionPlan.withPeriodUnit(unit)

set the interval time unit

Parameters

unit: String, interval unit ['month', 'day', 'week']

Returns: SubscriptionPlan, returns the instance SubscriptionPlan.withPeriodLength(periodLength)

set the interval time value to be associated with the interval time unit

Parameters

periodLength: Number, an integer

Returns: SubscriptionPlan, returns the instance


license

42-cent-base module is under MIT license:

Copyright (C) 2014 Laurent Renard.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Keywords

FAQs

Package last updated on 21 Nov 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc