Skip to content

2Checkout/2checkout-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

10 Commits

Repository files navigation

DEPRECATED!!! This SDK can only be used with the legacy 2Checkout platform which is depreciated. Please use 2checkout-node-sdk with the current 2Checkout platform.

Full documentation for each binding is provided in the wiki.

This library provides developers with a simple set of bindings to the 2Checkout Payment API, Hosted Checkout, Instant Notification Service and Admin API.

To use, download or clone the repository and install with npm.

git clone https://github.com/craigchristenson/2checkout-node.git npm install 2checkout-node

Then you can require the module and setup the 2Checkout object with a number of options shown below.

// Require the modulevarTwocheckout=require('2checkout-node');// Pass in your private key and seller IDvartco=newTwocheckout({apiUser: "APIuser1817037",// Admin API Username, required for Admin API bindingsapiPass: "APIpass1817037",// Admin API Password, required for Admin API bindingssellerId: "1817037",// Seller ID, required for all non Admin API bindings privateKey: "3508079E-5383-44D4-BF69-DC619C0D9811",// Payment API private key, required for checkout.authorize bindingsecretWord: "tango"// Secret Word, required for response and notification checks});

Example Payment API Usage

Example Request:

// Setup the authorization objectvarparams={"merchantOrderId": "123","token": "MWQyYTI0ZmUtNjhiOS00NTIxLTgwY2MtODc3MWRlNmZjY2Jh","currency": "USD","total": "10.00","billingAddr": {"name": "Testing Tester","addrLine1": "123 Test St","city": "Columbus","state": "Ohio","zipCode": "43123","country": "USA","email": "[email protected]","phoneNumber": "5555555555"}};// Make the call using the authorization object and your callback functiontco.checkout.authorize(params,function(error,data){if(error){console.log(error.message);}else{console.log(JSON.stringify(data));}});

Example Response:

{"validationErrors": null, "response":{"type": "AuthResponse", "currencyCode": "USD", "lineItems": [{"description": "", "duration": "1 Year", "options": [], "price": "6.99", "quantity": "2", "recurrence": "1 Month", "startupFee": null, "productId": "123", "tangible": "N", "name": "Demo Item 1", "type": "product" },{"description": "", "duration": null, "options": [{"optName": "Size", "optValue": "Large", "optSurcharge": "1.00" } ], "price": "1.99", "quantity": "1", "recurrence": null, "startupFee": null, "productId": "", "tangible": "N", "name": "Demo Item 2", "type": "product" },{"description": "", "duration": null, "options": [], "price": "3.00", "quantity": "1", "recurrence": null, "startupFee": null, "productId": "", "tangible": "Y", "name": "Shipping Fee", "type": "shipping" } ], "transactionId": "205203115673", "billingAddr":{"addrLine1": "123 Test St", "addrLine2": null, "city": "Columbus", "zipCode": "43123", "phoneNumber": "5555555555", "phoneExtension": null, "email": "[email protected]", "name": "Testing Tester", "state": "Ohio", "country": "USA" }, "shippingAddr":{"addrLine1": "123 Test St", "addrLine2": "", "city": "Columbus", "zipCode": "43123", "phoneNumber": null, "phoneExtension": null, "email": null, "name": "Testing Tester", "state": "OH", "country": "USA" }, "merchantOrderId": "123", "orderNumber": "205203115664", "recurrentInstallmentId": null, "responseMsg": "Successfully authorized the provided credit card", "responseCode": "APPROVED", "total": "19.97", "errors": null }, "exception": null }

Example Admin API Usage

Example Request:

tco.sales.retrieve({sale_id: 205203115664},function(error,data){if(error){console.log(error);}else{console.log(data);}});

Example Checkout Usage:

Example Request:

// Setup checkout paramsvarparams={mode: '2CO',li_0_name: 'Test Product',li_0_price: '0.01'};// Get a URL encoded payment linkvarlink=tco.checkout.link(params);

Example Response:

https://www.2checkout.com/checkout/purchase?mode=2CO&li_0_name=Test%20Product&li_0_price=0.01&sid=1817037

Example Return Usage:

Example Request (Using Express):

if(tco.response.valid(request.body),0.01){response.send("Valid");}else{response.send("Invalid");}

Example INS Notifications Usage:

Example Usage (Using Express):

if(tco.notification.valid(request.body)){response.send("Valid");}else{response.send("Invalid");}

Exceptions:

Errors are returned as the first argument to your callback if they occur. It is best to always check for these before attempting to work with the response.

Example

tco.checkout.authorize(params,function(error,data){if(error){console.log(error.message);}else{console.log(JSON.stringify(data));}});

Full documentation for each binding is provided in the wiki.

About

2Checkout Node.js Library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •