Contact: SeamlessChex API Support info@seamlesschex.com License: SeamlessChex
The SeamlessChex API is based on the REST standard. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
You can use our API to integrate your website, software application, mobile application and more.
In addition, you can use the SeamlessChex API in test mode, which does not affect your live data or interact with the banking networks. The API URL you use determines whether the request is live mode or test mode.
Live Mode
:
https://api.seamlesschex.com/
Test Mode
:
https://sandbox.seamlesschex.com/
The SeamlessChex API uses API keys to authenticate requests. You can view and manage your API keys in the SeamlessChex Account Settings.
Test mode secret keys have the prefix sk_test_ and live mode secret keys have the prefix sk_live_.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Authentication to the API is performed via Bearer authentication which is similarly to HTTP Basic Auth. Bearer authentication should only be used over HTTPS (SSL). As well as, all API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Use the following Authorization value for the Header Auth to test the requests:
The SeamlessChex API provides the Sandbox environment which does not affect your live data or interact with the banking networks.
Please note that the Sandbox environment is for developer testing only and can only be used with test data from the table below, otherwise the “Risk” result will be “Fail”.
Applications should be built and tested in the Sandbox environment before being used. For testing in Sandbox, you need to get a test key for your Sandbox environment. Click on the right top corner ‘My Account’ and then ‘API’: On the ‘API’ page click on button ‘GO TO SANDBOX’ to switch to your Sandbox environment When you enter SANDBOX mode on the left corner will be displayed portal TEST MODE Once in Sandbox, you’ll have a button to go back to the Live environment In ‘Sandbox’ mode you can go through all check’s stages. From creating a check to depositing. In order to set status ‘Deposited’, go to ‘View My Checks’ page, select a necessary check and click ‘Deposit Selected’ Where can I find WooCommerce API keys? Firstly, please make sure that you have the latest version of the WooCommerce SeamlessChex Plugin installed. You can read more on this topic here https://docs.woocommerce.com/document/woocommerce-rest-api/
https://sandbox.seamlesschex.com/
Routing Number
Account Number
Risk
Fund Confirmation
Description
999900001
1111000001
Risky
InsufficientFunds
Negative information was found in the account’s history
999900001
1111000002
Fail
NonParticipatingBank
Routing number is not assigned to a financial institution
999900001
1111000003
Risky
AccountClosed
Account found in your API user’s Private Bad Checks list
999900001
111100004
Fail
NonParticipatingBank
Invalid/Unassigned routing number
999900001
1111000005
Fail
InvalidAccountNumber
Invalid account number
999900001
1111000006
Risky
Null
Invalid check number
999900001
1111000007
Fail
Null
Invalid check amount
999900001
1111000008
Pass
Null
No positive or negative information available for the account information
999900001
1111000009
Fail
NonParticipatingBank
Routing number can only be valid for a US Government institution
999900001
1111000010
Pass
SufficientFunds
Routing number is participating bank, but account number not located
999900001
1111000011
Risky
InsufficientFunds
Account should be declined based on the risk factor reported
999900001
1111000012
Fail
InsufficientFunds
Item (Check Number) should be declined based on the risk factor reported
999900001
1111000013
Risky
InsufficientFunds
Current negative data exists on the account. Ex: NSF or recent returns
999900001
1111000014
Fail
InsufficientFunds
Non-Demand Deposit Account (Post No Debits)
999900001
1111000015
Risky
InsufficientFunds
Recent negative data exists on the account. Ex: NSF or recent returns
999900001
1111000016
Pass
SufficientFunds
Account Verified – Open and valid checking or savings account
999900001
1111000017
Fail
NonParticipatingBank
AMEX – The account is an American Express Travelers Cheque account
999900001
1111000018
Pass
SufficientFunds
Non-Participant Provider – Account reported as having positive data
999900001
1111000019
Fail
NonParticipatingBank
Savings Account Verified – Open and valid savings account
999900001
1111000020
Pass
SufficientFunds
Checking or savings account was found to have positive historical data
999900001
1111000021
Fail
NonParticipatingBank
Savings account was found to have positive historical data
999900001
1111000022
Pass
SufficientFunds
Account reported as having positive historical data
SeamlessChex uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Code 200 indicates success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a creating check failed, etc.). Codes in the 5xx range indicate an error with SeamlessChex's servers (these are rare).
Some 4xx errors that could be handled programmatically include an error code that briefly explains the error reported.
200: Success - Everything worked as expected. 400: Bad Request - The request was unacceptable, often due to missing a required parameter. 401: Unauthorized - No valid API key provided. 402: Request Failed - The parameters were valid but the request failed. 403: Forbidden - The API key doesn't have permissions to perform the request. 404: Not Found - The requested resource doesn't exist. 405: Method Not Allowed - You tried to access an endpoint with an invalid method. 429: Too Many Requests - Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. 500: Internal Server Error - Something went wrong on SeamlessChex’s server. Try again later. 503: Service Unavailable - We’re temporarily offline for maintenance or you are using an incorrect endpoint. Perhaps you have made a mistake, please check your request.
error
emptyRow
boolean
Indicates if a request has been completed with error.
message
emptyRow
string
Provides more details about the reason for the error.
code
emptyRow
number
Error code.
}
The SeamlessChex API resources support bulk fetches via the "list" API method. For instance, you can list all checks. This list API method shares a common structure, taking at least these two parameters: limit and page. By default list’s responses have 15 items per page and the first page is active.
success
emptyRow
boolean
Status of the API request.
list
emptyRow
object<list>
A list with a data property that contains an array of up to limit eChecks.
current_page
emptyRow
string
The number of the page that defines your place in the list.
from
emptyRow
string
The number of the previous page before the current one that defines your place in the list.
last_page
emptyRow
string
The number of the last page.
per_page
emptyRow
string
The total number of objects in the array list per one page.
to
emptyRow
string
The number of the next page after the current one that defines your place in the list.
total
emptyRow
string
The total number of objects in the array list.
data
emptyRow
array<check>
An array of objects. Each entry in the array is a separate object. If no more objects are available, the resulting array will be empty.
}
The SeamlessChex API support a common way for querying, sorting, limiting and selecting resources with REST GET method calls using URL query parameters and the following operators:
$limit will return only the number of results you specify.
curl https://api.seamlesschex.com/v1/check/list?$limit=1 -H "Authorization: Bearer sk_test_01en8e264mt148md2f8xkx6afs"
$sort will sort based on the object you provide. It can contain a list of properties by which to sort mapped in reverse chronological order by default.
$direction will set a sort direction. It has a reverse chronological order by default.
This service endpoint provides the customer with the ability to create a new eCheck. Each new eCheck is identified by a unique random ID. It can be used later to update a eCheck or retrieve information about the current state of it.
After a new eCheck has been created, it goes into processing, which takes about 2 business days. During this period, the check goes through various stages of processing that are displayed in its status field.
Information about the current status of a check can be obtained using webhooks or by getting its current status via the “Get Check” API service. Below is the procedure for processing an eCheck and changing its statuses.
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
number
string
digits between: 1, 10
The custom number of a check. If this field has not been sent, the check number will be filled in automatically.
|
|
amount
*
number
float > 0
The amount of the check. The check amount has to be positive.
|
|
memo
*
string
<= 128 characters
Brief description of the purpose of the check.
|
|
name
*
string
<= 80 characters
The sender’s name.
|
|
email
*
string
<= 80 characters
The sender’s email address. (The ‘email’ field is a required field, unless ‘address’ field is entered. In this case ‘email’ field can remain empty.)
|
|
authorization_date
string
YYYY-MM-DD
The specified date will be displayed on the check. By default, the date of eCheck creation will be presented. The authorization date can not be older than 30 days. The authorization date can not be future dated.
|
|
label
string
<= 128 characters
The label is useful to find similar eChecks.
|
|
phone
string
<= 20 characters
The sender’s phone number.
|
|
address
string
<= 128 characters
The sender’s address. (The ‘address’ field is a required field, unless ‘email’ field is entered. In this case ‘address’ field can remain empty. Please note: if the ‘address’ field is entered, then ‘city’, ‘state’ and ‘zip’ fields must be entered too.)
|
|
city
string
<= 40 characters
The sender’s city.
|
|
state
string
== 2 characters
The sender’s city state.
|
|
zip
string
between: 5, 10 characters
The sender’s postal code.
|
|
bank_account
*
string
digits between: 4, 17 characters
The sender’s bank account. (The ‘bank_routing’ and ‘bank_account’ fields must be both entered. In this case, both fields ‘token’ and ‘store’ must not be entered.)
|
|
bank_routing
*
string
digits: 9 characters
The sender’s bank routing number. (The ‘bank_routing’ and ‘bank_account’ fields must be both entered. In this case, both fields ‘token’ and ‘store’ must not be entered.)
|
|
token
string
format: 36 characters
Unique encrypted identifier of client’s account details. (The ‘token’ and ‘store’ fields must be both entered. In this case, both fields ‘bank_routing’ and ‘bank_account’ must not be entered.)
|
|
store
string
format: site.com
The store from which the requests are received. (The ‘token’ and ‘store’ fields must be both entered. In this case, both fields ‘bank_routing’ and ‘bank_account’ must not be entered.)
|
|
type_info
string
<= 128 characters
Optional. Enter the name of your service to identify your integration
|
|
recurring
number
enum: 0, 1
Select to enable recurring payments.
|
|
recurring_cycle
string
'day', 'week', 'bi-weekly', 'month'
The recurring payment will occur with a selected frequency. The options available for recurring payments are daily, weekly, bi-weekly or monthly.
|
|
recurring_start_date
string
YYYY-MM-DD or NULL
The recurring payments will start on the day of its creation, if selected NULL. If a start date is entered, the recurring payment will start on the start date selected.
|
|
recurring_installments
number
enum: 0 or 1, 2, 3...N
Submit if you require the recurring payments to occur a specific number of times or to be indefinite.
|
|
verify_before_save
boolean
Submit it if you need to verify bank account information. Response will come with a verification result.
|
|
fund_confirmation
boolean
Requires additional plan.
Submit it if you need to confirm the availability of funds. Response will come with a confirmation result.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/create", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ), CURLOPT_POSTFIELDS =>"{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "type_info": "{{type_info}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/create" method := "POST" payload := strings.NewReader("{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "type_info": "{{type_info}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/create") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" request.body = "{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "type_info": "{{type_info}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/create' payload = "{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "type_info": "{{type_info}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request POST https://sandbox.seamlesschex.com/v1/check/create \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \ --data '{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "type_info": "{{type_info}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }'
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
limit
integer
between 1, 100
Default: 15.
A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 15 items. |
|
page
integer
number > 0
Default: 1.
A cursor to use for pagination. The result is divided into pages, the size of which is determined by the limit parameter. |
|
sort
string
enum: 'date', 'number', 'name'
Default: 'date'.
The parameter is intended for sorting the results by a specific field. For example, you can sort by 'date', 'number' or 'name'. |
|
from_date
string
date: YYYY-MM-DD
The parameter is used to sort the results by a date range.
|
|
to_date
string
date: YYYY-MM-DD
The parameter is used to sort the results by a date range.
|
|
direction
string
enum: 'DESC', 'ASC'
Default: 'DESC'.
The parameter allows you to change the sorting direction 'ASC' or 'DESC'. |
|
label
string
<= 128 characters
The parameter to filter results by the eCheck link field.
|
|
link_id
string
<= 128 characters
The parameter to filter results by the eCheck link field.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/list?limit=15&page=1&sort=date&direction=DESC", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ) )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/list?limit=15&page=1&sort=date&direction=DESC" method := "GET" client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/list?limit=15&page=1&sort=date&direction=DESC") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/list?limit=15&page=1&sort=date&direction=DESC' headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request GET https://sandbox.seamlesschex.com/v1/check/list?limit=15&page=1&sort=date&direction=DESC \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
Check_id
*
string
== 36 characters
Unique identifier for the eCheck object.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/check_id", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" )" )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/check_id" method := "GET" payload := strings.NewReader("") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/check_id") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/check_id' headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request GET https://sandbox.seamlesschex.com/v1/check/check_id \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \ --data ''
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
bank_routing
*
string
digits: 9 characters
The parameter to filter results by the eCheck bank routing number field.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/bankinfo?bank_routing=021000021", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ) )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/bankinfo?bank_routing=021000021" method := "GET" client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/bankinfo?bank_routing=021000021") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/bankinfo?bank_routing=021000021' headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request GET https://sandbox.seamlesschex.com/v1/check/bankinfo?bank_routing=021000021 \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
first_name
*
string
<= 128 characters
The sender’s first name.
|
|
last_name
*
string
<= 128 characters
The sender’s last name.
|
|
email
string
<= 80 characters
The sender’s email address.
|
|
phone
string
<= 20 characters
The sender’s phone number.
|
|
bank_account
*
string
digits between: 4, 17 characters
The sender’s bank account.
|
|
bank_routing
*
string
digits: 9 characters
The sender’s bank routing number.
|
|
store
*
string
<= 128 characters
Any identifier can be entered for your convenience (for example in a website format: site.com or any other identifier)
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/account/tokenization", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ), CURLOPT_POSTFIELDS =>"{ "first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", " "phone": "{{phone}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "store": "{{store}}" }" )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/account/tokenization" method := "POST" payload := strings.NewReader("{ "first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", "phone": "{{phone}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "store": "{{store}}" }") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/account/tokenization") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" request.body = "{ "first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", " "phone": "{{phone}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "store": "{{store}}" }" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/account/tokenization' payload = "{ "first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", " "phone": "{{phone}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "store": "{{store}}" }" headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request POST https://sandbox.seamlesschex.com/v1/account/tokenization \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \ --data '{ "first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", " "phone": "{{phone}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "store": "{{store}}" }'
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
check_id
*
string
== 80 characters
Unique identifier for the eCheck object.
|
|
number
*
number
digits between: 1, 10
The custom number of a check. If this field has not been sent, the check number will be filled in automatically.
|
|
amount
*
number
float > 0
The amount of the check. The check amount has to be positive.
|
|
memo
*
string
<= 128 characters
Brief description of the purpose of the check.
|
|
authorization_date
string
YYYY-MM-DD
The authorization date can not be older than 30 days. The authorization date can not be future dated.
|
|
label
string
<= 128 characters
The label is useful to find similar eChecks.
|
|
name
*
string
<= 80 characters
The sender’s name.
|
|
email
string
<= 80 characters
The sender’s email address.
|
|
phone
string
<= 20 characters
The sender’s phone number.
|
|
address
string
<= 128 characters
The sender’s address.
|
|
city
string
<= 40 characters
The sender’s city.
|
|
state
string
== 2 characters
The sender’s city state.
|
|
zip
string
between:5,10 characters
The sender’s postal code.
|
|
bank_account
*
string
digits between: 4, 17 characters
The sender’s bank account. (The ‘bank_routing’ and ‘bank_account’ fields must be both entered. In this case, both fields ‘token’ and ‘store’ must not be entered.)
|
|
bank_routing
*
string
digits: 9 characters
The sender’s bank routing number. (The ‘bank_routing’ and ‘bank_account’ fields must be both entered. In this case, both fields ‘token’ and ‘store’ must not be entered.)
|
|
token
string
format: 36 characters
Unique encrypted identifier of client’s account details. (The ‘token’ and ‘store’ fields must be both entered. In this case, both fields ‘bank_routing’ and ‘bank_account’ must not be entered.)
|
|
store
string
format: site.com
The store from which the requests are received. (The ‘token’ and ‘store’ fields must be both entered. In this case, both fields ‘bank_routing’ and ‘bank_account’ must not be entered.)
|
|
type_info
string
<= 128 characters
Optional. Enter the name of your service to identify your integration
|
|
recurring
number
enum: 0, 1
Select to enable recurring payments.
|
|
recurring_cycle
string
'day', 'week', 'bi-weekly', 'month'
The recurring payment will occur with a selected frequency. The options available for recurring payments are daily, weekly, bi-weekly or monthly.
|
|
recurring_start_date
string
YYYY-MM-DD or NULL
The recurring payments will start on the day of its creation, if selected NULL. If a start date is entered, the recurring payment will start on the start date selected.
|
|
recurring_installments
number
enum: 0 or 1, 2, 3...N
Submit if you require the recurring payments to occur a specific number of times or to be indefinite.
|
|
verify_before_save
boolean
Submit it if you need to verify bank account information. Response will come with a verification result.
|
|
fund_confirmation
boolean
Submit it if you need to confirm the availability of funds. Response will come with a confirmation result.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/edit", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ), CURLOPT_POSTFIELDS =>"{ "check_id": "{{check_id}}", "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "authorization_date": "{{authorization_date}}", "label": "{{label}}", "name": "{{name}}", "email": "{{email}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "type_info": "{{type_info}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/edit" method := "POST" payload := strings.NewReader("{ "check_id": "{{check_id}}", "number": "{{number}}", "label": "{{label}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "type_info": "{{type_info}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/edit") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" request.body = "{ "check_id": "{{check_id}}", "number": "{{number}}", "label": "{{label}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "type_info": "{{type_info}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/edit' payload = "{ "check_id": "{{check_id}}", "number": "{{number}}", "label": "{{label}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "type_info": "{{type_info}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }" headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request POST https://sandbox.seamlesschex.com/v1/check/edit \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \ --data '{ "number": "{{number}}", "amount": "{{amount}}", "memo": "{{memo}}", "name": "{{name}}", "email": "{{email}}", "authorization_date": "{{authorization_date}}", "phone": "{{phone}}", "address": "{{address}}", "city": "{{city}}", "state": "{{state}}", "zip": "{{zip}}", "type_info": "{{type_info}}", "bank_account": "{{bank_account}}", "bank_routing": "{{bank_routing}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "verify_before_save": "{{verify_before_save}}", "fund_confirmation": "{{fund_confirmation}}" }'
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
*
string
It tells the server what type of data is actually sent.
|
Check_id
*
string
== 36 characters
Unique identifier for the eCheck object.
|
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/check/check_id", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "DELETE", CURLOPT_HTTPHEADER => array( "Authorization: {{secretKey}}" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/check/check_id" method := "DELETE" payload := strings.NewReader("") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/check/check_id") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Delete.new(url) request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/check/check_id' headers = { 'Authorization': '{{secretKey}}' } response = requests.request('DELETE', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request DELETE https://sandbox.seamlesschex.com/v1/check/check_id \ --header 'Authorization: {{secretKey}}' \ --data ''
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
*
string
It tells the server what type of data is actually sent.
|
Checkout_token
*
string
== 36 characters
Unique identifier for the Payment Link object.
|
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/paymentlink/changestatus/checkout_token", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "DELETE", CURLOPT_HTTPHEADER => array( "Authorization: {{secretKey}}" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/paymentlink/changestatus/checkout_token" method := "DELETE" payload := strings.NewReader("") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/paymentlink/changestatus/checkout_token") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Delete.new(url) request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/paymentlink/changestatus/checkout_token' headers = { 'Authorization': '{{secretKey}}' } response = requests.request('DELETE', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request DELETE https://sandbox.seamlesschex.com/v1/paymentlink/changestatus/checkout_token \ --header 'Authorization: {{secretKey}}' \ --data ''
This service endpoint provides the customer with the ability to create a new Payment Link. Each new Payment Link is identified by a unique random token. It can be used later to delete Payment Link.
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
amount
number
float > 0
The amount of the check.
|
|
memo
string
<= 128 characters
Brief description of the purpose of the check.
|
|
thank_you_url
string
User is redirected to the 'Thank you' page URL in case of successful transaction. URL will receive the parameter 'CheckID' with the number of new check.
|
|
error_url
string
User is redirected to the 'Payment Error' page in case of failed transaction.
|
|
recurring
number
enum: 0, 1
Select to enable recurring payments.
|
|
recurring_cycle
string
'day', 'week', 'bi-weekly', 'month'
The recurring payment will occur with a selected frequency. The options available for recurring payments are daily, weekly, bi-weekly or monthly.
|
|
recurring_start_date
string
YYYY-MM-DD or NULL
The recurring payments will start on the day of its creation, if selected NULL. If a start date is entered, the recurring payment will start on the start date selected.
|
|
recurring_installments
number
enum: 0 or 1, 2, 3...N
Submit if you require the recurring payments to occur a specific number of times or to be indefinite.
|
|
fund_confirmation
boolean
Submit it if you need to confirm the availability of funds.
|
|
basic_verification
boolean
Submit it if you need basic verification.
|
|
is_bankauth
boolean
Instantly verify bank account ownership and account balances using a payment link where users are prompted to enter their online bank username/password.
|
|
signature_required
boolean
Signature Capture allows you to create a payment link requiring your customer to sign using their mouse or finger on a smart phone.
|
|
submit_for_approval
boolean
If enabled all checks will go to your approval queue requiring manual review.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/paymentlink/create", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ), CURLOPT_POSTFIELDS =>"{ "amount": "{{amount}}", "memo": "{{memo}}", "thank_you_url": "{{thank_you_url}}", "error_url": "{{error_url}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "fund_confirmation": "{{fund_confirmation}}", "basic_verification": "{{basic_verification}}", "is_bankauth": "{{is_bankauth}}", "signature_required": "{{signature_required}}", "submit_for_approval": "{{submit_for_approval}}" }" )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/paymentlink/create" method := "POST" payload := strings.NewReader("{ "amount": "{{amount}}", "memo": "{{memo}}", "thank_you_url": "{{thank_you_url}}", "error_url": "{{error_url}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "fund_confirmation": "{{fund_confirmation}}", "basic_verification": "{{basic_verification}}", "is_bankauth": "{{is_bankauth}}", "signature_required": "{{signature_required}}", "submit_for_approval": "{{submit_for_approval}}" }") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/paymentlink/create") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" request.body = "{ "amount": "{{amount}}", "memo": "{{memo}}", "thank_you_url": "{{thank_you_url}}", "error_url": "{{error_url}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "fund_confirmation": "{{fund_confirmation}}", "basic_verification": "{{basic_verification}}", "is_bankauth": "{{is_bankauth}}", "signature_required": "{{signature_required}}", "submit_for_approval": "{{submit_for_approval}}" }" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/paymentlink/create' payload = "{ "amount": "{{amount}}", "memo": "{{memo}}", "thank_you_url": "{{thank_you_url}}", "error_url": "{{error_url}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "fund_confirmation": "{{fund_confirmation}}", "basic_verification": "{{basic_verification}}", "is_bankauth": "{{is_bankauth}}", "signature_required": "{{signature_required}}", "submit_for_approval": "{{submit_for_approval}}" }" headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('POST', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request POST https://sandbox.seamlesschex.com/v1/paymentlink/create \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \ --data '{ "amount": "{{amount}}", "memo": "{{memo}}", "thank_you_url": "{{thank_you_url}}", "error_url": "{{error_url}}", "recurring": "{{recurring}}", "recurring_cycle": "{{recurring_cycle}}", "recurring_start_date": "{{recurring_start_date}}", "recurring_installments": "{{recurring_installments}}", "fund_confirmation": "{{fund_confirmation}}", "basic_verification": "{{basic_verification}}", "is_bankauth": "{{is_bankauth}}", "signature_required": "{{signature_required}}", "submit_for_approval": "{{submit_for_approval}}" }'
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
*
string
It tells the server what type of data is actually sent.
|
Checkout_token
*
string
== 36 characters
Unique identifier for the Payment Link object.
|
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/paymentlink/checkout_token", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "DELETE", CURLOPT_HTTPHEADER => array( "Authorization: {{secretKey}}" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/paymentlink/checkout_token" method := "DELETE" payload := strings.NewReader("") client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/paymentlink/checkout_token") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Delete.new(url) request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/paymentlink/checkout_token' headers = { 'Authorization': '{{secretKey}}' } response = requests.request('DELETE', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request DELETE https://sandbox.seamlesschex.com/v1/paymentlink/checkout_token \ --header 'Authorization: {{secretKey}}' \ --data ''
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
limit
integer
between 1, 100
Default: 15.
A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 15 items. |
|
page
integer
number > 0
Default: 1.
A cursor to use for pagination. The result is divided into pages, the size of which is determined by the limit parameter. |
|
sort
string
enum: 'amount', 'memo', 'signature_enable', 'number_of_views', 'total_checks', 'created_at'
Default: 'created_at'.
The parameter is intended for sorting the results by a specific field. For example, you can sort by 'amount', 'memo', 'signature_enable', 'number_of_views', 'total_checks', 'created_at'. |
|
direction
string
enum: 'DESC', 'ASC'
Default: 'DESC'.
The parameter allows you to change the sorting direction 'ASC' or 'DESC'. |
|
search
string
The parameter allows you to search for bank auth payment links by 'memo', 'amount' or 'created_at' fields.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/bankauthpaymentlink/list?limit=15&page=1&sort=date&direction=DESC", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ) )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/bankauthpaymentlink/list?limit=15&page=1&sort=date&direction=DESC" method := "GET" client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/bankauthpaymentlink/list?limit=15&page=1&sort=date&direction=DESC") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/bankauthpaymentlink/list?limit=15&page=1&sort=date&direction=DESC' headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request GET https://sandbox.seamlesschex.com/v1/bankauthpaymentlink/list?limit=15&page=1&sort=date&direction=DESC \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \
Authorization
*
string
Authorization header containing your API key.
|
|
Content-Type
string
It tells the server what type of data is actually sent.
|
limit
integer
between 1, 100
Default: 15.
A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 15 items. |
|
page
integer
number > 0
Default: 1.
A cursor to use for pagination. The result is divided into pages, the size of which is determined by the limit parameter. |
|
sort
string
enum: 'amount', 'memo', 'signature_enable', 'number_of_views', 'total_checks', 'created_at'
Default: 'created_at'.
The parameter is intended for sorting the results by a specific field. For example, you can sort by 'amount', 'memo', 'signature_enable', 'number_of_views', 'total_checks', 'created_at'. |
|
direction
string
enum: 'DESC', 'ASC'
Default: 'DESC'.
The parameter allows you to change the sorting direction 'ASC' or 'DESC'. |
|
search
string
The parameter allows you to search for payment links by 'memo', 'amount' or 'created_at' fields.
|
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
|
|
||||
|
|
$curl = curl_init(); curl_setopt_array ($curl, array( CURLOPT_URL => "https://sandbox.seamlesschex.com/v1/paymentlink/list?limit=15&page=1&sort=date&direction=DESC", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "Authorization: {{secretKey}}" ) )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
package main import ( "fmt" "strings" "os" "path/filepath" "net/http" "io/ioutil" ) func main() { url := "https://sandbox.seamlesschex.com/v1/paymentlink/list?limit=15&page=1&sort=date&direction=DESC" method := "GET" client := &http.Client { CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) } req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", "{{secretKey}}") res, err := client.Do(req) defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
require "uri" require "net/http" url = URI("https://sandbox.seamlesschex.com/v1/paymentlink/list?limit=15&page=1&sort=date&direction=DESC") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["Content-Type"] = "application/json" request["Authorization"] = "{{secretKey}}" response = http.request(request) puts response.read_body
import requests url = 'https://sandbox.seamlesschex.com/v1/paymentlink/list?limit=15&page=1&sort=date&direction=DESC' headers = { 'Content-Type': 'application/json', 'Authorization': '{{secretKey}}' } response = requests.request('GET', url, headers = headers, data = payload, allow_redirects=False, timeout=undefined, allow_redirects=false) print(response.text)
curl --location --request GET https://sandbox.seamlesschex.com/v1/paymentlink/list?limit=15&page=1&sort=date&direction=DESC \ --header 'Content-Type: application/json' \ --header 'Authorization: {{secretKey}}' \