Socket
Socket
Sign inDemoInstall

ubivar

Package Overview
Dependencies
1
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ubivar

API wrapper to Ubivar


Version published
Weekly downloads
3
increased by50%
Maintainers
1
Install size
876 kB
Created
Weekly downloads
 

Readme

Source

Ubivar node.js bindings

npm version Build Status Inline docs

Ubivar is an API that takes over the hassle of screening e-payment for frauds.

Ubivar routes e-commerce transactions given their risk. By default the three routing outcomes are rejection, manual verification and acceptance. And the two elementary resources are the transactions and the labels. Transactions are online sales pushed to your payment gateway and labels define the a posteriori truth about each transaction, i.e. {fraud, non-fraud}.

Using Ubivar simply requires an access token. Then the bindings provide the hooks to send and receive resources to the API. For each transaction that Ubivar receives, it calculates a routing. Later, as you review manually some of the transactions or as you receive fraud notifications, you label those transactions as fraud.

Quick Start

A. Install and initialize

npm install ubivar

var Ubivar    = require("ubivar")
  , ubivar    = new Ubivar("YOUR_API_ACCESS_TOKEN", "latest")

B. Send transactions

ubivar.transactions.create({
  "user_id"     : "test_phahr3Eit3_123"           // your client's id
, "user_email"  : "test_phahr3Eit3@gmail-123.com" // your client email
, "type"        : "sale"                          // the transaction type
, "status"      : "success"                       // the transaction status 
, "order_id"    : "test_iiquoozeiroogi_123"       // the shopping cart id
, "tx_id"       : "client_tx_id_123"              // the transaction id 
, "amount"      : "43210"                         // the amount in cents
, "payment_method":{
    "bin"       :"123456"                         // the BIN of the card
  , "brand"     :"Mastercard"                     // the brand of the card
  , "funding"   :"credit"                         // the type of card
  , "country"   :"US"                             // the card country code
  , "name"      :"M Man"                          // the card holder's name
  , "cvc_check" :"pass"                           // the cvc check result
},"billing_address":{
    "line1"     :"123 Market Street"              // the billing address
  , "line2"     :"4th Floor"                       
  , "city"      :"San Francisco"
  , "state"     :"California"
  , "zip"       :"94102"
  , "country"   :"US"
  }
}, function(err, res){

  if(err) return err 
  // something unexpected occurred

  txId          = res.data[0].id 
  // keep track of the transaction id 
})

C. Retrieve routing and label

ubivar.labels.retrieve(txId, function(err, res){

  if(err) return err
  // something unexpected occurred

  status        = res.data[0].status
  // the status of the transaction
})

Resources, actions, and arguments

Every resource is accessed via your ubivar instance and accepts an optional callback as the last argument. In the matrix below we list the resources (rows), the actions (columns) and the arguments (cells). The full documentation is available at https://ubivar.com/docs/nodejs.

ResourceCRUDListSummaryTestStatus
Me_{}spec
Accounts{}id{}id{}spec
Transactions{}id{}id{}spec
Login{}idid{}spec
Logout{}idid{}spec
Items{}id{}id{}spec
Labels{}id{}id{}spec
Fx{}spec
Bins{}spec
Uptime{}{}spec
CI{}{}spec
Geoip{}spec
  • C: Create
  • R: Retrieve
  • U: Update
  • D: Delete
  • {}: JSON with query parameters

Filter parameters

FilterDefaultExampleDescription
start_after{"start_after":10}id after the one specified
end_before{"end_before":10}id before the one specified
limit10{"limit":10}At most 10 returned results
gt{"id":{"gt":10}}id greater than 10
gte{"id":{"gte":10}}id greater than or equal
lt{"id":{"lt":10}}id less than
lte{"id":{"lte":10}}id less than or equal

Configuration

  • ubivar.set("auth", "your-api-token")
  • ubivar.set("timeout", 20000) // in ms, node's default is 120000ms

Issues and feature requests

Development

To run the tests, you will need a Ubivar test API key (from your Ubivar dashboard)

export UBIVAR_TEST_TOKEN="your-test-api-key"
npm install -g mocha
npm test

Note: on Windows, use SET instead of export for setting the UBIVAR_TEST_TOKEN environment variable.

Author

Originally inspired from stripe-node. Developed by Fabrice Colas (fabrice.colas@gmail.com). Maintained by Ubivar.

Keywords

FAQs

Last updated on 19 Apr 2015

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc