Enter

 

Welcome to Enter Connect.

The focus of this API is to give users the ability to grant merchant applications permission to their wallet through the familiarity of an OAuth 2 gateway.

This method empowers application developers to enroll and modify customer wallets while also giving users the tools and information necessary to make informed decisions regarding their online payment activity.

Below is a sample authentication flow for a typical financial transaction:

Note: The API is for highly customized applications and developers seeking a simpler integration should consider the differences between Connect and Checkout.

Suggest Edits

Getting Keys

 

Enter Connect uses API keys to authenticate applications. When first integrating your application, it is a best practice to do so using our Sandbox Environment for easier integration and review.

To acquire sand\box API keys, navigate to https://wallet.sandbox.enter.financial and create a business account.

  • Set your account to business to gain access to the merchant dashboard by navigating to Settings -> Account -> Account Options
  • Navigate to Tools -> Enter Connect -> Edit Connect configuration
  • Create a new application by navigating to Actions -> Create new application
  • Fill out application information in the modal
  • Once created, navigate to the application details and record the key and secret keys.

Be sure to keep the application secret safe using best security practices.

Suggest Edits

Making Requests

 

Requests must be made over SSL/TLS (HTTPS). All non-secure requests are ignored as no services listen on HTTP.

Authorization

All requests and response bodies are JSON encoded. A Content-type: application/json header is required for all requests.

All requests require either an OAuth access_token or an OAuth client_token. Both are passed via the Authorization HTTP header:

Authorization: Bearer {access_token} or {client_token}

Requests that require a client_token can request one here.

API Endpoint

Production: https://api.enter.financial/v1
Sandbox: https://api.sandbox.enter.financial/v1

When an API request results in an error, Enter typically responds with an HTTP status code outside of 2xx and a response body containing a JSON object containing an error Message, with success set to false and response being null.

General Errors

The following errors are common across all API endpoints.

Error Code
Description

err.rate_limit_exceeded

Money movement transactions are rate limited to 1 request every 5 seconds.

err.access_denied

The client or user does not have access to the requested resource.

err.invalid_arguments

The request object is invalid.

err.unexpected_error

An unexpected internal error occurred.

err.fatal_error

An internal fatal error occurred.

Error responses use HTTP status codes to indicate the type of error. The JSON response body will contain an error code and a description of the error.

Suggest Edits

Sandbox Environment

 

The sandbox environment gives users the ability to use the Enter platform without using real money. In order to achieve this, differences exist between the sandbox and production that should be noted:

  • It accepts any credit card that complies with mod 10 and has an expiration date greater than today. Ex: 5555-5555-5555-4444

  • Any resource in sandbox appends the ‘sandbox’ prefix to all URLs. Ex: https://api.sandbox.enter.financial/v0/public/location

  • All registered users are immediately approved. Keep in mind that during testing this will make user registration flows very simple, resulting in a user registration experience that may not typically be seen in production. If you require an unverified sandbox account, contact support.

  • Outbound HTTP requests, such as payment webhooks, will originate from IP: 54.153.118.1

  • It is slower than production and may not be as available.

  • It will not process uploaded photo IDs.

Suggest Edits

Introduction

 

Enter's API gives the ability to interact with a user’s Enter wallet and act on its behalf to send money, submit identities, view transactions, and more. To do so, an application needs to seek authorization from the user.

Enter implements an OAuth 2.0 style flow to facilitate this. Similar to Facebook and Twitter’s authentication flow, the user is first presented with a permission dialog and the types of resources it is seeking to gain access to at which point they can either approve the permissions requested by the application or reject them.

Unlike traditional OAuth, however, Enter seeks permission on behalf of the merchant application by either a text message or a phone call to the customer instead of redirecting the user to an OAuth web page. This is to ease the integration burden and better support existing checkout payment flows that already exist today.

If the user responds to the text message or phone call with an approval, a code is sent to your application from the provided redirect_uri, which will then be exchanged for an access_token and possibly a refresh_token if the merchant application requested one.

The access_token can then be used to make API calls which require user authentication like Transfer.

Token Lifecycle

Access Tokens are short lived: 1 hour.

Refresh Tokens are long lived: 60 days.

A refresh token can be used within 60 days to generate a new access_token and refresh_token pair. So long as the authorization is refreshed at least once every 60 days, your application can maintain authorization indefinitely without requiring the user to re-authorize so long as the user does not revoke your permission through their dashboard.

Suggest Edits

Request User Authorization

Ask the customer if they would like to share their wallet with your application.

 
posthttps://api.sandbox.enter.financial/v1/oauth
curl 'https://api.sandbox.enter.financial/v1/oauth' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $CLIENT_TOKEN' \
 -d '{
        "client_id": "e8ec8917-1852-4ca1-96d1-af4bf6dc1407",
        "response_type": "code",
        "redirect_uri": "https://example.com/auth/enter",
        "scope": [
            "DEFAULT",
            "BANKING_READ",
            "BANKING_WRITE",
            "IDENTITY_READ",
            "IDENTITY_WRITE",
            "TRANSFER_READ",
            "TRANSFER_WRITE",
            "USER_READ",
            "USER_WRITE",
            "SUBSCRIPTION_READ",
            "SUBSCRIPTION_WRITE",
            "PLAN_READ",
            "PLAN_WRITE",
            "INVOICE_READ",
            "INVOICE_WRITE"
        ],
        "state": "my-secret-state-123456789",
        "phone": "+17755551212",
        "email": "chadd@example.com",
        "first": "Chadd",
        "last": "Sexington",
        "currency": "USD",
        "refresh": true,
        "call": false
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Body Params

client_id
string
required

The application key

response_type
string
required

Must be set to code

redirect_uri
string
required

URL where the callback payload will return the code that is redeemed for an access token.

scope
string
required

Permissions the application is requesting. See below for a list of available scopes. Scopes are delimited by a pipe:

state
string
required

A unique string passed in for this session that will be returned with the user code.

phone
string
required

E164 phone number of the user

email
string

The email address of the user

first
string

Legal first name

last
string

Legal last name

currency
string

The currency type the customer will be transacting in.

refresh
string

If set to true, will request a refresh token pair to be returned.

call
string

If set to true, will make a telephone call to the user and seek application permission. If set to false, it will send a text message.

Headers

Authorization
string
required

Bearer {client_token}

Content-type
string
required

application/json

 

To start the OAuth process, make a POST call with user information, the permissions your application seeks, how it will contact the customer, and if the application seeks a refresh token. It includes the permissions your application requires (scope), the application itself (client_id), where the user code will be sent after a successful authorization (redirect_uri), and the response you are seeking (response_type).

Callback Response

It will take time for the user to respond to the phone call or text message initiated by this request. As a result, this endpoint will respond immediately and when the user responds to the request, it will then POST to an endpoint you set in the redirect_uri with the following payload:

Parameter
Description

code

The authorization code that is redeemed for an access token.

state

The unique string passed in the request for authorization call.

{
        "success": true,
        "error": null,
        "response": {
            "code":"ad3f0db2-62b6-4cf4-9027-14829d33cfd2",
            "state":"my-secret-state-123456789"
        }
     }

OAuth Scopes

Applications may request the following permission scopes when generating an access token:

Scope
Description

DEFAULT

Access to basic information

BANKING_READ

Read access to Banking

BANKING_WRITE

Write access to Banking

IDENTITY_READ

Read access to Identity

IDENTITY_WRITE

Write access to Identity

TRANSFER_READ

Read access to Transfer

TRANSFER_WRITE

Write access to Transfer

USER_READ

Read access to User

USER_WRITE

Write access to User

SUBSCRIPTION_READ

Read access to Subscription

SUBSCRIPTION_WRITE

Write access to Subscription

PLAN_READ

Read access to Plan

PLAN_WRITE

Write access to Plan

INVOICE_READ

Read access to Invoice

INVOICE_WRITE

Write access to Invoice

OAuth client_token required

Suggest Edits

Finish User Authorization

Redeem the users approval response for an access token.

 
posthttps://api.sandbox.enter.financial/v1/oauth/token
curl 'https://api.sandbox.enter.financial/v1/oauth/token' \
 -X POST \
 -H 'Content-type: application/json' \
 -d '{
        "client_id": "e8ec8917-1852-4ca1-96d1-af4bf6dc1407",
        "client_secret": "3cb5ce96-3f35-40f0-b76f-2c33c95cb32d",
        "code": "ad3f0db2-62b6-4cf4-9027-14829d33cfd2",
        "grant_type": "authorization_code",
        "redirect_uri": "https://example.com/auth/enter"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "access_token":"68f144a2-35ea-44ed-8d2a-66000596b040",
      "access_token_expires":"2015-10-21T19:20:30+01:00",
      "refresh_token":"344bb945-9b1d-4959-a421-a1a21d26e94a",
      "refresh_token_expires":"2015-12-21T19:20:30+01:00",
      "token_type":"bearer",
      "scope":[  
         "DEFAULT",
         "BANKING_READ",
         "BANKING_WRITE",
         "IDENTITY_READ",
         "IDENTITY_WRITE",
         "TRANSFER_READ",
         "TRANSFER_WRITE",
         "USER_READ",
         "USER_WRITE",
         "SUBSCRIPTION_READ",
         "SUBSCRIPTION_WRITE",
         "PLAN_READ",
         "PLAN_WRITE",
         "INVOICE_READ",
         "INVOICE_WRITE"
      ]
   }
}

Body Params

client_id
string
required

Application key

client_secret
string
required

Application secret

code
string
required

The authorization code that is included in the redirect URL

grant_type
string
required

This must be set to authorization_code

redirect_uri
string
required

The same redirect_uri specified in the initiation step

Headers

Content-type
string
required

application/json

 

Once the user responds to the text or phone message, a POST Authorization Callback is made to your application via the redirect_uri that was defined in the request. Exchange the included authorization code for an access_token and refresh_token pair.

Response

Parameter
Description

access_token

The new access token with requested scopes

access_token_expires

The date and time the access token will expire

refresh_token

The new refresh token

refresh_token_expires

The date and time the refresh token will expire

token_type

Always bearer

scope

A list of permission scopes granted

Suggest Edits

Refresh Authorization

 
posthttps://api.sandbox.enter.financial/v1/oauth/token
curl 'https://api.sandbox.enter.financial/v1/oauth/token' \
 -X POST \
 -H 'Content-type: application/json' \
 -d '{
        "client_id": "e8ec8917-1852-4ca1-96d1-af4bf6dc1407",
        "client_secret": "3cb5ce96-3f35-40f0-b76f-2c33c95cb32d",
        "refresh_token": "344bb945-9b1d-4959-a421-a1a21d26e94a",
        "grant_type": "refresh_token"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "access_token":"aa2eff38-ec36-4232-b266-f0ea0ba71142",
      "access_token_expires":"2015-10-22T02:02:15+04:00",
      "refresh_token":"f8273a9c-1500-4b5b-9309-0bc31c9ce282",
      "refresh_token_expires":"2015-12-22T02:02:15+04:00",
      "token_type":"bearer",
      "scope":[  
         "DEFAULT",
         "BANKING_READ",
         "BANKING_WRITE",
         "IDENTITY_READ",
         "IDENTITY_WRITE",
         "TRANSFER_READ",
         "TRANSFER_WRITE",
         "USER_READ",
         "USER_WRITE",
         "SUBSCRIPTION_READ",
         "SUBSCRIPTION_WRITE",
         "PLAN_READ",
         "PLAN_WRITE",
         "INVOICE_READ",
         "INVOICE_WRITE"
      ]
   }
}

Body Params

client_id
string
required

The new access token with requested scopes

client_secret
string
required

The date and time the access token will expire

refresh_token
string
required

The new refresh token

grant_type
string
required

Must be set to refresh_token

Headers

Content-type
string
required

application/json

 

Use a valid refresh_token to generate a new access_token and refresh_token pair.

Note: The refresh_token you receive will change every time you exchange either an authorization_code or refresh_token for a new token pair.

Response

Parameter
Description

access_token

The new access token with requested scopes

access_token_expires

The date and time the access token will expire

refresh_token

The new refresh token (if requested)

refresh_token_expires

The date and time the refresh token will expire

token_type

Always bearer

scope

A list of permission scopes granted

Suggest Edits

Client Access Token

 
posthttps://api.sandbox.enter.financial/v1/
curl 'https://api.sandbox.enter.financial/v1/oauth/token' \
 -X POST \
 -H 'Content-type: application/json' \
 -d '{
        "client_id": "e8ec8917-1852-4ca1-96d1-af4bf6dc1407",
        "client_secret": "3cb5ce96-3f35-40f0-b76f-2c33c95cb32d",
        "grant_type": "client_credentials"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "access_token":"e25da466-0420-4aa5-acef-1920b07545a6",
      "access_token_expires":"2015-10-23T02:02:15+04:00",
      "token_type":"bearer"
   }
}

Body Params

client_id
string
required

Application key

client_secret
string
required

Application secret

Headers

Content-type
string
required

application/json

 

Some endpoints require a client access token, which is different from a user access token. Client access tokens don’t require any particular user’s authorization, since they grant your application access to resources which belong to the application itself, rather than an account. You’ll only need to provide your client credentials to receive a client access token.

Response

Parameter
Description

access_token

The new access token (no scopes for client credentials)

access_token_expires

The date and time the access token will expire

token_type

Always bearer

Suggest Edits

Revoke Access Token

Revokes a user access token or a user refresh token

 
posthttps://api.sandbox.enter.financial/v1/oauth/revoke
curl 'https://api.sandbox.enter.financial/v1/oauth/revoke' \
 -X POST \
 -H 'Content-type: application/json' \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{}'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Headers

Content-type
string
required

application/json

 

A user access token or the refresh token can be revoked to prevent future usage.

Suggest Edits

Introduction

 

An Application represents the integration itself.

Suggest Edits

Get Application

 
gethttps://api.sandbox.enter.financial/v1/
curl 'https://api.sandbox.enter.financial/v1/' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $CLIENT_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"6766c5f3-b5d0-4ea0-9442-bbedd9aadbd6",
      "name":"My Application",
      "website":"http://example.com",
      "description":"The marketplace of examples.",
      "developerName":"",
      "developerWebsite":"",
      "ownerId":"8662275c-d001-4958-b200-04097721e14d",
      "users":465,
      "tokens":9001,
      "created":1445350017000
   }
}

Headers

Authorization
string
required

Bearer {client_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The id of the application

name

The application name

website

The application website

description

A description of the application

developerName

The developer name

developerWebsite

The developer website

ownerId

The User id of the application owner.

users

The number of active users

tokens

The number of issued access tokens

created

The date and time it was created

Suggest Edits

Introduction

 

A Banking object represents the funding sources an individual or business may have stored on their account. These are typically used to pay for a Transfer.

Suggest Edits

List

Retrieve a list of Banking devices.

 
gethttps://api.sandbox.enter.financial/v1/banking
curl 'https://api.sandbox.enter.financial/v1/banking' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
         "label":"My Card",
         "name":"Chadd Sexington",
         "type":"CARD",
         "status":"UNVERIFIED",
         "active":true,
         "created":1445460807000
      },
      {  
         "id":"3ba28427-83b8-4471-9eb4-3cc081c9065c",
         "label":"My Account",
         "name":"Preferred Checking 0194",
         "type":"ACCOUNT",
         "status":"VERIFIED",
         "active":true,
         "created":1445450102000
      }
   ]
}

Query Params

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Retrieve a list of Banking devices with the user account.

Response

Parameter
Description

id

The unique ID of the banking device

label

The device description

name

The device name

type

The type of banking device this is (WALLET, ACCOUNT, CARD)

status

The status of the banking device (UNVERIFIED, VERIFIED)

active

The state of the device

created

The date and time it was created

OAuth access_token required with BANKING_READ scope.

Suggest Edits

Get Card

Retrieve a Banking card.

 
gethttps://api.sandbox.enter.financial/v1/banking/card/id
curl 'https://api.sandbox.enter.financial/v1/banking/card/19280d4f-fe94-4a79-b4f6-d0c853ee2f1f' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
      "label":"My Card",
      "name":"Chadd Sexington",
      "number":"7842",
      "expiration":"09/17",
      "type":"VISA",
      "status":"UNVERIFIED",
      "active":true,
      "created":1445460807000
   }
}

Path Params

id
string
required

The id of the banking card.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the banking device

label

The device description

name

The cardholder name

number

Last four digits of the card number

expiration

Expiration date of the card (mm/yy)

type

The type of card (VISA, MASTERCARD)

status

The status of the card (UNVERIFIED, VERIFIED)

active

The state of the device

created

The date and time it was created

OAuth access_token required with BANKING_READ scope.

Suggest Edits

Create Card

Ads a Banking card to a user's wallet.

 
posthttps://api.sandbox.enter.financial/v1/banking/card
curl 'https://api.sandbox.enter.financial/v1/banking/card' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{      
        "label": "My Card",
        "name": "Chadd Sexington",
        "number": "4556899287487842",
        "month": 9,
        "year": 2017,
        "cvv": "947",
        "postal": "89101"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f"
   }
}

Body Params

label
string

The label of the banking card.

name
string
required

The cardholder name as it appears on the card.

number
string
required

The complete card number.

month
int32
required

The expiration month of the card.

year
int32
required

The expiration year of the card.

cvv
string
required

The CVV number found on the back of the card.

postal
string
required

The billing postal code of the card.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique ID of the banking device

OAuth access_token required with BANKING_WRITE scope.

Suggest Edits

Update Card

Updates a Banking card in a user's wallet

 
puthttps://api.sandbox.enter.financial/v1/banking/card/id
curl 'https://api.sandbox.enter.financial/v1/banking/card/19280d4f-fe94-4a79-b4f6-d0c853ee2f1f' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "label": "My Card",
          "month": null,
          "year": null,
          "cvv": null,
          "postal": null
      }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The unique id of the banking card.

Body Params

label
string

The label of the banking card.

month
int32

The expiration month of the card.

year
int32

The expiration year of the card.

cvv
string

The CVV number found on the back of the card.

postal
string

The billing postal code of the card.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with BANKING_WRITE scope.

Suggest Edits

Disable Card

Disables a Banking card from a user's wallet.

 
posthttps://api.sandbox.enter.financial/v1/banking/card/id/disable
curl 'https://api.sandbox.enter.financial/v1/banking/card/19280d4f-fe94-4a79-b4f6-d0c853ee2f1f/disable' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the banking card.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with BANKING_WRITE scope.

Suggest Edits

Get Account

Retrieves a bank account linked to the user's wallet.

 
gethttps://api.sandbox.enter.financial/v1/banking/account/id
curl 'https://api.sandbox.enter.financial/v1/banking/account/3ba28427-83b8-4471-9eb4-3cc081c9065c' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"3ba28427-83b8-4471-9eb4-3cc081c9065c",
      "label":"My Account",
      "name":"Preferred Checking 0194",
      "institution":"WELLS",
      "type":"CHECKING",
      "status":"VERIFIED",
      "active":true,
      "created":1445450102000
   }
}

Path Params

id
string
required

The id of the linekd banking account.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The id of the bank account.

label

The label of the bank account.

name

The name of the bank account.

institution

type

The type of account (CHECKING, SAVINGS).

status

The status of the bank account (UNVERIFIED, VERIFIED).

active

The state of the bank account.

created

The date and time it was created.

OAuth access_token required with BANKING_READ scope.

Suggest Edits

Update Account

Update a Banking account.

 
puthttps://api.sandbox.enter.financial/v1/banking/account/id
curl 'https://api.sandbox.enter.financial/v1/banking/account/3ba28427-83b8-4471-9eb4-3cc081c9065c' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "label": "My Account"
     }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the bank account.

Body Params

label
string
required

The device description

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with BANKING_WRITE scope.

Suggest Edits

Disable Account

Disables a Banking account connected to the account.

 
posthttps://api.sandbox.enter.financial/v1/banking/account/id/disable
curl 'https://api.sandbox.enter.financial/v1/banking/account/3ba28427-83b8-4471-9eb4-3cc081c9065c/disable' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
     }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the banking account

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with BANKING_WRITE scope.

Suggest Edits

Introduction

 

An Identity document provide verified information about the identity of the user.

gethttps://api.sandbox.enter.financial/v1/identity
curl 'https://api.sandbox.enter.financial/v1/identity' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"141f6ec2-855d-4ffa-ac6d-85ee030aa8d0",
         "type":"INFO",
         "created":1445463455000
      },
      {  
         "id":"7102b78c-81a5-43b2-9d94-566c9c88bd40",
         "type":"DOCUMENT",
         "created":1445473004000
      },
      {  
         "id":"61250195-fc72-4b3c-8a84-1857f470aedb",
         "type":"SOCIAL",
         "created":1445644634000
      }
   ]
}

Query Params

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique ID of the identity

type

The type of identity (INFO, DOCUMENT, SOCIAL)

created

The date and time it was created

OAuth access_token required with IDENTITY_READ scope.

 
gethttps://api.sandbox.enter.financial/v1/identity/info/id
curl 'https://api.sandbox.enter.financial/v1/identity/info/141f6ec2-855d-4ffa-ac6d-85ee030aa8d0' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"141f6ec2-855d-4ffa-ac6d-85ee030aa8d0",
      "first":"Chadd",
      "last":"Sexington",
      "addressOne":"712 Red Bark Lane",
      "addressTwo":null,
      "city":"Henderson",
      "state":"NV",
      "postal":"89011",
      "country":"US",
      "dob":"1955-05-12",
      "gender":"MALE",
      "type":"DRIVERS_LICENSE",
      "created":1446087178000
   }
}

Path Params

id
string
required

The id of the info identity

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the identity information

first

The first name

last

The last name

addressOne

First line address on document

addressTwo

Second line address on document

city

City on document

state

State on document

postal

Zip on document

country

Two letter country code on document

dob

The date of birth (yyyy-MM-dd)

gender

Gender on document (MALE, FEMALE)

type

Document type (DRIVERS_LICENSE, GENERIC_ID, PASSPORT, VISA)

created

The date and time it was created

OAuth access_token required with IDENTITY_READ scope.

Suggest Edits

Create Info

 
posthttps://api.sandbox.enter.financial/v1/identity/info
curl 'https://api.sandbox.enter.financial/v1/identity/info' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
       "first": "Chadd",
       "last": "Sexington",
       "addressOne": "712 Red Bark Lane",
       "addressTwo": null,
       "city": "Henderson",
       "state": "NV",
       "postal": "89011",
       "country": "US",
       "dob": "1955-05-12",
       "gender": "MALE",
       "type": "DRIVERS_LICENSE"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"141f6ec2-855d-4ffa-ac6d-85ee030aa8d0"
   }
}

Body Params

first
string
required

The first name

last
string
required

The last name

addressOne
string
required

First line address on document

addressTwo
string

Second line address on document

city
string
required

City on document

state
string
required

State on document

postal
string
required

Zip on document

country
string
required

Two letter country code on document

dob
string
required

The date of birth (yyyy-MM-dd)

gender
string
required

Gender on document (MALE, FEMALE)

type
string
required

Document type (DRIVERS_LICENSE, GENERIC_ID, PASSPORT, VISA)

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the identity info document

OAuth access_token required with IDENTITY_WRITE scope.

Suggest Edits

Get Document

 
gethttps://api.sandbox.enter.financial/v1/identity/document/id
curl 'https://api.sandbox.enter.financial/v1/identity/document/7102b78c-81a5-43b2-9d94-566c9c88bd40' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"7102b78c-81a5-43b2-9d94-566c9c88bd40",
      "url":{  
         "value":"https://example.com/temporary_url",
         "expires":1445723566000
      },
      "type":"DRIVERS_LICENSE",
      "created":1445637226000
   }
}

Path Params

id
string
required

The id of the identity document

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the identity document

url

A temporarily generated URL that can be used to serve the base64 document

type

The type of the document

created

The date and time it was created

OAuth access_token required with IDENTITY_READ scope.

Suggest Edits

Create Document

 
posthttps://api.sandbox.enter.financial/v1/identity/document
curl 'https://api.sandbox.enter.financial/v1/identity/document' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
        "file": "TWFuIGlzIG...",
        "type": "DRIVERS_LICENSE"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"7102b78c-81a5-43b2-9d94-566c9c88bd40"
   }
}

Body Params

file
string
required

Base64 image string of an image or PDF document

type
string
required

Document type (DRIVERS_LICENSE, GENERIC_ID, PASSPORT, VISA, FACE_PICTURE_WITH_ID, BUSINESS_ARTICLES, BUSINESS_BANK_STATEMENT, BUSINESS_LICENSE, BUSINESS_VOIDED_CHECK, BUSINESS_PROCESSING_STATEMENT, BUSINESS_MARKETING_MATERIALS, BUSINESS_W9, BUSINESS_SIGNOR_ID)

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the identity document

OAuth access_token required with IDENTITY_WRITE scope.

Suggest Edits

Get Social Network

 
gethttps://api.sandbox.enter.financial/v1/identity/social/id
curl 'https://api.sandbox.enter.financial/v1/identity/social/61250195-fc72-4b3c-8a84-1857f470aedb' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"61250195-fc72-4b3c-8a84-1857f470aedb",
      "userId":"51970...",
      "type":"FACEBOOK",
      "created":1445644634000
   }
}

Path Params

id
string
required

The id of the identity social network information

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique ID of the identity information

userId

Unique ID of the user’s social network account

type

The type of the social network

created

The date and time it was created

OAuth access_token required with IDENTITY_READ scope.

Suggest Edits

Create Social Network

 
posthttps://api.sandbox.enter.financial/v1/identity/social
curl 'https://api.sandbox.enter.financial/v1/identity/social' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
       "token": "CAACEdE...",
       "type": "FACEBOOK"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"61250195-fc72-4b3c-8a84-1857f470aedb"
   }
}

Body Params

token
string
required

An access token to the user’s social network account

type
string
required

The type of social network (FACEBOOK, LINKEDIN)

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with IDENTITY_WRITE scope.

Suggest Edits

Get Business

 
gethttps://api.sandbox.enter.financial/v1/identity/business/id
curl 'https://api.sandbox.enter.financial/v1/identity/business/b281e2f0-b3ca-4393-8993-dc886662fb05' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"b281e2f0-b3ca-4393-8993-dc886662fb05",
      "ein":"12-1234567",
      "name":"SpringShield",
      "addressOne":"712 Red Bark Lane",
      "addressTwo":null,
      "city":"Henderson",
      "state":"NV",
      "postal":"89011",
      "country":"US",
      "phone":"+17025551212",
      "website":"http://example.com",
      "description":"Private security agency",
      "created":1446087178000
   }
}

Path Params

id
string
required

The id of the identity business

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique ID of the identity business

ein

The tax ID number of the business

name

The name of the business

addressOne

First line address

addressTwo

Second line address

city

City

state

State

postal

Zip code

country

Two letter country code

phone

The phone number of the business

website

The website of the business

description

A description of the business

created

The date and time it was created

OAuth access_token required with IDENTITY_READ scope.

Suggest Edits

Create Business

 
posthttps://api.sandbox.enter.financial/v1/identity/business
curl 'https://api.sandbox.enter.financial/v1/identity/business' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
       "ein": "12-1234567",
       "name": "SpringShield",
       "addressOne": "712 Red Bark Lane",
       "addressTwo": null,
       "city": "Henderson",
       "state": "NV",
       "postal": "89011",
       "country": "US",
       "phone": "+17025551212",
       "website": "http://example.com",
       "description": "Private security agency"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"b281e2f0-b3ca-4393-8993-dc886662fb05"
   }
}

Body Params

ein
string
required

The tax ID number of the business

name
string
required

The name of the business

addressOne
string
required

First line address

addressTwo
string

Second line address

city
string
required

City

state
string
required

State

postal
string
required

The zip code

country
string
required

Two letter country code on document

phone
string
required

The phone number of the business

website
string
required

The website of the business

description
string
required

A description of the business

 

Response

Parameter
Description

id

Unique ID of the identity document

OAuth access_token required with IDENTITY_WRITE scope.

Suggest Edits

Introduction

 

A Transfer represents money moving from one user to another.

Suggest Edits

List

Retrieve a list of Transfer.

 
gethttps://api.sandbox.enter.financial/v1/transfer
curl 'https://api.sandbox.enter.financial/v1/transfer' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"296db7c3-ef0b-4720-a338-ca52d4e562d4",
         "from":"6a5699bf-f659-406d-97e7-e30517fa8d83",
         "to":"2d4f9b08-c171-4cc9-83de-1411d0794b6d",
         "by":"ABC Payments, Inc.",
         "fromAmount":{  
            "currency":"USD",
            "value":"100.00"
         },
         "toAmount":{  
            "currency":"USD",
            "value":"98.00"
         },
         "bankingId":"7b71256b-4638-4a9e-b605-711775fb0a55",
         "subscriptionId":null,
         "memo":"INV-123456789",
         "type":"PAYMENT",
         "status":"EXECUTED",
         "refund":null,
         "created":1445462910000
      },
      {  
         "id":"a8518b88-c0ca-4783-b80a-3f1cf89c52c4",
         "from":"6a5699bf-f659-406d-97e7-e30517fa8d83",
         "to":"70c3e7aa-4d13-4972-af24-a8175a554691",
         "by":"ABC Payments, Inc.",
         "fromAmount":{  
            "currency":"USD",
            "value":"102.00"
         },
         "toAmount":{  
            "currency":"USD",
            "value":"100.00"
         },
         "bankingId":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
         "subscriptionId":null,
         "memo":"Have some money bill.",
         "type":"REMITTANCE",
         "status":"EXECUTED",
         "refund":null,
         "created":1445462910000,
         "invoiceId":"f5261285-3712-4b8d-8d73-89c86a979f32"
      }
   ]
}

Query Params

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the transfer

from

The user id who sent the transaction

to

The user id who received the transaction

by

The name that will be appear on the billing statement

The value/currency pair the sender paid

The value/currency pair the receiver received

bankingId

The banking id that was charged (if applicable)

subscriptionId

The Subscription that executed the transfer (if applicable)

memo

The memo attached to the transaction

type

The type of transaction (PAYMENT, REMITTANCE)

status

The status of the transaction (CREATED, EXECUTED, CANCELLED, ERROR, AUTHED, VOIDED, REFUNDED)

This will be null unless the transaction was refunded or attempted to have been refunded.

invoiceId

If this transaction pays towards an invoice, this is the invoice’s identifier (if applicable)

created

The date and time it was created

OAuth access_token required with TRANSFER_READ scope.

Suggest Edits

Get

Get a Transfer

 
gethttps://api.sandbox.enter.financial/v1/transfer/id
curl 'https://api.sandbox.enter.financial/v1/transfer/296db7c3-ef0b-4720-a338-ca52d4e562d4' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"296db7c3-ef0b-4720-a338-ca52d4e562d4",
      "from":"079c9ba5-0968-4730-8088-7f2e606287c7",
      "to":"6a5699bf-f659-406d-97e7-e30517fa8d83",
      "by":"ABC Payments, Inc.",
      "fromAmount":{  
         "currency":"USD",
         "value":"100.00"
      },
      "toAmount":{  
         "currency":"USD",
         "value":"98.00"
      },
      "bankingId":"7b71256b-4638-4a9e-b605-711775fb0a55",
      "subscriptionId":null,
      "invoiceId":"f5261285-3712-4b8d-8d73-89c86a979f32",
      "refund":{  
         "refundAmount":{  
            "currency":"USD",
            "value":"100.00"
         },
         "reimburseAmount":{  
            "currency":"USD",
            "value":"0.76"
         },
         "memo":"Customer not satisfied",
         "status":"EXECUTED",
         "created":1452283103000
      },
      "memo":"INV-123456789",
      "type":"PAYMENT",
      "status":"REFUNDED",
      "created":1445462910000
   }
}

Path Params

id
string
required

The id of the transfer

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the transfer

from

The user id who sent the transaction

to

The user id who received the transaction

by

The name that will be appear on the billing statement

The value/currency pair the sender paid

The value/currency pair the receiver received

bankingId

The banking id that was charged (if applicable)

subscriptionId

The Subscription that executed the transfer (if applicable)

invoiceId

The Invoice that was paid toward the transfer (if applicable)

This will be null unless the transaction was refunded or attempted to have been refunded.

memo

The memo attached to the transaction

type

The type of transaction (PAYMENT, REMITTANCE)

status

The status of the transaction (CREATED, EXECUTED, CANCELLED, ERROR, AUTHED, VOIDED, REFUNDED)

created

The date and time it was created

OAuth access_token required with TRANSFER_READ scope.

Suggest Edits

Create

Create a Transfer

 
posthttps://api.sandbox.enter.financial/v1/transfer
curl 'https://api.sandbox.enter.financial/v1/transfer' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{               
        "amount": {
            "currency": "USD",
            "value": "100.00"
        },
        "userId": "70c3e7aa-4d13-4972-af24-a8175a554691",
        "bankingId": "19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
        "ip": "162.245.20.69",
        "memo": "Have some money bill.",
        "mode": "AUTH_AND_CAPTURE"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"296db7c3-ef0b-4720-a338-ca52d4e562d4"
   }
}

Body Params

amount
object
required

The value/currency pair to transfer

bankingId
string
required

The banking device to be charged (if omitted, assumes primary wallet)

phone/userId
string

Destination of the transfer (if omitted, assumes destination is the application owner)

invoiceId
string

The invoice to be paid

ip
string

The IP address of the user who is transacting

memo
string

The information to be included in this transaction

mode
string

This can be either ‘AUTH’ or ‘AUTH_AND_CAPTURE’. ‘AUTH’ will only authorize a transfer (will require a later Capture or Void. ‘AUTH_AND_CAPTURE’ will do a complete transfer. (default: AUTH_AND_CAPTURE)

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the transfer

OAuth access_token required with TRANSFER_WRITE scope.

Suggest Edits

Capture

Create a Transfer to the business associated with the application owner.

 
posthttps://api.sandbox.enter.financial/v1/transfer/id/capture
curl 'https://api.sandbox.enter.financial/v1/transfer/296db7c3-ef0b-4720-a338-ca52d4e562d4/capture' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
        "amount": {
            "currency": "USD",
            "value": "100.00"
        }
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the authorized transfer

Body Params

amount
string

The value/currency pair amount to capture from the authorization

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with TRANSFER_WRITE scope.

Suggest Edits

Refund

Create a refund for a Transfer. Refunds can only be made to transfers that were from a customer to a business.

 
posthttps://api.sandbox.enter.financial/v1/transfer/id/refund
curl 'https://api.sandbox.enter.financial/v1/transfer/296db7c3-ef0b-4720-a338-ca52d4e562d4/refund' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
        "amount": {
            "currency": "USD",
            "value": "100.00"
        },
        "memo": "Customer wasn't satisfied"
    }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the transfer

Body Params

amount
string

The value/currency pair amount to refund (can be less or equal to transfer amount)

memo
string

The information to be added for refunds

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with TRANSFER_WRITE scope.

Suggest Edits

Void

Prior to capturing an authorization Transfer, it is possible to void the authorization and no charge will be made to the customer. Note that it may still show as a temporary hold of funds on the customer’s account for multiple business days.

 
posthttps://api.sandbox.enter.financial/v1/transfer/id/void
curl 'https://api.sandbox.enter.financial/v1/transfer/296db7c3-ef0b-4720-a338-ca52d4e562d4/void' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the transfer

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with TRANSFER_WRITE scope.

Suggest Edits

Introduction

 

A User represents an individual or business.

User level indicate the tier the user currently sits in. Users can transact with other users who are in their level or lower. As an example, a user in level 2 can transact with another user that is in level 2 and level 0, but may not transact with a user in level 3.

A user can be upgraded to a higher level by submitting more Identity objects. Users may be upgraded to higher level at any time and should be checked before initiating a Transfer. Statuses indicate where they currently stand in the level they have been placed in. If a user were in a DENIED status in level 2, they would not be able to transact with any users until they are in APPROVED.

Suggest Edits

Get (Public)

Get a public User.

 
gethttps://api.sandbox.enter.financial/v1/user/:id
curl 'https://api.sandbox.enter.financial/v1/user/b4a8ecae-9a27-4742-a79a-bd456e1e351f' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $CLIENT_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "level":0,
      "type":"INDIVIDUAL",
      "businessName":null
   }
}

Path Params

userId/phoneE164
string
required

The E164 phone or id of the user

Headers

Authorization
string
required

Bearer {client_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

type

Type of user (INDIVIDUAL, BUSINESS)

level

Integer representing what users this one can transact with

businessName

String of the business name if the user is of type BUSINESS

OAuth client_token required.

Suggest Edits

Get

Get the authenticated User

 
gethttps://api.sandbox.enter.financial/v1/user
curl 'https://api.sandbox.enter.financial/v1/user' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"079c9ba5-0968-4730-8088-7f2e606287c7",
      "phone":"+17755551212",
      "email":"chunkylover53@aol.com",
      "first":"Chadd",
      "last":"Sexington",
      "type":"INDIVIDUAL",
      "status":"APPROVED",
      "level":2,
      "created":1445062910000
   }
}

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the user

phone

E164 phone of the user

email

Email of the user

first

Legal first name

last

Legal last name

type

Type of user (INDIVIDUAL, BUSINESS)

status

Identity status of current level (NOT_SUBMITTED, SUBMITTED, APPROVED, DENIED)

level

Integer representing what users this one can transact with

created

The date and time the user was created

OAuth access_token required with USER_READ scope.

Suggest Edits

Introduction

 

A Subscriptionis a recurring Transfer billed on a schedule from a biller’s Plan.

Suggest Edits

List

A Subscription is a recurring Transfer billed on a schedule from a biller’s Plan.

 
gethttps://api.sandbox.enter.financial/v1/subscription
curl 'https://api.sandbox.enter.financial/v1/subscription' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"44387a2d-15ce-4d18-9fd6-97b96912031e",
         "bankingId":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
         "planId":"e04c7110-c604-4d3d-90bc-33c37625edcb",
         "status":"CANCELLED",
         "created":1445099210000
      },
      {  
         "id":"9703d7be-6a19-4a1c-9f82-136edb12f102",
         "bankingId":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
         "planId":"4ebcba6a-1582-4a90-ab45-6256fd95c499",
         "status":"ACTIVE",
         "created":1445073740000
      }
   ]
}

Query Params

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the subscription

bankingId

The Banking device that will be charged

planId

The Plan id that governs the Transfer schedule

status

The status (ACTIVE, CANCELLED, ERROR)

created

The date and time the subscription was created

Suggest Edits

Get

Get a Subscription

 
gethttps://api.sandbox.enter.financial/v1/subscription/id
curl 'https://api.sandbox.enter.financial/v1/subscription/44387a2d-15ce-4d18-9fd6-97b96912031e' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"44387a2d-15ce-4d18-9fd6-97b96912031e",
      "bankingId":"19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
      "planId":"e04c7110-c604-4d3d-90bc-33c37625edcb",
      "status":"CANCELLED",
      "created":1445099210000
   }
}

Path Params

id
string
required

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the subscription

bankingId

The Banking device that will be charged

planId

The Plan id that governs the Transfer schedule

status

The status (ACTIVE, CANCELLED, ERROR)

created

The date and time the subscription was created.

OAuth access_token required with SUBSCRIPTION_READ scope.

Suggest Edits

Create

Create a Subscription.

 
posthttps://api.sandbox.enter.financial/v1/subscription
curl 'https://api.sandbox.enter.financial/v1/subscription' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "bankingId": "19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
          "planId": "e04c7110-c604-4d3d-90bc-33c37625edcb"
	}'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"44387a2d-15ce-4d18-9fd6-97b96912031e"
   }
}

Body Params

bankingId
string
required

The Banking id that will be charged

planId
string
required

The Plan id that governs the schedule of the Subscription

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the subscription

OAuth access_token required with SUBSCRIPTION_WRITE scope.

Suggest Edits

Update

Update a Subscription.

 
puthttps://api.sandbox.enter.financial/v1/subscription/id
curl 'https://api.sandbox.enter.financial/v1/subscription/19280d4f-fe94-4a79-b4f6-d0c853ee2f1f' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "bankingId": "19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
          "planId": "e04c7110-c604-4d3d-90bc-33c37625edcb"
	}'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the subscription

Body Params

bankingId
string
required

The Banking device that will be charged

planId
string
required

The Plan that governs the schedule of the Subscription

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 
curl 'https://api.sandbox.enter.financial/v1/subscription/19280d4f-fe94-4a79-b4f6-d0c853ee2f1f' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "bankingId": "19280d4f-fe94-4a79-b4f6-d0c853ee2f1f",
          "planId": "e04c7110-c604-4d3d-90bc-33c37625edcb"
	}'

OAuth access_token required with SUBSCRIPTION_WRITE scope.

Suggest Edits

Cancel

Cancel a Subscription.

 
posthttps://api.sandbox.enter.financial/v1/subscription/id/cancel
curl 'https://api.sandbox.enter.financial/v1/subscription/44387a2d-15ce-4d18-9fd6-97b96912031e/cancel' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the subscription

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with the SUBSCRIPTION_WRITE scope.

Suggest Edits

Introduction

 

A Plan is a schedule that is applied to a billed Subscription.

Suggest Edits

List

Retrieve a list of Plan.

 
gethttps://api.sandbox.enter.financial/v1/plan
curl 'https://api.sandbox.enter.financial/v1/plan' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"e04c7110-c604-4d3d-90bc-33c37625edcb",
         "name":"Silver Plan",
         "amount":{  
            "currency":"USD",
            "value":"9.99"
         },
         "interval":{  
            "span":"MONTH",
            "count":1,
            "trial":{  
               "span":"DAY",
               "count":7
            }
         },
         "cycles":null,
         "memo":"",
         "callback":"",
         "active":true,
         "created":1445088190000
      },
      {  
         "id":"2f18ff84-7627-41a0-b5c7-328d7446124b",
         "name":"Gold Plan",
         "amount":{  
            "currency":"USD",
            "value":"19.99"
         },
         "interval":{  
            "span":"MONTH",
            "count":1,
            "trial":null
         },
         "cycles":null,
         "memo":"",
         "callback":"",
         "active":false,
         "created":1445088190000
      }
   ]
}

Query Params

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the plan

name

The name of the plan

The value/currency pair the sender paid

interval

The scheduled Interval

cycles

The number of times to execute (omit for unlimited)

memo

The message to be attached to the Transfer when executed

callback

The callback URL that calls a Plan Callback

active

created

OAuth access_token required with PLAN_READ scope.

Suggest Edits

Get (Public)

Gets a public Plan.

 
gethttps://api.sandbox.enter.financial/v1/plan/id
curl 'https://api.sandbox.enter.financial/v1/plan/e04c7110-c604-4d3d-90bc-33c37625edcb' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $CLIENT_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"e04c7110-c604-4d3d-90bc-33c37625edcb",
      "name":"Silver Plan",
      "amount":{  
         "currency":"USD",
         "value":"9.99"
      },
      "interval":{  
         "span":"MONTH",
         "count":1,
         "trial":{  
            "span":"DAY",
            "count":7
         }
      },
      "ownerId": "079c9ba5-0968-4730-8088-7f2e606287c7"
   },
   "success":true
}

Path Params

id
string
required

The id of the plan

Headers

Authorization
string
required

Bearer {client_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

Unique id of the Plan

name

The name of the plan

The value/currency pair the sender paid

interval

The scheduled Interval

userId

The owner's unique id

OAuth client_token required.

Suggest Edits

Get

Get Plan

 
gethttps://api.sandbox.enter.financial/v1/plan/id
curl 'https://api.sandbox.enter.financial/v1/plan/e04c7110-c604-4d3d-90bc-33c37625edcb' \
 -X GET \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"e04c7110-c604-4d3d-90bc-33c37625edcb",
      "name":"Silver Plan",
      "amount":{  
         "currency":"USD",
         "value":"9.99"
      },
      "interval":{  
         "span":"MONTH",
         "count":1,
         "trial":{  
            "span":"DAY",
            "count":7
         }
      },
      "cycles":null,
      "memo":"",
      "callback":"",
      "active":true,
      "created":1445088190000
   }
}

Path Params

id
string
required

The id of the plan

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the plan

name

The name of the plan

The value/currency pair the sender paid

interval

The scheduled Interval

cycles

The number of times to execute

memo

The message to be attached to the Transfer when executed

callback

The callback URL that calls a Plan Update when changed

active

The active status of the plan

created

The date and time the plan was created

OAuth access_token required with the PLAN_READ scope.

Suggest Edits

Create

Create a Plan

 
posthttps://api.sandbox.enter.financial/v1/plan
curl 'https://api.sandbox.enter.financial/v1/plan' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "name": "Silver Plan",
          "amount": {
            "currency": "USD",
            "value": "9.99"
          },
          "interval": {
            "span": "MONTH",
            "count": 1,
            "trial": {
              "span": "DAY",
              "count": 7
            }
          },
          "cycles": null,
          "memo": "",
          "callback": null
      }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"e04c7110-c604-4d3d-90bc-33c37625edcb"
   }
}

Body Params

name
string
required

The name of the plan

amount
string
required

The value/currency pair the sender paid

interval
string
required

The scheduled Interval

cycles
string

The number of times to execute (leave null for indefinite)

memo
string

The message to be attached to the Transfer when executed

callback
string

The callback URL that calls a Plan Update when changed

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the Plan

OAuth access_token required with the PLAN_WRITE scope.

puthttps://api.sandbox.enter.financial/v1/plan/id
curl 'https://api.sandbox.enter.financial/v1/plan/e04c7110-c604-4d3d-90bc-33c37625edcb' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
          "name": "Data Plus Plan",
          "memo": "Upgrade from Data Pro Plan",
          "callback": "https://www.example.com/plan_update.cfm"
      }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the plan

Body Params

name
string

The name of the plan

memo
string

The message to be attached to the Transfer when executed

callback
string

The callback URL that calls a Plan Update when changed

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with the PLAN_WRITE scope.

Suggest Edits

Disable

Disable a Plan.

 
posthttps://api.sandbox.enter.financial/v1/plan/id/disable
curl 'https://api.sandbox.enter.financial/v1/plan/2f18ff84-7627-41a0-b5c7-328d7446124b/disable' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the plan

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with the PLAN_WRITE scope.

Suggest Edits

Introduction

 

An Invoice is a statement of an amount due and provides a convenient way to request payment.

Suggest Edits

List

Lists invoices that the authenticated user has created.

 
gethttps://api.sandbox.enter.financial/v1/invoice
curl 'https://api.sandbox.enter.financial/v1/invoice?customerInvoiceType=STANDARD' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":[  
      {  
         "id":"eaddfad9-d62c-4df8-9c00-99ff95e886d1",
         "description":"This describes an invoice",
         "amount":{  
            "currency":"USD",
            "value":"2.00"
         },
         "amountDue":{  
            "currency":"USD",
            "value":"2.00"
         },
         "invoiceDate":"2016-08-08",
         "dueDate":"2016-08-08",
         "reference":"some-arbitrary-reference",
         "note":"This is something the recipient will see",
         "memo":"This is an internal memo field",
         "terms":"Bunch of legalese that no one reads",
         "status":"UNPAID",
         "created":1445088190000
      },
      {  
         "id":"f5261285-3712-4b8d-8d73-89c86a979f32",
         "description":null,
         "amount":{  
            "currency":"USD",
            "value":"3.00"
         },
         "amountDue":{  
            "currency":"USD",
            "value":"0.00"
         },
         "invoiceDate":"2016-08-08",
         "dueDate":null,
         "reference":null,
         "note":"This is something the recipient will see",
         "memo":null,
         "terms":"Bunch of legalese that no one reads",
         "status":"CANCELLED",
         "created":1445088190000
      }
   ]
}

Query Params

customerInvoiceType
string
required

Can be either STANDARD or INSTANT.

limit
string

The amount of items to list (Max 100)

offset
string

The starting point of the list

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The id of the invoice

description

A description of the invoice that the customer will see

The invoice value/currency pair

The remaining amount of the invoice, less any partial payments made

invoiceDate

The invoice date

dueDate

The date the invoice is due

reference

An arbitrary, internal identifier that the user won’t see. This could be, e.g. a PO#.

memo

An internal memo that the merchant can see, but the user cannot

terms

Terms and Conditions of the invoice

status

The invoice status (UNPAID, PARTIAL_PAID, PAID, PAST_DUE, CANCELLED)

created

The date and time it was created

Suggest Edits

Get (Public)

Gets a public Invoice.

 
gethttps://api.sandbox.enter.financial/v1/invoice/id
curl 'https://api.sandbox.enter.financial/v1/invoice/e04c7110-c604-4d3d-90bc-33c37625edcb' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $CLIENT_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"eaddfad9-d62c-4df8-9c00-99ff95e886d1",
      "description":"This describes an invoice",
      "amount":{  
         "currency":"USD",
         "value":"2.00"
      },
      "amountDue":{  
         "currency":"USD",
         "value":"2.00"
      },
      "invoiceDate":"2016-08-08",
      "dueDate":"2016-08-08",
      "note":"This is something the recipient will see",
      "terms":"Bunch of legalese that no one reads",
      "status":"UNPAID"
   }
}

Path Params

id
string
required

The id of the invoice

Headers

Authorization
string
required

Bearer {client_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The id of the invoice

description

A description of the invoice that the customer will see

The invoice value/currency pair

The remaining amount of the invoice, less any partial payments made

invoiceDate

The invoice date

dueDate

The date the invoice is due

note

This is a note to the recipient, separate from the description

terms

Terms and Conditions of the invoice

status

The invoice status (UNPAID, PARTIAL_PAID, PAID, PAST_DUE, CANCELLED)

OAuth client_token required.

Suggest Edits

Get

Gets an Invoice.

 
gethttps://api.sandbox.enter.financial/v1/invoice/id
curl 'https://api.sandbox.enter.financial/v1/invoice/e04c7110-c604-4d3d-90bc-33c37625edcb' \
 -X GET \ 
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{
   "success":true,
   "error":null,
   "response":{
      "id":"f5261285-3712-4b8d-8d73-89c86a979f32",
      "description":null,
      "amount":{
         "currency":"USD",
         "value":"3.00"
      },
      "amountDue":{
         "currency":"USD",
         "value":"2.00"
      },
      "invoiceDate":"2016-08-08",
      "dueDate":null,
      "reference":"an-arbitrary-reference",
      "note":null,
      "memo":"This is a memo",
      "terms":null,
      "status":"CANCELLED",
      "created":1445088190000
   }
}

Path Params

id
string
required

The id of the invoice

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The id of the invoice

description

A description of the invoice that the customer will see

The invoice value/currency pair

The remaining amount of the invoice, less any partial payments made

invoiceDate

The invoice date

dueDate

The date the invoice is due

reference

An arbitrary, internal identifier that the user won’t see. This could be, e.g. a PO#.

note

This is a note to the recipient, separate from the description

memo

An internal memo that the merchant can see, but the user cannot

terms

Terms and Conditions of the invoice

status

The invoice status (UNPAID, PARTIAL_PAID, PAID, PAST_DUE, CANCELLED)

created

The date and time it was created

OAuth access_token required with the INVOICE_READ scope.

Suggest Edits

Create

Creates an Invoice.

 
posthttps://api.sandbox.enter.financial/v1/invoice
curl 'https://api.sandbox.enter.financial/v1/invoice' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{
           "description":"This describes an invoice",
           "amount":{
              "currency":"USD",
              "value":"2.00"
           },
           "invoiceDate":"2016-08-04",
           "dueDate":"2016-12-25",
           "reference":"some-arbitrary-reference",
           "note":"This is something the recipient will see",
           "memo":"This is an internal memo field",
           "terms":"Bunch of legalese that no one reads"
        }'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  
      "id":"c533b177-f940-4dff-8590-2f8f2a27d553"
   }
}

Body Params

description
string

A description of the invoice that the customer will see

amount
object
required

The invoice value/currency pair

invoiceDate
date
required

The invoice date

dueDate
date

The date the invoice is due

referene
string

An arbitrary, internal identifier that the user won’t see. This could be, e.g. a PO#.

note
string

This is a note to the recipient, separate from the description

memo
string

An internal memo that the merchant can see, but the user cannot

terms
string

Terms and Conditions of the invoice

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

Response

Parameter
Description

id

The unique id of the invoice

OAuth access_token required with the INVOICE_WRITE scope.

Suggest Edits

Update

Updates an Invoice.

 
puthttps://api.sandbox.enter.financial/v1/invoice/id
curl 'https://api.sandbox.enter.financial/v1/invoice/f5261285-3712-4b8d-8d73-89c86a979f32' \
 -X PUT \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN' \
 -d '{  
   		"memo":"This is an updated memo",
   		"reference":"an-updated-arbitrary-reference"
	}'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the invoice

Body Params

reference
string

An arbitrary, internal identifier that the user won’t see. This could be, e.g. a PO#.

memo
string

An internal memo that the merchant can see, but the user cannot

amount
string

An optional new amount for the invoice, or leave blank to keep the amount the same. You cannot update the currency type.

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with the INVOICE_WRITE scope.

Suggest Edits

Cancel

Cancels an Invoice.

 
posthttps://api.sandbox.enter.financial/v1/invoice/id/cancel
curl 'https://api.sandbox.enter.financial/v1/invoice/a0974619-1b29-41ad-85fa-078bb03da6e3/cancel' \
 -X POST \
 -H 'Content-type: application/json' \
 -H 'Authorization: Bearer $ACCESS_TOKEN'
A binary file was returned

You couldn't be authenticated

{  
   "success":true,
   "error":null,
   "response":{  

   }
}

Path Params

id
string
required

The id of the invoice

Headers

Authorization
string
required

Bearer {access_token}

Content-type
string
required

application/json

 

OAuth access_token required with the INVOICE_WRITE scope.

Suggest Edits

Introduction

 

Callbacks are HTTP requests that come from Enter and call configured URLs the application integration sets to receive information regarding that status of authorization, transfers, and others.

 

The callback endpoint URL you provide should only trust information coming from Enter. To ensure this, transactions should be digitally checked at the application layer and requests should be filtered by IP at the network layer.

Application Filtering

When the callback URL is set in the user settings page, Enter will digitally sign the transaction payload with a generated private key that becomes available in your settings page. Using HMAC SHA256, the signature generated from the payload will be placed in the request header every time a transaction occurs.
For your convenience, we have provided a sample application that demonstrates a third party application securely consuming
these requests.

Network Filtering

Applications should only listen to requests from our IP address: 54.68.57.30 Consult the Sandbox Environment documents for requests originating from the sandbox.

app.use(bodyParser.json({
    verify: function(req, res, buf, encoding) {
        var callbackSignature = req.headers['x-callback-signature'];
        var hash = crypto.createHmac('SHA256', secret).update(buf).digest('base64');
        if (hash !== callbackSignature) {
            throw new Error("Invalid Request: HMAC mismatch");
        }
    }
}));
$rawBody = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_CALLBACK_SIGNATURE'];
$secret = $this->settings['callback_secret'];
$hashedBody = base64_encode(hash_hmac('sha256', $rawBody, $secret, true));
if ($signature != $hashedBody) {
	$this->log('expected signature: ' . $hashedBody . ' header signature: ' . $signature);
	return;
}

The callback server expects a 2xx response from the callback endpoint URL it is POSTing to.

If it does not receive a valid status code, it will attempt several requests until it does. It employs exponential back-off and will attempt delivery for the next 2 days, giving the integrator sufficient time to resolve any unexpected downtime.

If after several requests a 2xx response is not reached, an email will be sent notifying the integrator of the failure.

Suggest Edits

Authorization Callback

 

After a user affirmatively responds to the Authorization Request, this object is POSTed to the redirect_uri specified in the request.

Parameter
Description

code

A code that can be exchanged for an access token

state

A unique string included from the request for user authorization

{
  "code": "a6c7e217-66a0-430f-828e-1797dad2e763",
  "state": "SOME_STATE_VALUE"
}
Suggest Edits

Transfer Callback

 

When a transfer is executed, a callback is sent to the user callback URL if set in their merchant dashboard.

Parameter
Description

paymentId

A Transfer id

sourceBankUserId

The User id that initiated the transaction

sourceAmount

The amount the source user was charged.

sourceCurrencyType

The currency type.

sourceMessage

The memo attached to the source message.

destinationAmount

The amount the destination user received.

destinationCurrencyType

The currency type.

refundAmount

The amount the transaction was refunded.

refundCurrencyType

The currency type.

statusType

The status of the transaction ('EXECUTED', 'REFUNDED', 'ERROR')

createDate

The date and time the transfer was created.

executeDate

The date and time the transfer was executed.

refundDate

The date and time the transfer was refunded.

{  
   "paymentId":"296db7c3-ef0b-4720-a338-ca52d4e562d4",
   "sourceBankUserId":"079c9ba5-0968-4730-8088-7f2e606287c7",
   "sourceAmount":100.00,
   "sourceCurrencyType":"USD",
   "sourceMessage":"Have some money bill.",
   "destinationAmount":98.00000,
   "destinationCurrencyType":"USD",
   "refundAmount": null,
   "refundCurrencyType": null,
   "statusType":"EXECUTED",
   "createDate":1445462910000,
   "executeDate":1445462910000,
   "refundDate": null
}
Suggest Edits

Plan Callback

 

When a subscription gets either added to, updated, or disabled from a plan, the provided callback URL is called notifying the application of this change.

Parameter
Description

planId

A Plan id

subscriptionId

A Subscription id

status

The status of the subscription’s relationship to the plan (CREATED, UPDATED, DISABLED)

created

The date the callback was fired

{  
   "planId":"e04c7110-c604-4d3d-90bc-33c37625edcb",
   "subscriptionId":"44387a2d-15ce-4d18-9fd6-97b96912031e",
   "status":"UPDATED",
   "created":1446099210000
}
Suggest Edits

Introduction

 

Models are the data objects that are shared amongst the various endpoints or callbacks.

These are refund transaction details that are listed on a transaction under the refund field.

Parameter
Description

refundAmount

The value/currency pair of the amount that was refunded

reimburseAmount

The value/currency pair for the amount that needs to be reimbursed from the business to the processor for the cost of the original processed payment.

memo

The memo that was attached to the refund

status

The status of the refund (MANUAL, CREATED, EXECUTED, ERROR)

created

The date and time of the refund

 

The Interval is used when defining the schedule of a Subscription.

Parameter
Description

span

The timespan of the scheduled interval (DAY, WEEK, MONTH, YEAR)

count

The interval to be placed in a given span. Ex: 2/WEEK would be every other week.

trial

(Optional) A trial Interval period before the transaction is billed.

The currency and value pair of money.

Parameter
Description

currency

The currency type of money value (USD, CAD, etc).

value

The string decimal value of the value.

Suggest Edits

Error Codes

 

err.access_denied=Access Denied
err.ach_credit_not_supported=ACH credits are not supported at this time. Please contact support@enter.financial
err.ach_under_review=The bank payment is under review.
err.active_subscriptions_exist=Active subscriptions exist.
err.already_subscribed=You are already subscribed to this plan.
err.already_subscribed_to_owned_plan=err.already_subscribed_to_owned_plan
err.api_key_generation=An error was encountered when generating an API key
err.application_access_has_been_invalidated=Application access has been invalidated.
err.application_access_token_does_not_exist=err.application_access_token_does_not_exist
err.application_access_token_does_not_have_required_scope=The application access token does not have the required scope grant to perform this operation.
err.application_access_token_has_expired=The access token has expired. It may be refreshed using the refresh_token.
err.application_client_does_not_exist=No client exists to the given client ID.
err.application_client_id_does_not_match=Application client ID does not match.
err.application_client_secret_does_not_match=Application client secret key does not match.
err.application_code_does_not_exist=The provided authentication code does not exist.
err.application_code_has_expired=The provided authentication code has expired.
err.application_does_not_exist=No application exists to the given client ID.
err.application_does_not_have_any_redirect_uri_set=Application owner does not have any redirect URL set.
err.application_integration_does_not_exist=Application integration does not exist.
err.application_integration_is_not_active=The application integration has been disabled by the user.
err.application_is_not_active=err.application_is_not_active
err.application_owner_not_verified=Application owner is not in a verified status. Contact the administrator of the application.
err.application_redirect_uri_already_exists=Application redirect URI already exists.
err.application_redirect_uri_does_not_match=Application redirect URL does not match any set URLs.
err.application_refresh_token_does_not_exist=Application refresh token does not exist.
err.application_refresh_token_has_expired=Application refresh token has expired.
err.auth_mode_not_supported=This payment type does not support the AUTH mode.
err.avs_rejected=The address or postal code is invalid.
err.bank_session=An error was encountered when handling the current session
err.bank_user_blocked=This user has been blocked. Contact support.
err.banking_account=err.banking_account
err.banking_account_declined=The provided bank account was declined. Please try another account and try again later.
err.banking_account_does_not_exist=The banking account does not exist.
err.banking_account_not_active=The banking account is not active.
err.banking_card=There was a problem while processing this credit card. Please try again later.
err.banking_card_already_exists=The card you submitted already exists. Remove the existing one and try again.
err.banking_card_name_does_not_match=The cardholder name does not match the name we have on record. Cards added to your account must match your account name. If you believe this is an error, contact support@enter.financial for help.
err.banking_card_not_active=Banking card not active.
err.banking_device_not_found=The provided banking device does not exist.
err.business_not_setup_to_accept_payments=This business is not setup to accept payments.
err.cannot_capture_unauthed=This payment is not authed and so it cannot be captured.
err.cannot_remove_task=Unable to remove task because it does not exist. This is usually due to a name mismatch in the service when removing a task.
err.capture_currency_type_mismatch=The currency type for the collected amount must match the currency type of the authed amount.
err.capture_different_amount_collected_amount=Cannot capture a different amount that differs from the authed amount when change is given in the transaction.
err.capture_different_amount_remittance=A remittance cannot be captured for an amount that differs from the authed amount.
err.capture_greater_than_auth=Capture amount cannot be greater than the authorized amount.
err.capture_invalid_status=The transaction must be in an AUTHED state in order to be captured.
err.capture_mode_not_supported=This payment type does not support the CAPTURE mode.
err.card_locked=The card has been temporarily disabled. Please contact support@enter.financial.
err.chargeback_not_found=Chargeback not found
err.chargeback_reason_code_not_found=Chargeback Reason Code not found
err.client_access_token_required=Client Access Token required to perform this operation.
err.code_has_already_been_used=The authorization code has already been used.
err.compliance_documentation_still_being_processed=The compliance documentation you submitted is still being processed. Please try again later or contact support at support@enter.financial
err.compliant_business_not_found=The compliant business was not found
err.compliant_individual_id_status_type=Sorry, but we can't process this transaction until we know who you are. Please go to https://wallet.enter.financial/verify and get verified.
err.compliant_individual_info_status_type=Sorry, but we can't process this transaction until we know who you are. Please go to https://wallet.enter.financial/verify and get verified.
err.compliant_individual_validated_id_status_type=Sorry, but we can't process this transaction until we know who you are. Please go to https://wallet.enter.financial/verify and get verified.
err.compliant_individual_validated_info_status_type=Sorry, but we can't process this transaction until we know who you are. Please go to https://wallet.enter.financial/verify and get verified.
err.connect_user_already_exists=The user has already been enrolled and will need to authorize access to this application.
err.country_code_required=A valid country code for the provided phone number is required.
err.credit_card_declined=The provided credit was declined. Please try another card and try again later.
err.credit_card_expired=Credit card expired
err.credit_card_invalid=The provided credit card information is incorrect. Double check to make sure the information you provided is correct and completely filled out.
err.credit_card_invalid_cvv=The provided credit card CVV information is incorrect. Please double check to make sure the information provided is correct.
err.credit_card_invalid_expiration=Invalid expiration date
err.csv_invalid=The CSV file is invalid
err.currency_not_supported=Currency not supported.
err.currency_type_required=A valid currency is required.
err.cvv_number_required=The CVV number is required.
err.date_formatting=Unable to format the date
err.date_range_exceeds_maximum_number_of_days=The provided date range exceeds the maximum number of days.
err.deprecated=This method has been permanently deprecated and is no longer in service. Please contact support.
err.descriptor_id_does_not_exist=The provided transaction description ID or card number you entered does not appear to be valid. Please double check and try again.
err.destination_currency_sell_amount_exceeded=Destination location amount to send money to exceeds the maximum sell limit.
err.destination_user_has_no_email=Destination user has no email address registered to send email to.
err.destination_user_must_be_registered=Recipient is not registered as a customer and is required to be for this transaction.
err.destination_user_not_found=The recipient cannot be found.
err.dispute_already_created_for_transaction=A dispute has already been created for this transaction.
err.dispute_cannot_be_closed=The dispute can't be closed at this time.
err.dispute_comment_cannot_be_created_when_closed=A dispute comment cannot be createDate after the dispute has been closed.
err.dispute_comment_cannot_be_empty=A dispute comment cannot be empty.
err.dispute_does_not_exist=The dispute does not exist.
err.dispute_name_cannot_be_empty=The dispute name cannot be empty.
err.dispute_resolution_must_be_set=A dispute resolution reason must be set.
err.document=The given document(s) were unable to be processed
err.document_not_image_or_pdf=The document is not a valid image or PDF.
err.duplicate_transaction=Duplicate transaction detected - transaction cancelled.
err.email=Unable to send an email
err.email_already_exists=The email is in use by another user.
err.email_already_verified=err.email_already_verified
err.email_does_not_exist=The provided email address does not exist
err.email_not_verified=Your email has not been verified yet. Please check your email and click the activation link that was sent.
err.email_required=A valid email is required.
err.encryption_failed=Encryption failed
err.external_bank_user_denied=This account has been denied access from the account owner.
err.external_bank_user_pending=This account is still awaiting approval from the account owner.
err.facebook_long_term_access=An error happened while authenticating with Facebook
err.fatal_error=Fatal Error Encountered
err.fiat_processing=An error occurred while contacting the payment processor. Try again later.
err.fiat_processor=There was a problem while charging this card. Please try again later.
err.first_name_required=Legal first name is required.
err.fraud_bank_user_never_identified=The user needs to be identified before the payment can be processed.
err.fraud_business_not_approved=The destination businesses needs to be identified before the payment can be processed.
err.fraud_system_exception=Fraud system exception.
err.gravatar=Unable to generate Gravatar URL
err.hash_mismatch=err.hash_mismatch
err.identification_already_valid=A valid identification has already been submitted for this user of this type.
err.identity_business_not_found=Identity businesses does not exist.
err.identity_document_not_found=Identity document not found.
err.identity_id_details_not_found=Identity ID details not found.
err.identity_info_does_not_exist=Identity infos does not exist.
err.identity_required=An identity is required before a transaction can take place.
err.identity_social_network_does_not_exit=Identity social network does not exist.
err.insufficient_facebook_permissions_granted=Insufficient Facebook permissions granted
err.interacting_with_document_storage=There was a problem retrieving or storing the document. Please try again later.
err.intercom=Unable to generate Intercom hash
err.invalid_access_token=Invalid Access Token
err.invalid_account_type=Invalid account type
err.invalid_amount=Invalid Amount
err.invalid_api_key=Invalid API Key
err.invalid_api_key_type=Invalid API Key
err.invalid_arguments=Invalid request
err.invalid_bank_account=Invalid Bank Account
err.invalid_bank_account_balance=Invalid bank account balance
err.invalid_bank_transaction_status=Transaction Error
err.invalid_bank_transaction_type=Invalid bank transaction type
err.invalid_bank_user_characteristics=The bank user is invalid
err.invalid_banking_id_provided=Invalid bankingId provided.
err.invalid_business_name=Invalid business name
err.invalid_callback_url=Invalid callback URL.
err.invalid_chargeback=Invalid chargeback
err.invalid_chargeback_status=Invalid chargeback status
err.invalid_client_id=Invalid Client ID
err.invalid_compliant_business_id=Invalid Compliant Business ID
err.invalid_credentials=Invalid Credentials Entered
err.invalid_currency=Invalid Currency
err.invalid_date_of_birth=The provided date of birth is not valid.
err.invalid_description=Invalid description
err.invalid_document_type=Unable to Process the Document
err.invalid_email_address=Invalid Email
err.invalid_escrow_account=Unable to Process the Transaction
err.invalid_first_name=Invalid first name
err.invalid_grant_type_should_be_authorization_code=Invalid grant type provided. Should be of type authorization_code.
err.invalid_grant_type_should_be_refresh_token=Invalid grant type provided. Should be of type refresh_token.
err.invalid_hardware_configuration=The current hardware configuration is not valid.
err.invalid_invoice=Invalid invoice specified.
err.invalid_invoice_payment_status=You can't pay the invoice in its current state
err.invalid_invoice_status=This invoice is in an invalid status for that action
err.invalid_ip_address=Invalid IP address
err.invalid_last_name=Invalid last name
err.invalid_memo=Invalid memo
err.invalid_or_expired_activation_code=Invalid or Expired Activation Code
err.invalid_or_expired_documentation=Your identification documentation is either missing, incomplete, or expired. Please go to https://wallet.enter.financial/verify and get verified.
err.invalid_or_expired_identification_documentation=err.invalid_or_expired_identification_documentation
err.invalid_or_expired_invite_code=Invalid or expired invitation code
err.invalid_owner_count=Invalid number of owners to account
err.invalid_password_reset_code=The provided password reset code is invalid
err.invalid_payment_event_Type=err.invalid_payment_event_Type
err.invalid_payment_to_non_business=Payments can only be made to a businesses account.
err.invalid_phone_number=Invalid Phone Number
err.invalid_physical_address=An invalid physical address was provided.
err.invalid_quick_deposit_finalize_status=err.invalid_quick_deposit_finalize_status
err.invalid_recipient_note=Invalid recipient note
err.invalid_redirect_url=Invalid redirect URI.
err.invalid_reference_id=Invalid reference ID
err.invalid_remittance_to_non_individual=Remittances can only be made to individuals.
err.invalid_shared_permission=Invalid shared permission
err.invalid_source_currency_type=Invalid source currency type specified.
err.invalid_subscription_setup=Invalid subscription setup.
err.invalid_token_type=Invalid token type provided.
err.invalid_transaction_id=Invalid Transaction ID
err.invalid_url=Invalid URL
err.invalid_user_id=Invalid user ID
err.invalid_verification_code=Invalid Verification Code
err.invalid_wiring=Invalid wiring in service.
err.invoice_not_found=That invoice doesn't exist
err.item_not_found_exception=The requested resource was not found.
err.last_name_required=Legal last name is required.
err.lexis_nexis=Lexis nexis error
err.linkedin_access=An error happened while connecting to Linked In. Try again later or contact support@enter.financial
err.logger.index_creation=Unable to Process the Log
err.match_list=An error occurred while contacting the mastercard MATCH network
err.maximum_account_limit=You have reached the maximum number accounts for this type
err.maximum_number_banking_cards=The maximum number of cards that can be stored has been reached. Remove an older one and try again.
err.maximum_number_of_active_api_keys=The maximum number of API keys of this type have been reached for this account
err.maximum_number_of_active_applications=err.maximum_number_of_active_applications
err.maximum_number_of_shared_users=The maximum number of shared users have been reached for this account
err.maximum_online_payment_method_limit=err.maximum_online_payment_method_limit
err.maximum_query_limit=Maximum query limit is 100 items per page.err.credit_card_invalid_cvv=The provided credit card CVV information is incorrect. Please double check to make sure the information provided is correct.err.banking_account_declined=The provided bank account was declined. Please try another account and try again later.
err.memo_empty=The sourceMemo cannot be empty for this destination location.
err.merchant_processing_application_not_found=Merchant processing application not found
err.minimum_number_of_shared_users=err.minimum_number_of_shared_users
err.minimum_search_length=The provided search query does not meet the minimum search length.
err.minimum_send_money_source_amount=The minimum send money transaction amount is 0.50.
err.multiple_payment_terminals=Multiple payment terminals are active. The correct terminal cannot be determined.
err.no_available_processors=There are currently no available payment processors to accept this payment. Please try again later.
err.not_divisible_at_destination=The destination amount is not divisible at the destination location.
err.not_implemented=err.not_implemented
err.note_cannot_be_blank=Note cannot be blank
err.notification_method_required=A notification method is required to add a customer.
err.operation_not_supported=Operation not supported.
err.over_limit_for_deposits=err.over_limit_for_deposits
err.password.dont_match=Passwords Do Not Match
err.password.invalid=Invalid password
err.password_must_be_at_least_eight_characters_in_length=Password must be at least eight characters in length.
err.password_required=err.password_required
err.payment_already_authed=This payment was already authed and cannot be authed again.
err.payment_already_captured=This payment was already captured and cannot be authed or captured again.
err.payment_already_refunded=This payment was already refunded and cannot be acted upon.
err.payment_already_voided=This payment was already voided and cannot be acted upon.
err.payment_method_currently_assigned=This payment method is currently assigned to a location.
err.payment_method_does_not_support_auth=The currently selected bank does not support auth.
err.payment_method_does_not_support_capture=The currently selected bank does not support capture.
err.payment_method_does_not_support_currency=The payment method attached to this location does not support the currency the location is set to.err.connector.not_found=err.connector.not_found
err.payment_method_does_not_support_payment_type=The payment method does not supported the processing type selected.
err.payment_method_does_not_support_void=The currently selected ban does not support void.
err.payment_terminal_not_active=Payment Terminal not active.
err.pending_sell_transaction_cannot_be_completed=This pending sell transaction cannot be completed
err.phone_does_not_exist=The phone number does not exist.
err.phone_number_already_registered=This phone number has already been registered to an account.
err.phone_required=A valid phone number is required.
err.phone_service=Phone Service Error Encountered
err.pin_must_be_at_least_four_digits_in_length=The PIN must be at least four digits in length
err.pin_reset.code_doesnt_match=Invalid PIN reset code
err.pin_reset.pins_dont_match=PINs don't match
err.pins_must_be_digits=The PIN must only contain numbers
err.plaid_access_token_missing=You must submit authentication before submitting multi-factor authentication
err.plaid_communication=Error communicating with account link provider
err.plaid_invalid_banking_institution=Invalid banking institution
err.plaid_invalid_send_method=Invalid send method
err.plaid_mfa_missing=Auth step requires a MFA response.
err.plaid_pin_missing=You must provide a PIN to authenticate.
err.plan_amount_is_invalid=Plan amount is invalid.
err.plan_count_is_invalid=Plan count interval is invalid.
err.plan_currency_type_is_invalid=Plan currency type is invalid.
err.plan_cycles_is_invalid=The plan cycle count is invalid.
err.plan_does_not_exist=The plan does not exist.
err.plan_must_belong_to_existing_plan_owner=The plan must belong to the same owner as the existing plan.
err.plan_name_cannot_be_blank=Plan name cannot be blank.
err.plan_not_active=Plan is not active.
err.plan_not_found=The plan was not found.
err.plan_span_type_is_invalid=Plan span type is invalid.
err.plan_trial_is_invalid=Plan trial is invalid.
err.plan_trial_span_type_must_be_day_or_week=err.plan_trial_span_type_must_be_day_or_week
err.postal_code_cannot_be_empty=The postal code may not be empty.
err.preferred_payment_processor_mismatch=Cannot send to a location that does not match the user preferred location.
err.primary_checking_account_sharing=The primary checking account cannot be shared
err.proof_of_solvency_io=Proof of Solvency Calculation Error Encountered
err.proof_of_solvency_malformed_url=Proof of Solvency Calculation Error Encountered
err.public_bank_user_registration_does_not_exist=Authorization request code does not match.
err.public_user_information_does_not_exist=The user information to be submitted does not exist for this application.
err.public_user_information_must_match=The user information submitted with the sms code does not match what was originally submitted when it was sent.
err.rate_limit_exceeded=Rate Limit Exceeded
err.recaptcha_failed=Recaptcha failed.
err.recipient_cannot_accept_remittance=The recipient cannot accept the remittance.
err.refund_already_refunded=This transaction has already been refunded.
err.refund_invalid_amount=An invalid amount was provided for the refund. It must be the same currency and less than or equal to the transaction amount.
err.refund_invalid_payment=This transaction has a payment type that is not eligible for a refund.
err.refund_invalid_status=The transaction must be in an EXECUTED state in order to be refunded.
err.refund_invoice_not_found=This transaction does not have an invoice to refund.
err.remittance_not_enabled=Remittance is not enabled for your account.
err.reset_code_required=A valid reset code from the email is required.
err.response_type_must_be_set_to_code=Response type must be set to code.
err.robocoin_reserve_comm=Internal Server Error Encountered
err.scheduler=A problem has occurred with the scheduler.
err.send_money_request_no_longer_available=This send money request is no longer available.
err.send_money_transaction_not_found=Transaction not found.
err.send_money_unexpected_state=err.send_money_unexpected_state
err.sms=Unable to send an SMS to the provided number
err.sms_already_used=The SMS code has already been used.
err.socure_service=A problem was encountered with our identity validation service. Please try again later.
err.stuck_transaction_already_recovered=Stuck transaction already recovered.
err.stuck_txn_cant_be_recovered=Stuck transaction cannot be recovered.
err.submit_social_network_first=Please authenticate with your social network first before submitting a government photo ID.
err.subscription_not_active=Subscription not active.
err.subscription_not_found=The subscription was not found.
err.survey_already_responded=The survey has already been responded to.
err.survey_already_send=The survey has already been sent.
err.survey_does_not_exist=The survey does not exist.
err.survey_has_expired=The survey has expired.
err.transaction_already_assigned=That transaction is already assigned to a chargeback
err.transaction_hash_mismatch=err.transaction_hash_mismatch
err.transfer_too_large=Transfer amount is too large and cannot be processed.
err.transfer_too_small=Transfer amount is too small and cannot be processed.
err.two_factor_invalid_code=Invalid Two-Factor Code Provided
err.two_factor_invalid_request=Invalid Two-Factor Code Provided
err.unknown_broadcast_agent=err.unknown_broadcast_agent
err.unsupported_api_key_type=Unsupported API key type
err.unsupported_payment_method_type=err.unsupported_payment_method_type
err.updating_subscription_requires_same_span_and_count=err.updating_subscription_requires_same_span_and_count
err.user_already_customer=This user is already a customer.
err.user_already_enrolled=You're already enrolled on the website
err.user_already_exists=This account already exists
err.user_already_shared=This user has already been shared to this account
err.user_daily_limit_exceeded=Daily Limit Exceeded
err.user_disabled=Your account has been dsiabled. Contact support at support@enter.financial.
err.user_inactive=User Account is not Active
err.user_not_approved=User Not Approved
err.user_not_found=User Not Found
err.valid_sms_code_required=err.valid_sms_code_required
err.verify_email_mismatch=err.verify_email_mismatch
err.visa_or_mastercard_only=Only Visa or MasterCard are available at this time. Please double check your credit card number and try again.
err.website_enrollment_not_in_valid_state=Please contact support about your enrollment status.
err.website_transaction_details=Website transaction details were not able to be recalled.