Credit Card
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/sale.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Sale API
This API is responsible for creating new payment transactions, and this API is compatible with both encrypted and plain credit card methods of transactions.
URL To Call: https://portal.tcbpay.com/apis/sale.php
Method of Form Submission: POST
Proxynization APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/proxynization_api.js
- Production:
https://portal.tcbpay.com/services/proxynization_api.js
Example:
<script type="text/javascript" src="https://[server-name]/services/proxynization_api.js"></script>
Example:
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
- 3)Design your payment form and insert a proxynization call within the form's submit action.
- 3.1)The first parameter can either be the value of the credit card number or the ID of the credit card number field. If the value of the parameter starts with a hashtag (#) symbol, the first parameter is assumed to be the ID of the credit card number field. If a hashtag is absent, the first parameter is assumed to be a credit card number.
- 3.2)The second parameter is the name of the callback function, which will be called when the proxynization call is completed.
Example:
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
This table describes the request parameters for Sale API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
card_token | Get a token during Add Card Vault API. If you use a card token, the credit card number, expiry month, and expiry year are not required. | C | XXXXXXXXXXXXXXXXXXXXXXXXX |
creditcard_number | Credit Card Number that is used to complete the sale. If you use a card token number, the credit card number is not required. | C | 4111111111111111 |
expire_month | Expiry Month of the Credit Card. This is not required if you use a card token number. | C | 06 |
expire_year | Expiry Year of the Credit Card. This is not required if you use a card token number. | C | 2025 |
cvv | CVV of the Credit Card. Change CVV requirement as optional/mandatory from merchant's account settings for all transactions. |
C | 123 |
use_secret_key | Set the secret key in the account setting to encrypt creditcard_number without using proxynization_api.js. Make sure to encrypt credit card numbers with AES 128-bit ECB cipher code. | N | Y or N (default value N) Y- encrypt creditcard_number using AES 128 bit ECB cipher mode encryption |
amount | Amount to be charged | Y | 133.24 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant boarding). | Y | USD,EUR,GBP,CAD,AUD,NZD,AED, DKK,MXN,SEK,CHF |
company_name | Company Name of the cardholder | N | - |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the cardholder | Y | 94085 |
phone_number | Phone Number of the cardholder | N | 408-345-2323 |
ship_address_as_bill_address | Billing address copy Shipping address | Y | Y or N (default value N) Y- Billing address copy to Shipping address N- Not copy |
ship_company_name | Shipping Company Name | N | - |
ship_first_name | Shipping First name | Y | Roberto |
ship_last_name | Shipping Last name | Y | Diaz |
ship_address | Shipping Address | N | 4446 Green Avenue, Suite 56 |
ship_city | Shipping City | N | Los Angeles |
ship_state | Shipping State | N | CA |
ship_country_code | Shipping Country (ISO alpha-2) | Y | US, CN |
ship_zip_code | Shipping Zip code | Y | 94085 |
ship_phone_number | Shipping Phone Number | N | 408-345-2323 |
Email ID of the cardholder | Y | test@test.com | |
email_receipt | Sends transaction details to specified cardholder email | N | Y or N (default value N) Y- Send email N- Not send |
emailReceiptDBAEmail | Email Receipt to Merchant DBA Contact Email | N | Y or N (default value N) Y- Send email N- Not send |
memo | Memo of the transaction | N | |
client_ip | Client IP address | N | 127.0.0.1 |
custom_field_1 | N | additional parameter 1 | |
custom_filed_2 | N | additional parameter 2 | |
source | C | source=SHOPIFY if using Shopify otherwise it is not required | |
3ds_redirect_url | Redirect to this URL after 3D-Secure authentication (To process transactions with 3DS, contact TCB Pay to enable 3DS and set 'Denied Payment Transaction' or 'Continue Payment Transaction' for non-3DS transactions). |
C | if using 3D-Secure then it is required otherwise it is not required. |
reference_id | Transaction reference id | N | Reference ID should be unique |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/sale.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="creditcard_number" id="creditcard_number" value="4111111111111111"/>
<input type="text" name="expire_month" value="06"/>
<input type="text" name="expire_year" value="2025"/>
<input type="text" name="cvv" value="123"/>
<input type="text" name="amount" value="14.5"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="client_ip" value="127.0.0.1"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
</form>
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"00","description":" Transaction Entry Success","transaction_id":102," total_amount":15.7," convenience_fee":1.2}}
Sample Response for 3D-Secure :
{"response":{"code":"00","description":"Transaction pending cardholder authentication","transaction_id":102,"redirect_url":"https://https://portal.tcbpay.com//challenge_request.php?uid=xxxxxxxxx"}}
Subscriber needs to redirect to redirect_url within 30 seconds.
After the 3DS challenge, the API response is redirected to 3ds_redirect_url, parameters are transaction_id, code, and description
Authorize API:
This API is responsible for performing pre-authorization payments, and this API is compatible with both encrypted and plain credit card methods of transactions.
URL To Call: https://portal.tcbpay.com/apis/authorize.php
Method of Form Submission: POST
Proxynization APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/proxynization_api.js
- Production:
https://portal.tcbpay.com/services/proxynization_api.js
Example:
<script type="text/javascript" src="https://[server-name]/services/proxynization_api.js"></script>
Example:
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
- 3)Design your payment form and insert a proxynization call within the form's submit action.
- 3.1)The first parameter can either be the value of the credit card number or the ID of the credit card number field. If the value of the parameter starts with a hashtag (#) symbol, the first parameter is assumed to be the ID of the credit card number field. If a hashtag is absent, the first parameter is assumed to be a credit card number.
- 3.2)The second parameter is the name of the callback function, which will be called when the proxynization call is completed.
Example:
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
This table describes the request parameters for Authorize API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
card_token | Get a token during Add Card Vault API. If you use a card token, the credit card number, expiry month, and expiry year are not required. | C | XXXXXXXXXXXXXXXXXXXXXXXXX |
creditcard_number | Credit Card Number that is used to complete the sale. If you use a card token number, the credit card number is not required. | C | 4111111111111111 |
expire_month | Expiry Month of the Credit Card. This is not required if you use a card token number. | C | 06 |
expire_year | Expiry Year of the Credit Card. This is not required if you use a card token number. | C | 2025 |
cvv | CVV of the Credit Card | Y | 123 |
amount | Amount to be charged | Y | 133.24 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant boarding). | Y | USD,EUR,GBP,CAD,AUD,NZD,AED, DKK,MXN,SEK,CHF |
company_name | Company Name of the cardholder | N | - |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the cardholder | Y | 94085 |
phone_number | Phone Number of the cardholder | N | 408-345-2323 |
ship_address_as_bill_address | Billing address copy Shipping address | Y | Y or N (default value N) Y- Billing address copy to Shipping address N- Not copy |
ship_company_name | Shipping Company Name | N | - |
ship_first_name | Shipping First name | Y | Roberto |
ship_last_name | Shipping Last name | Y | Diaz |
ship_address | Shipping Address | N | 4446 Green Avenue, Suite 56 |
ship_city | Shipping City | N | Los Angeles |
ship_state | Shipping State | N | CA |
ship_country_code | Shipping Country (ISO alpha-2) | Y | US, CN |
ship_zip_code | Shipping Zip code | Y | 94085 |
ship_phone_number | Shipping Phone Number | N | 408-345-2323 |
Email ID of the cardholder | Y | test@test.com | |
email_receipt | Sends transaction details to specified cardholder email | N | Y or N (default value N) Y- Send email N- Not send |
emailReceiptDBAEmail | Email Receipt to Merchant DBA Contact Email | N | Y or N (default value N) Y- Send email N- Not send |
memo | Memo of the transaction | N | |
client_ip | Client IP address | N | 127.0.0.1 |
reference_id | Transaction reference id | N | Reference ID should be unique |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/authorize.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="creditcard_number" id="creditcard_number" value="4111111111111111"/>
<input type="text" name="expire_month" value="06"/>
<input type="text" name="expire_year" value="2025"/>
<input type="text" name="cvv" value="123"/>
<input type="text" name="amount" value="14.5"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
</form>
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"01","description":" Merchant Information is Missing"}}
Capture API:
This API is responsible to capture an existing authorization transaction.
URL To Call: https://portal.tcbpay.com/apis/ capture.php
Method of Form Submission: POST
This table describes the request parameters for Capture API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
transaction_id | Unique transaction ID generated by the Gateway | Y | - |
amount | Amount to be charged, <= original transaction amount | Y | 133.24 |
email_receipt | Send transaction details to the specified email during authorization | N | Y or N (default value N) Y- Send email N- Not send |
Example:
<form name="" action="https://portal.tcbpay.com/apis/capture.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="transaction_id" value=""/>
<input type="text" name="amount" value="14.5"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"01","description":" Merchant Information is Missing"}}
Void API:
This API is responsible for canceling an existing transaction.
URL To Call: https://portal.tcbpay.com/apis/ void.php
Method of Form Submission: POST
This table describes the request parameters for Void API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
transaction_id | Unique transaction ID generated by the Gateway | Y | - |
email_receipt | Sends transaction details to specified email during authorization | N | Y or N (default value N) Y- Send email N- Not send |
Example:
<form name="" action="https://portal.tcbpay.com/apis/void.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="transaction_id" value=""/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code is always 00 for a successful API call.
Sample Response :
{"response":{"code":"01","description":" Merchant Information is Missing"}}
Refund API:
This API is responsible for refunding an existing successful transaction.
URL To Call: https://portal.tcbpay.com/apis/refund.php
Method of Form Submission: POST
This table describes the request parameters for Refund API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
transaction_id | Unique transaction ID generated by gateway | Y | - |
amount | Amount to be charged, <= original transaction amount | Y | 133.24 |
email_receipt | Send transaction details to the specified email during authorization | N | Y or N (default value N) Y- Send email N- Not send |
Example :
<form name="" action="https://portal.tcbpay.com/apis/refund.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="transaction_id" value=""/>
<input type="text" name="amount" value="14.5"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code is always 00 for a successful API call.
Sample Response :
{"response":{"code":"01","description":" Merchant Information is Missing"}}
Unreferenced Refund API
This API is responsible for creating new payment transactions, and this API is compatible with both encrypted and plain credit card methods of transactions.
URL To Call: https://portal.tcbpay.com/apis/unreference_refund.php
Method of Form Submission: POST
Proxynization APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/proxynization_api.js
- Production:
https://portal.tcbpay.com/services/proxynization_api.js
Example:
<script type="text/javascript" src="https://[server-name]/services/proxynization_api.js"></script>
Example:
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
- 3)Design your payment form and insert a proxynization call within the form's submit action.
- 3.1)The first parameter can either be the value of the credit card number or the ID of the credit card number field. If the value of the parameter starts with a hashtag (#) symbol, the first parameter is assumed to be the ID of the credit card number field. If a hashtag is absent, the first parameter is assumed to be a credit card number.
- 3.2)The second parameter is the name of the callback function, which will be called when the proxynization call is completed.
Example:
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
This table describes the request parameters for an Unreferenced Refund API
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
creditcard_number | Credit Card Number that is used to complete an Unreferenced Refund. This is not required if a card token number is used. | C | 4111111111111111 |
expire_month | Expiry Month of the Credit Card. This is not required if a card token number is used. | C | 06 |
expire_year | Expiry Year of the Credit Card. This is not required if a card token number is used. | C | 2025 |
use_secret_key | Set the secret key in the account setting to encrypt creditcard_number without using proxynization_api.js. Make sure to encrypt credit card numbers with AES 128-bit ECB cipher code. | N | Y or N (default value N) Y- encrypt creditcard_number using AES 128 bit ECB cipher mode encryption |
amount | Amount to be charged | Y | 133.24 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant boarding). | Y | USD,EUR,GBP,CAD,AUD,NZD,AED, DKK,MXN,SEK,CHF |
company_name | Company Name of the cardholder | N | - |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the cardholder | Y | 94085 |
phone_number | Phone Number of the cardholder | N | 408-345-2323 |
Email ID of the cardholder | Y | test@test.com | |
email_receipt | Sends transaction details to specified cardholder email | N | Y or N (default value N) Y- Send email N- Not send |
emailReceiptDBAEmail | Email Receipt to Merchant DBA Contact Email | N | Y or N (default value N) Y- Send email N- Not send |
client_ip | Client IP address | N | 127.0.0.1 |
custom_field_1 | N | additional parameter 1 | |
custom_filed_2 | N | additional parameter 2 |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/unreference_refund.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="creditcard_number" id="creditcard_number" value="4111111111111111"/>
<input type="text" name="expire_month" value="06"/>
<input type="text" name="expire_year" value="2025"/>
<input type="text" name="amount" value="4.5"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="client_ip" value="127.0.0.1"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
</form>
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code is always 00 for a successful API call.
Sample Response :
{"response":{"code":"00", "transaction_id":102, "amount":4.5, "description":" Your transaction is approved."}}
Apple Pay API
This API is responsible for creating new payment transactions using Apple Pay.
URL To Call: https://portal.tcbpay.com/apis/apple_sale.php
Method of Form Submission: POST
Integrating Apple Pay to your application is a three step process, first call the javascript, display the Apple Pay button and finally send the reponse to processing API. All the steps are described below.
Apple Pay APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/applePaySandbox.js
- Production:
https://portal.tcbpay.com//services/applePay.js
1)Include applePay.js script file. Please copy the following lines and paste them to your HTML page to enable the Apple Pay functionality within your application.
Example:
<script type="text/javascript" src="https://portal.tcbpay.com//services/applePay.js"></script>
Example:
/* CSS */
#applePay {
width: 150px;
height: 50px;
display: none;
border-radius: 5px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
background-image: -webkit-named-image(apple-pay-logo-white);
background-position: 50% 50%;
background-color: black;
background-size: 60%;
background-repeat: no-repeat;
}
/* HTML */
<button type="button" id="applePay" onclick="callPayment()"></button>
This table describes the request parameters for Apple pay js.
Parameter Name | Description | Required | Expected Values |
---|---|---|---|
app_key | This is MD5 of TCB Pay Gateway Username and 16 digit Secret key | Y | If Username is test and Secret key is abcdefgh12345678 app_key=MD5(testabcdefgh12345678) |
business_name | Display this name in Apple Pay window | Y | Test shop |
amount | Amount to be charged | Y | 100.00 |
currency | Currency of Transaction | Y | USD |
Example:
<script type="text/javascript" >
function callPayment()
{
var amount=document.getElementById("amount").value;
var currency=document.getElementById("currency").value;
var app_key="b0cf87c7e314af8638ce34732f1f7d24";
var business_name="Test shop";
TCBPayApplePay.paymentRequest(app_key,business_name,amount,currency);
}
TCBPayApplePay.paymentResponse=function(responseStatus,responseText){
if(responseStatus=="S")
{
document.getElementById('signature_token').value = responseText;
document.getElementById("formID").submit();
}else{
alert(responseText);
}
}
</script>
This table describes the request parameters for Apple Sale API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
signature_token | Get a token from TCBPayApplePay.paymentResponse | Y | {"identifyKey":"test","data":"test", "ephemeralPublicKey":"test","publicKeyHash":"test", "transactionId":"test","signature":"test", "version":"EC_v1","displayName":"MasterCard 1111", "network":"MasterCard","type":"credit"} |
company_name | Company Name of the cardholder | N | - |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the cardholder | Y | 94085 |
phone_number | Phone Number of the cardholder | N | 408-345-2323 |
Email ID of the cardholder | Y | test@test.com | |
email_receipt | Sends transaction details to specified cardholder email | N | Y or N (default value N) Y- Send email N- Not send |
emailReceiptDBAEmail | Email Receipt to Merchant DBA Contact Email | N | Y or N (default value N) Y- Send email N- Not send |
memo | Memo of the transaction | N | |
client_ip | Client IP address | N | 127.0.0.1 |
custom_field_1 | N | additional parameter 1 | |
custom_filed_2 | N | additional parameter 2 |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/apple_sale.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="signature_token" id="signature_token" value="{"identifyKey":"test","data":"test","ephemeralPublicKey":"test","publicKeyHash":"test","transactionId":"test","signature":"test","version":"EC_v1","displayName":"MasterCard 1111","network":"MasterCard","type":"credit"}"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="client_ip" value="127.0.0.1"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<button type="button" id="applePay" onclick="callPayment()"></button>
</form>
<script type="text/javascript" >
function callPayment()
{
var amount=document.getElementById("amount").value;
var currency=document.getElementById("currency").value;
var app_key="b0cf87c7e314af8638ce34732f1f7d24";
var business_name="Test shop";
TCBPayApplePay.paymentRequest(app_key,business_name,amount,currency);
}
TCBPayApplePay.paymentResponse=function(responseStatus,responseText){
if(responseStatus=="S")
{
document.getElementById('signature_token').value = responseText;
document.getElementById("formID").submit();
}else{
alert(responseText);
}
}
</script>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"00","description":" Transaction Entry Success","transaction_id":102," total_amount":15.7}}
Report API:
This API is responsible for generating transaction reports.
URL To Call: https://portal.tcbpay.com/apis/report.php
Method of Form Submission: POST
This table describes the request parameters for Report API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
start_date | From transaction date | Y | date format YYYY-MM-DD |
end_date | To transaction date | Y | date format YYYY-MM-DD |
transaction_type | Type of transaction | N | (default all transaction) SALE,AUTHORIZE,CAPTURE,REFUND,VOID,CREDIT |
transaction_status | Status of transaction | N | (default all transaction) SUCCESS,FAIL |
transaction_id | TCBPay ID of the transaction, If we need to know the details of a specific transaction | N | 100000000000001605 |
page_no | Page number of the entire result set. Each page has a maximum of 100 records listed | N | (default 1) can be upto total page number |
reference_id | Transaction reference id | N | Reference ID should be unique |
Example :
<form name="" action="https://portal.tcbpay.com/apis/report.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="start_date" value="2021-01-15"/>
<input type="text" name="end_date" value="2021-03-15"/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and array of transactions. The response code is always 00 for a successful API call.
Sample Response :
{
"response": {
"code": "00",
"description": "success",
"no_of_transactions": "450",
"total_pages": 5,
"current_page": "1",
"transactions": [
{
"transaction_id": "100000000000001605",
"parent_transaction_id": "",
"transaction_type": "SALE",
"transaction_source": "Moto",
"initiated_by": "System User",
"transaction_status": "SUCCESS",
"decline_reason": "",
"transaction_time": "2021-08-17 03:10:50",
"time_zone": "America/Caracas",
"gmt_time": "2021-08-17 07:10:50",
"card_type": "MASTERCARD",
"3d_secure_transaction": "NO",
"credit_card_number": "************2205",
"card_expiry_date": "12/2025",
"auth_response_code": "Success",
"avs_response_code": "Z",
"avs_response": "Not Matched",
"cvv_response_code": "M",
"cvv_response": "Matched",
"error_response": "Approved",
"currency": "USD",
"total_amount": "2",
"amount": "2",
"surcharge": "0",
"tax": "0",
"tip": "0",
"first_name": "Tanmoy",
"last_name": "Mondal",
"company_name": "",
"address_1": "802 E Frierson Ave",
"address_2": "",
"city": "TAMPA",
"state": "FL",
"zip_code": "33606",
"email": "tanumondal@gmail.com",
"phone_no": "",
"subscription_id": "",
"is_risk_hold": "NO",
"IP": "192.168.0.93"
"reference_id": ""
}
]
}
}
Response Codes:
Code | Description |
---|---|
01 | Username is missing or invalid |
02 | Credit Card is missing or invalid |
03 | Expiration Date is missing or invalid |
04 | First/Last Name is missing |
05 | Invalid Country Code |
06 | The proper cardholder Email ID is missing |
07 | Invalid Amount |
08 | Transaction Currency is missing |
09 | API Key is missing or invalid |
10 | Requested Currency is not allowed for this merchant |
11 | Couldn't process a transaction due to load balancer rules |
12 | The transaction ID is missing or invalid |
13 | Refund is not possible, the transaction has already been voided. |
14 | Refund is not possible, it exceeds Actual Amount |
15 | Capture is not possible |
16 | Void is not possible |
17 | Sale limit exceeded |
18 | Monthly limit exceeded |
19 | Transaction limit exceeded |
20 | IP/Transaction limit exceeded |
21 | Message contains words that have been identified as profanity and this message has been blocked due to company policy. Please try again. |
22 | IP Address is missing/invalid |
23 | Date is invalid date format |
24 | Transaction Type not valid |
25 | Transaction Status not valid |
26 | Potential duplicate transaction |
A1 | Transaction entry failed |
A2 | Transaction update failed |
P1 | Invalid page number |
UN | Unknown error, please contact an administrator |
F | Your transaction is declined |
00 | Transaction entry is successful |
Settlement API:
This API is responsible for generating settlement reports.
URL To Call: https://portal.tcbpay.com/apis/settlement_report.php
Method of Form Submission: POST
This table describes the request parameters for Settlement API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
start_date | From settlement date | Y | YYYY-MM-DD |
end_date | To settlement date | N | YYYY-MM-DD |
page_no | Page number of the entire result set. Each page has a maximum of 100 records listed | N | (default 1) can be upto total page number |
Example :
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<form name="" action="https://portal.tcbpay.com//apis/settlement_report.php"
method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="start_date" value="2023-02-01"/>
<input type="text" name="end_date" value="2023-06-21"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
Response:
The response of the API Call is a JSON array. For Error : two elements are returned, code and description. For Success elements are : code, description, no_of_settlements, total_pages, current_page and array of settlement details. The response code is always 00 for a successful API call.
Sample Response :
{
"response": {
"code": "00",
"description": "success",
"no_of_settlements": 1,
"total_pages": 1,
"current_page": 1,
"settlements": [
{
"settlement_date": "2023-06-18",
"billing_type": "Monthly",
"status": "Completed",
"currency": "USD",
"no_of_sale": "1",
"sale_amount": "2.50",
"no_of_capture": "0",
"capture_amount": "0.00",
"no_of_release_transaction": "0",
"risk_release_amount": "0.00",
"no_of_refund": "0",
"refund_amount": "0.00",
"no_of_credit": "0",
"credit_amount": "0.00",
"no_of_chargeback": "0",
"chargeback_amount": "0.00",
"fees": {
"setup_fee": "0.00",
"monthly_fee": "0.00",
"surcharge": "0.00",
"transaction_fee": "0.01",
"discount": "0.00",
"refund_fee": "0.00",
"chargeback_fee": "0.00",
"pci_fee": "0.00",
"statement_fee": "0.00",
"other_fees": "0.00"
}
}
]
}
}
Response Codes:
Code | Description |
---|---|
01 | Username is missing or invalid |
02 | Credit Card is missing or invalid |
03 | Expiration Date is missing or invalid |
04 | First/Last Name is missing |
05 | Invalid Country Code |
06 | The proper cardholder Email ID is missing |
07 | Invalid Amount |
08 | Transaction Currency is missing |
09 | API Key is missing or invalid |
10 | Requested Currency is not allowed for this merchant |
11 | Couldn't process a transaction due to load balancer rules |
12 | The transaction ID is missing or invalid |
13 | Refund is not possible, the transaction has already been voided. |
14 | Refund is not possible, it exceeds Actual Amount |
15 | Capture is not possible |
16 | Void is not possible |
17 | Sale limit exceeded |
18 | Monthly limit exceeded |
19 | Transaction limit exceeded |
20 | IP/Transaction limit exceeded |
21 | Message contains words that have been identified as profanity and this message has been blocked due to company policy. Please try again. |
22 | IP Address is missing/invalid |
23 | Date is invalid date format |
24 | Transaction Type not valid |
25 | Transaction Status not valid |
26 | Potential duplicate transaction |
A1 | Transaction entry failed |
A2 | Transaction update failed |
P1 | Invalid page number |
UN | Unknown error, please contact an administrator |
F | Your transaction is declined |
AVS | Cardholder name, address, and ZIP do not match |
3DSF | Your transaction is declined due to 3D secure Authentication failure |
00 | Transaction entry is successful |
Sandbox:
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/sale.php
Test Credit Card Details:
For Apple Pay, card details(except discover) can be found here.
Card Number | Type of use | CVV |
---|---|---|
4005510000000013 | Regular | 123 |
4111111111111111 | Regular | 111 |
4012001037141112 | Regular | 083 |
5111111111111111 | Regular | 123 |
4018810000190011 (success OTP: 0101 , fail OTP: 3333) | 3DS | 123 |
5204730000001011 (success OTP: 4445 , fail OTP: 9999) | 3DS | 123 |
Vault
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/sale.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Add Card API
This API is responsible to store Card information inside TCB Pay Vault
URL To Call: https://portal.tcbpay.com/apis/add-card-vault.php
Method of Form Submission: POST
Proxynization APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/proxynization_api.js
- Production:
https://gateway2.tcbpay.com/services/proxynization_api.js
Example:
<script type="text/javascript" src="https://[server-name]/services/proxynization_api.js"></script>
Example:
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
- 3)Design your payment form and insert a proxynization call within the form's submit action.
- 3.1)The first parameter can either be the value of the credit card number or the ID of the credit card number field. If the value of the parameter starts with a hashtag (#) symbol, the first parameter is assumed to be the ID of the credit card number field. If a hashtag is absent, the first parameter is assumed to be a credit card number.
- 3.2)The second parameter is the name of the callback function, which will be called when the proxynization call is completed.
Example:
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
This table describes the request parameters for Add Card API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
creditcard_number | Credit Card Number | Y | 4111111111111111 |
expiry_month | Expiry Month of the Credit Card | Y | 06 |
expiry_year | Expiry Year of the Credit Card | Y | 2025 |
card_holder_name | Card holder's name of the Credit Card | Y | Roberto Diaz |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/add-card-vault.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="creditcard_number" id="creditcard_number" value="4111111111111111"/>
<input type="text" name="expiry_month" value="06"/>
<input type="text" name="expiry_year" value="2025"/>
<input type="text" name="card_holder_name" value="Roberto Diaz"/>
<br/>
<input type="button" value="submit" onClick="TCBPayProxynizationAPI.process('#creditcard_number','tcbpayClientCallback');" />
</form>
<script type="text/javascript" >
function tcbpayClientCallback(responseCode, responseMessage, proxyNumber){
if(responseCode == "A01"){
document.getElementById('creditcard_number').value = proxyNumber;
document.getElementById("formID").submit();
} else{
alert(responseMessage);
return false;
}
}
</script>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description token. The response code is always 00 for a successful API call.
Sample Response :
{"response":{"code":"00","description":"Card is successfully added to vault","token":XXXXXXXXXXXXXXXXXXXXXXXXX}}
Card Details API:
This API is responsible to retrieve card details from Vault.
URL To Call: https://portal.tcbpay.com/apis/ get-card-details.php
Method of Form Submission: POST
This table describes the request parameters for Card Details API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
token | Unique token number, get it during creating a new card vault | Y | XXXXXXXXXXXXXXXXXXXXXXXXX |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/get-card-details.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="token" value="XXXXXXXXXXXXXXXXXXXXXXXXX"/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description details. The response code is always 00 for a successful API call.
Sample Response :
{ "response": { "code": "00", "description": "success", "details": { "token": "XXXXXXXXXXXXXXXXXXXXXXXXX", "card_holder_name": "Test card holder name", "creditcard_number": "400551******0013", "expiry_month": "06", "expiry_year": "2025" } } }
Delete Card API:
This API is responsible to delete secure card details from Vault.
URL To Call: https://portal.tcbpay.com/apis/ delete-card-vault.php
Method of Form Submission: POST
This table describes the request parameters for Delete Card API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
token | Unique token number, get it during creating a new card vault | Y | XXXXXXXXXXXXXXXXXXXXXXXXX |
Example:
<form name="" action="https://portal.tcbpay.com/apis/delete-card-vault.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="token" value=""/>
<br/>
<input type="submit" value="submit"/>
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description token. The response code is always 00 for a successful API call.
Sample Response :
{"response":{"code":"00","description":"Card Vault is successfully deleted","token":"XXXXXXXXXXXXXXXXXXXXXXXXX"}}
Sale API
This API is responsible for creating new payment transactions.
URL To Call: https://portal.tcbpay.com/apis/sale.php
Method of Form Submission: POST
This table describes the request parameters for Sale API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
card_token | Get a token during Add Card Vault API. | Y | XXXXXXXXXXXXXXXXXXXXXXXXX |
cvv | CVV of the Credit Card | Y | 123 |
amount | Amount to be charged | Y | 133.24 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant boarding). | Y | USD,EUR,GBP,CAD,AUD,NZD, AED,DKK,MXN,SEK,CHF |
company_name | Company Name of the customer | N | - |
first_name | First name of Account Holder | Y | Roberto |
last_name | Last name of Account Holder | Y | Diaz |
address | Address of the customer | N | 4446 Green Avenue, Suite 56 |
city | City of the customer | N | Los Angeles |
state | State of the customer | N | CA |
country_code | Country of the customer(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the customer | Y | 94085 |
phone_number | Phone Number of the customer | N | 408-345-2323 |
Email ID of the customer | Y | test@test.com | |
email_receipt | Send transaction details to a specified email | N | Y or N (default value N) Y- Send email N- Not send |
client_ip | Client IP address | N | 127.0.0.1 |
custom_field_1 | N | additional parameter 1 | |
custom_filed_2 | N | additional parameter 2 | |
source | C | source=SHOPIFY if using Shopify otherwise it is not required | |
reference_id | Transaction reference id | N | Reference ID should be unique |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/sale.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="card_token" id="card_token" value="XXXXXXXXXXXXXXXXXXXXXXXXX"/>
<input type="text" name="cvv" value="123"/>
<input type="text" name="amount" value="14.5"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="client_ip" value="127.0.0.1"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="button" value="submit" />
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description and transaction_id, total_amount, and convenience_fee. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"00","description":" Transaction Entry Success","transaction_id":102," total_amount":15.7," convenience_fee":1.2}}
Authorize API:
This API is responsible to perform pre-authorization payment
URL To Call: https://portal.tcbpay.com/apis/ authorize.php
Method of Form Submission: POST
This table describes the request parameters for Authorize API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
card_token | Get a token during Add Card Vault API. | C | XXXXXXXXXXXXXXXXXXXXXXXXX |
cvv | CVV of the Credit Card | Y | 123 |
amount | Amount to be charged | Y | 133.24 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant boarding). | Y | USD,EUR,GBP,CAD,AUD,NZD, AED,DKK,MXN,SEK,CHF |
company_name | Company Name of the customer | N | - |
first_name | First name of Account Holder | Y | Roberto |
last_name | Last name of Account Holder | Y | Diaz |
address | Address of the customer | N | 4446 Green Avenue, Suite 56 |
city | City of the customer | N | Los Angeles |
state | State of the customer | N | CA |
country_code | Country of the customer(ISO alpha-2) | Y | US, CN |
zip_code | Zip code of the customer | Y | 94085 |
phone_number | Phone Number of the customer | N | 408-345-2323 |
Email ID of the customer | Y | test@test.com | |
e-mail receipt | Send transaction details to a specified email | N | Y or N (default value N) Y- Send email N- Not send |
client_ip | Client IP address | N | 127.0.0.1 |
reference_id | Transaction reference id | N | Reference ID should be unique |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/authorize.php" method="post">
<input type="text" name="username" value=" tcbpayusername"/>
<input type="text" name="api_key" value=" tcbpayapikey"/>
<input type="text" name="card_token" id="card_token" value="XXXXXXXXXXXXXXXXXXXXXXXXX"/>
<input type="text" name="cvv" value="123"/>
<input type="text" name="amount" value="14.5"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="company_name" value="TCB Pay"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="country_code" value="US"/>
<input type="text" name="zip_code" value="11111"/>
<input type="text" name="phone_number" value="323-323-3223"/>
<input type="text" name="email" value="abcdef@mail.com"/>
<input type="checkbox" name="email_receipt" value="Y"/>
<br/>
<input type="button" value="submit" />
</form>
Response:
The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, three elements are returned, code, description, and transaction_id. The response code for a successful API call is always 00.
Sample Response :
{"response":{"code":"01","description":" Merchant Information is Missing"}}
Response Codes:
Code | Description |
---|---|
01 | Username is missing or invalid |
02 | Credit Card is missing or invalid |
03 | Expiry Month missing or invalid |
04 | Expiry Year missing or invalid |
05 | Expiry Date is invalid |
06 | CVV missing or invalid |
07 | Card holder's Name missing or Credit Card Number missing |
08 | Token Missing |
09 | API Key is missing or invalid |
21 | Message contains words that have been identified as profanity and this message has been blocked due to company policy. Please try again. |
23 | Token does not exist |
26 | Potential duplicate transaction |
UN | Unknown error, please contact an administrator |
F | Your transaction is declined |
00 | Transaction entry is successful |
Sandbox:
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/add-card-vault.php
Test Credit Card Details:
Card Number | CVV |
---|---|
4005510000000013 | 123 |
4111111111111111 | 111 |
4012001037141112 | 083 |
5111111111111111 | 123 |
ACH
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/sale.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Sale API
This API is responsible for creating new payment transactions, and this API is compatible with both encrypted and plain credit card methods of transactions.
URL To Call: https://portal.tcbpay.com/apis/ach_sale.php
Method of Form Submission: POST
This table describes the request parameters for Sale API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
currency | Currency of Transaction | Y | USD |
account_number | Account Number of the customer | Y | 201534353553 |
routing_number | Routing Number of the customer | Y | 124343435 |
amount | Amount of the check | Y | 133.24 |
account_type | Account Type of the customer | Y | CHECKING, SAVINGS |
first_name | First name of Account Holder | N | Roberto |
last_name | Last name of Account Holder | N | Diaz |
address | Address of the customer | N | 4446 Green Avenue, Suite 56 |
city | City of the customer | N | Los Angeles |
state | State of the customer | N | CA |
country_code | Country of the customer | N | US,CA (Follow Country List below) |
zip_code | Zip code of the customer | N | 94085 |
phone_number | Phone Number of the customer | N | 408-345-2323 |
Email ID of the customer | N | test@test.com | |
custom_field_1 | Custom value 1 | N | - |
custom_filed_2 | Custom value 2 | N | - |
custom_filed_3 | Custom value 3 | N | - |
Example:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TCB Pay ACH API Test</title>
</head>
<body>
<form name="" action="https://gateway2.tcbpay.com/apis/ach_sale.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="account_number" value="201534"/>
<input type="text" name="routing_number" value="124343435"/>
<input type="text" name="amount" value="133.24"/>
<input type="text" name="account_type" value="personal"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="zip_code" value="94085"/>
<input type="text" name="country_code" value="209"/>
<input type="text" name="email" value="test@test.com"/>
<input type="text" name="phone_number" value="408-345-2323"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
Response:
The response Type of the API Call is a JSON array. For Error, Elements are error_code and error_ description, and for Successful transactions, Two Elements are returned. success_code, success_description. success_code is always 00.
Sample Response :
{"response":{"code":"03","description":"Account Number is Missing or Invalid"}}
Report API:
This API is responsible for generating transaction reports.
URL To Call: https://portal.tcbpay.com/apis/ach_report.php
Method of Form Submission: POST
This table describes the request parameters for Report API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
start_date | From date | Y | YYYY-MM-DD |
end_date | To date | Y | YYYY-MM-DD |
transaction_id | TCBPay ID of the transaction, If we need to know the details of a specific transaction | N | 7518 |
page_no | Page number of the entire result set. Each page has a maximum of 100 records listed | N | (default 1) can be upto total page number |
Example :
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TCB Pay ACH API Report Test</title>
</head>
<body>
<form name="" action="https://gateway2.tcbpay.com/apis/ach_report.php"
method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="start_date" value="2019-04-01"/>
<input type="text" name="end_date" value="2019-04-15"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
Response:
The response Type of the API Call is a JSON array. For Error, Elements are code and description, and for Successful transactions, Two Elements are returned. success_code, transaction array. code is always 00.
Sample Response :
{
"response": {
"code": "00",
"no_of_transactions": "330",
"total_pages": 4,
"current_page": "1",
"transaction": {
"id": {
"7518": {
"first_name": "john",
"last_name": "Doe",
"country": "United States",
"address": "777 Brockton Avenue",
"city": "Abington",
"state": "MA",
"zip": "02351",
"phone_number": "055 5555 6666",
"account_number": "XXXXXXX1234",
"routing_number": "XXXXXXX1234",
"check_number": "",
"bank_name": "",
"account_type": "CHECKING",
"amount": "5",
"currency": "USD",
"custom_field_1": "",
"custom_field_2": "",
"custom_field_3": "",
"transaction_date": "2022-12-30 07:42:13",
"status": "Decline",
"decline_reason_code": "",
"client_ip": "103.94.84.164",
"initiated_by": "System User"
}
}
}
}
}
Error Codes:
Error Code | Description |
---|---|
01 | Merchant Information is Missing |
02 | Transaction Currency is missing |
03 | Account Number is missing or Invalid |
04 | Routing Number is missing or invalid |
05 | Check Number is missing or invalid |
06 | Invalid Amount |
07 | Account Type is Missing |
08 | Proper Zip code is missing |
09 | Proper Customer Email Id is missing |
10 | Invalid Processor |
11 | Requested Currency is not allowed for this merchant |
12 | Invalid Merchant Information |
13 | Invalid Country Code |
14 | Sale Volume exceeded for this Merchant |
15 | Monthly Volume exceeded for this Merchant |
16 | Transaction limit exceeded for this Merchant |
17 | IP-wise transaction limit exceeded for this Merchant |
18 | Bank Name is missing |
19 | Transaction Start Date is missing or invalid |
20 | Transaction End Date is missing or invalid |
P1 | Invalid page number |
A1 | Transaction entry failed |
Country List:
Country Code | Country Name |
---|---|
US | United States |
CA | Canada |
Currency List:
Currency Code | Currency Name |
---|---|
USD | United States Dollar |
Response Codes:
Code | Description |
---|---|
01 | Merchant Information is Missing |
02 | Transaction Currency is missing |
03 | Account Number is missing or Invalid |
04 | Routing Number is missing or invalid |
05 | Check Number is missing or invalid |
06 | Invalid Amount |
07 | Account Type is Missing |
08 | Proper Zip code is missing |
09 | Proper Customer Email Id is missing |
10 | Invalid Processor |
11 | Requested Currency is not allowed for this merchant |
12 | Invalid Merchant Information |
13 | Invalid Country Code |
14 | Sale Volume exceeded for this Merchant |
15 | Monthly Volume exceeded for this Merchant |
16 | Transaction limit exceeded for this Merchant |
17 | IP-wise transaction limit exceeded for this Merchant |
18 | Bank Name is missing |
19 | Transaction Start Date is missing or invalid |
20 | Transaction End Date is missing or invalid |
P1 | Invalid page number |
A1 | Transaction entry failed |
Alternative Payment
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/banktransactions.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Payment API
This API is responsible for a payment request to generate a request token.
URL To Call: https://portal.tcbpay.com/apis/banktransactions.php
Method of Form Submission: POST
This table describes the request parameters for Payment API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
currency | Currency of Transaction | Y | USD |
amount | Amount of the check | Y | 4.00 |
first_name | First name of Account Holder | N | Roberto |
last_name | Last name of Account Holder | N | Diaz |
address | Address of the customer | N | 4446 Green Avenue, Suite 56 |
phone_number | Phone Number of the customer | N | 408-345-2323 |
Email ID of the customer | N | test@test.com | |
order_id | Order ID of the customer | N | 1234 |
return_url | After the payment transaction user is redirected to this URL | Y | URL |
callback_url | URL to receive transaction details (like code, status, bank_name, transaction_id, order_id). | N | URL |
Example:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TCB Pay Alternative Payment API Test</title>
</head>
<body>
<form name="" action="https://gateway2.tcbpay.com/apis/banktransactions.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="amount" value="4.00"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="phone_number" value="408-345-2323"/>
<input type="text" name="email" value="test@test.com"/>
<input type="text" name="order_id" value="1234"/>
<input type="text" name="return_url" value="https://xyz.com/yourpage"/>
<input type="text" name="callback_url" value="https://abc.com/yourpage"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
Response:
The response Type of the API Call is a JSON array. For Error, Elements are code and message, and for Successful token creation, Three Elements are returned code, message, redirect_url. code is always 00. We can copy and paste this redirect_url link to another tab or browser for a final payment transaction.
Sample Response :
{"code":"00","message":"SUCCESS","redirect_url":"https://gateway2-stg.tcbpay.com/apis/bank_payment.php?id=xxxxxxxxxxxxxxxxxxxx"}
Payment report API:
This API is responsible to fetch payment details.
URL To Call: https://portal.tcbpay.com/apis/bankaccount_report.php
Method of Form Submission: POST
This table describes the request parameters for the Payment report API
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
start_date | Start Date of the transaction (Start Date or End Date or Transaction ID) | Y | YYYY-MM-DD |
end_date | End Date of transaction (Start Date aor End Date or Transaction ID) | Y | YYYY-MM-DD |
transaction_id | Unique transaction ID generated by the Gateway (Start Date or End Date or Transaction ID) | Y | 1234 |
page_no | Page number of the entire result set. Each page has a maximum of 100 records listed | N | (default 1) can be upto total page number |
Example :
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TCB Pay ACH API Report Test</title>
</head>
<body>
<form name="" action="https://gateway2.tcbpay.com/apis/bankaccount_report.php"
method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="start_date" value="2019-04-01"/>
<input type="text" name="end_date" value="2019-04-15"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
Response:
The response Type of the API Call is a JSON array. For Error, Elements are code and error_description, and for Successful transactions, Three Elements are returned. code, description, transaction array. code is always 00
Sample Response :
{
"response": {
"code": "00",
"description": "success",
"no_of_transactions": "105",
"total_pages": 2,
"current_page": "1",
"transactions": [
{
"transaction_id": "191",
"order_id": "199",
"transaction_status": "FAIL",
"transaction_type": "SALE",
"gmt_time": "2022-12-30 00:13:32",
"firstname": "john",
"lastname": "doe",
"email": "johndoe@testmail.com",
"phone": null,
"currency": "USD",
"amount": "5.25",
"time_zone": "America/Los_Angeles"
}
]
}
}
Error Codes:
Error Code | Description |
---|---|
01 | Username is missing or invalid |
09 | API Key is missing or invalid |
23 | Either enter Start Date and End Date or Transaction ID |
Sandbox:
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/banktransactions.php
Note:
You will get a redirect URL after calling this API. Then redirect to that URL and continue the payment process. Bank name: Bank of America User ID: thansen59 Password and OTP: Any string value
Merchant Onboarding
Sandbox endpoint URL: https://app-dev.tcbpay.com/api/{method}
Example: https://app-dev.tcbpay.com/api/onboarding
Production endpoint URL: https://app.tcbpay.com/api/{method}
Onboarding API
This API is responsible for creating new applications.
URL To Call: https://app.tcbpay.com/api/onboarding
Method of Form Submission: POST
This table describes the request parameters for Onboarding API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | Merchant App Username | Y | Merchant App Username |
password | Merchant App Password | Y | Merchant App Password |
mcc_code | SIC Code / MCC Code (Sub-Merchant Category Code) | Y | 1711 |
source_code | From Where you get to Know about Merchant App | Y | For Friend/ Colleague use friend_colleague, For Search Engine use search_engine, For Social Media use social_media, For Other use other |
source_msg | If anyone selects "Friend/ Colleague" OR "Other" then this one is required | C | John Paul/ From Any Other Site |
country_code | Country of the customer(ISO 3) | Y | USA,AIA,IND,CAN |
promo_code | Promotional code | N | Example : HOLIDAY22, WELCOME23 |
principal_name | Principal Name | Y | John Paul |
principal_title | Principal Title | Y | Mr, CEO, MD |
bank_disclousure_date | Merchant Date | Y | YYYY-MM-DD |
first_gurrantor_name | Principal #1 | Y | John Paul |
first_gurrantor_title | Principal Title #1 | Y | 1 : Owner, 2 : Co-owner, 3 : President, 4 : Chairman, 5 : Comptroller, 6 : Partner, 7 : General Manager, 8 : Treasurer, 9 : Vice President, 10 : Director, 11 : CEO, 12 : Controller, 14 : CFO, 15 : Office Manager |
first_gurrantor_date | Date #1 | Y | YYYY-MM-DD |
second_gurrantor_name | Principal #2 | N | John Paul |
second_gurrantor_title | Principal Title #2 | N | CEO |
second_gurrantor_date | Date #2 | N | YYYY-MM-DD |
mbi_legal_name | Business Legal Name | Y | ABCDEFGH |
business_type | Type of Business Owning | Y | 8 : Auto Rental, 9 : E-Commerce, 10 : Lodging, 11 : Moto, 12 : Restaurant, 13 : Retail |
started_date | Business Start Date | Y | YYYY-MM-DD |
ein_no | EIN ID | Y | 654897123 (Should have 9 digits) |
irs_tax_name | Irs Tax Name | Y | IRS Tax Name |
state_filling | State of Filing | Y | MA |
business_website | Business Website | Y | Website URL of the Business (without http or https) |
ownership_type | Ownership Type | Y | "PublicCorporation", "PrivateCorporation", "SECRegulatedCorporation", "Government", "SoleProprietorship", "LLC", "Partnership", "NonProfit", "FinancialInstitution", "Trust" |
mbi_address | Address line 1 | Y | Legal address |
mbi_address2 | Address line 2 | N | Address line 2 if any |
mbi_city | City | Y | City name |
mbi_state | State name | Y | State name |
mbi_zip_code | Zip code | Y | Zip code |
mbi_corporate_telephone1 | Business Phone Number | Y | Business Phone Number |
mbi_support_line1 | Customer Service Phone Number | Y | |
method_of_contact | Method of contact | Y | Phone/Email (Phone or Email) |
contact_hours_from | Contact timming | Y | Morning/Afternoon/Evening (any 1 of this) |
time_zone | Contact timezone | Y | AKST/CST/EST/HST/MST/PST |
commu_opt_out | Want to otp-out communication? | N | By default N : No |
dba_name | DBA Name | Y | ABCDEFGH |
phone | Phone Number | Y | 1234567890 |
address | DBA Address 1 | Y | 777 Brockton Avenue |
address1 | DBA Address 2 | N | Brockton |
city | City | Y | Abington |
state | State | Y | MA |
zip_code | Zip Code | Y | 02351 |
mail_monthly_merchant_to | Mail Monthly merchant to | N | L-legal,D-dba |
routing_no | Bank Routing Number | Y | 546435745 |
account_no | Bank Account Number | Y | 123456789456123 |
is_banking_matches | Name on account matches? (DBA / Legal) | Y | use D for DBA or L for Legal |
is_split_banking | Is split banking | Y | Y: Yes, N: No |
deposit_account_no | Deposit account number | N | required in case split banking having Y value |
deposit_routing_no | Deposit routing number | N | required in case split banking having Y value |
deposit_is_banking_matches | Name on account matches? (DBA / Legal) | N | required in case split banking having Y value. Use value D for DBA or L for Legal |
swipe_per | Swipe Percentage | Y | If a CNP submission as per MCC selection, default swiped to 0 |
eco_per | Eco Percentage | Y | -- |
moto_per | Moto Percentage | Y | -- |
visa_mc_discover_monthly_volume | VISA/DISC./MASTERCARD Monthly Volume $ | Y | 5000 |
visa_mc_discover_avg_ticket | VISA/DISC./MASTERCARD Average Ticket $ | Y | 5000 |
visa_mc_discover_high_ticket | VISA/DISC./MASTERCARD High Ticket $ | Y | 10000000 |
visa_mc_discover_minimum_ticket | VISA/DISC./MASTERCARD Minimum Ticket $ | N | 1000 |
amex_monthly_volume | AMEX Monthly Volume $ | Y | 5000 |
amex_avg_ticket | AMEX Average Ticket $ | Y | 100000 |
amex_high_ticket | AMEX High Ticket $ | N | 1000 |
amex_minimum_ticket | Minimum Ticket $ | N | 500 |
card_charge_delay_id | How many days until the card holder receives the product or service from when the card is charged? |
Y | 1 For Same Day, 2 for 1-5 Days, 3 for 6-15 days, 4 for 16-30 days, 5 for over Over 30 Days |
attributes | Accepted card attributes | C | Discover Attribute 1 (mandatory) name - Acquired value - Yes or No Attribute 2 (Include if and only if Acquired = No) name - AccountNumber value - the account number associated with the card AmericanExpress Attribute 1 (mandatory) name - AmexProgram values - ESA or OptBlue Attribute 2 (Include if and only if AmexProgram = ESA) name - AccountNumber value - the account number associated with the card Attribute 3 (Optionally included if AmexProgram = OptBlue. Defaults to No.) name - ReceiveOptBlueMarketing value - Yes or No |
type | Owner Type | C |
If the ownership type is sole proprietorship: 1. Beneficial Owner1 with firstName, lastName, addressLine1, city, state, country, postalCode, and DOB are mandatory. 2. Other owner attributes are optional. (NOTE: We need to collect dob and SSN (as FederalTaxId) for underwriting the sub-merchant, even though sole proprietorship is exempt.) 3. No other ownership type can be added. 4. A sole proprietorship's sole owner cannot be deleted. or If the ownership type is LLC or Partnership or PrivateCorporation or NonProfit: 1. Control Owner information is Required 2. Beneficial Owner information is Required. When provided, firstName, lastName, addressLine1, city, state, country, and postalCode are mandatory. 2. Beneficial Owner SSN, DOB, and other attributes are optional. 3. They can add up to 10 additional Beneficial Owners (in addition to Control Owner). When provided, firstName, lastName, addressLine1, city, state, country, and postcalCode are mandatory. "ControlOwner", "BeneficialOwner1", "BeneficialOwner2", "BeneficialOwner3", "BeneficialOwner4", "BeneficialOwner5", "BeneficialOwner6", "BeneficialOwner7", "BeneficialOwner8", "BeneficialOwner9", "BeneficialOwner10"or: 1. Control Owner information is optional. When provided, firstName, lastName, addressLine1, city, state, country, and postalCode are mandatory. 2. Control Owner SSN, DOB, and other attributes are optional. 3. They can add up to 10 additional Beneficial Owners (in addition to Control Owner). When provided, firstName, lastName, addressLine1, city, state, country, and postcalCode are mandatory. "ControlOwner", "BeneficialOwner1", "BeneficialOwner2", "BeneficialOwner3", "BeneficialOwner4", "BeneficialOwner5", "BeneficialOwner6", "BeneficialOwner7", "BeneficialOwner8", "BeneficialOwner9", "BeneficialOwner10" |
title | Owner Title | Y | Owner, Co-owner, President, Legal Contact, Secretary/Treasurer, Partner, General Manager, Administrator, Vice President, Director, CEO, Corporate Office Title, Principal, CFO, COO |
Email ID | Y | 1234@gmail.com | |
first_name | First Name | Y | John |
middle_initial | Middle Initial | N | Doe |
last_name | Last Name | Y | Paul |
date_of_birth | Birth Date | Y | YYYY-MM-DD |
street_number | Street Number | N | 777 |
address | Address Line 1 | Y | 777 Brockton Avenue |
address1 | Address Line 2 | N | Brockton |
city | City | Y | Abington |
state | State | Y | MA |
zip_code | Zip Code | Y | 02351 |
postal_code_extension | Postal Code Extention | N | |
home_telephone | Home Telephone Number | Y | 1234567890 |
home_telephone_ext | Home Telephone Number Extention | N | 1234567890 |
fax_number | FAX Number | N | 1234567890 |
driving_license_no | Driver Licence (DL) No. | Y | 786fg6587g |
driving_license_state | DL issued state | N | NV |
driving_license_expiration_date | DL expiration date | N | 10-19-2018 |
driving_license_issued_city | DL issued city | N | Chicago |
driving_license_issued_country | DL issued country | N | |
driving_license_date_issued | DL date issued | N | 10-19-2018 |
ssn | SSN Number | Y | ASN1234560 |
has_significant_managerial_control | Has significant managerial control | N | Yes, No |
pci_store_credit_card | Is credit card details are stored as per PCI | N | Y: Yes, N: No |
pci_third_party_detail_processor_detail | PCI third-party detail processor detail | N | |
pci_third_party_detail_processor_version | PCI third-party detail processor version | N | |
payment_terminal | Payment Terminal | Y | stand_alone, mobile_terminal, gateway (value can be any 1 of this) |
quantity | # of Terminals requested | Y | if payment_terminal value is stand_alone, mobile_terminal then it is required |
billing_duration_id | What's the billing duration requested? | Y | 1 for daily, 2 for monthly |
is_next_day_funding_requested | Next day funding requested? | Y | Y: Yes, N: No |
Click here to download MCC Table
The table describes the Source.
Source Details | Source Code |
---|---|
Friend/ Colleague | friend_colleague |
Search Engine | search_engine |
Social Media | social_media |
Other | other |
HEADER PARAMETERS:
Content-Type: application/json
REQUEST BODY SCHEMA:
application/json
Example:
{
"username":"APP_USERNAME",
"password":"APP_PASSWORD",
"general": {
"country_code":"USA",
"mcc_code":"1711",
"source_code":"social_media",
"source_msg":"",
"promo_code":""
},
"bankDisclosure": {
"principal_name":"John Doe",
"principal_title":"CEO",
"bank_disclousure_date":"2021-10-10"
},
"disclosure": {
"first_gurrantor_name":"John Doe",
"first_gurrantor_title":"MR",
"first_gurrantor_date":"2021-10-07",
"second_gurrantor_name":"John Paul",
"second_gurrantor_title":"MR",
"second_gurrantor_date":"2021-10-07"
},
"businessInfo": {
"mbi_legal_name":"12th may test",
"business_type": "8",
"started_date": "2023-04-05",
"ein_no": "123445589",
"irs_tax_name":"test",
"state_filling":"CA",
"business_website":"google.com",
"ownership_type":"Trust"
},
"legalAddress": {
"mbi_address":"kolkata",
"mbi_address1":"",
"mbi_city":"aru",
"mbi_state":"LA",
"mbi_zip_code":"12345",
"dba_location_telephone1":"3456781234",
"mbi_support_line1":"5445456765",
"mbi_mailing_address":"business@gmail.com",
"shipping_method":"Y",
"mbi_contact_full_name":"",
"mbi_contact_full_title":"",
"mbi_corporate_telephone1":"",
"mbi_business_email":"",
"method_of_contact":[
"Phone"
],
"contact_hours_from":"Afternoon",
"time_zone":"CST",
"commu_opt_out":"Y"
},
"dbaInfo": {
"dba_name":"test dba 18thNov 8",
"phone":"5555556666",
"address":"Brockton Avenue",
"address1":"",
"city":"Abington",
"state":"MA",
"zip_code":"02351",
"mail_monthly_merchant_to":"L"
},
"bankAccount": {
"account_no":"123456789456123",
"routing_no":"021000021",
"is_banking_matches":"D",
"is_split_banking":"Y",
"deposit_account_no":"456564564564577",
"deposit_routing_no":"021000021",
"deposit_is_banking_matches":"D"
},
"owners": [
{
"type":"BeneficialOwner1",
"title":"Owner",
"ownership_per":"50",
"has_significant_managerial_control":1,
"first_name":"Subrata",
"last_name":"Roy",
"email":"ownermail@mailserver.com",
"home_telephone":"5555556666",
"driving_licence_no":"786fg6587g",
"driving_licence_state":"MA",
"driving_licence_expiration_date":"2028-10-19",
"driving_licence_issued_city":"",
"driving_licence_issued_country":"",
"driving_licence_date_issued":"2018-10-19",
"ssn":"999999999",
"date_of_birth":"2000-10-19",
"address":"Brockton Avenue",
"address1":"",
"city":"Abington",
"state":"MA",
"zip_code":"02351"
},
{
"type":"BeneficialOwner2",
"title":"Co-Owner",
"ownership_per":"50",
"has_significant_managerial_control":1,
"first_name":"Subrata",
"last_name":"Roy",
"email":"sownermail@mailserver.com",
"home_telephone":"5555556666",
"driving_licence_no":"786fg6587g",
"driving_licence_state":"MA",
"driving_licence_expiration_date":"2028-10-19",
"driving_licence_issued_city":"",
"driving_licence_issued_country":"",
"driving_licence_date_issued":"2018-10-19",
"ssn":"999999999",
"date_of_birth":"2000-10-19",
"address":"Brockton Avenue",
"address1":"",
"city":"Abington",
"state":"MA",
"zip_code":"02351"
}
],
"salesProfile": {
"swipe_per":"60",
"eco_per":"0",
"moto_per":"40",
"visa_mc_discover_monthly_volume":"5000",
"visa_mc_discover_avg_ticket":"10000",
"visa_mc_discover_minimum_ticket":"1000",
"visa_mc_discover_high_ticket":"10000000",
"amex_monthly_volume":"5000",
"amex_avg_ticket":"10000",
"amex_minimum_ticket":"1000",
"amex_high_ticket":"1000",
"card_charge_delay_id":"100",
"acceptedCard": [
{
"type": "MasterCard"
},
{
"type": "Visa"
},
{
"type": "Discover",
"attributes": [
{
"name": "Acquired",
"value": "Yes"
}
]
},
{
"type": "AmericanExpress",
"attributes": [
{
"name": "AmexProgram",
"value": "ESA"
},
{
"name": "AccountNumber",
"value": "123456789"
}
]
}
]
},
"paymentsApplicationCompliance": {
"pci_store_credit_card":"Y",
"pci_third_party_detail_processor_detail":"",
"pci_third_party_detail_processor_version":""
},
"paymentTerminal": [
{
"payment_terminal":"stand_alone",
"quantity":"2",
"price":"rent"
},
{
"payment_terminal":"mobile_terminal",
"quantity":"2",
"price":"purchase"
},
{
"payment_terminal":"gateway"
}
],
"schedulea": {
"billing_duration_id":"2",
"is_next_day_funding_requested":"Y"
}
}
Response:
The response of the API Call is a JSON array. For Error, Two elements are returned. They are code and msg. For Successful transactions, three elements are returned. They are code, msg, and application_id. The response code is always 00 for a successful API call.
Sample Response :
{"response":{ "application_id": "XXXXXXXXXXXXXXXX", "msg": "Successfull", "code": "00" }
Success Code: 00
Success Message: Successfull
File Upload
This API will Upload Files.
URL To Call: https://app.tcbpay.com/api/onboardingFileUpload
Method of Form Submission: POST
This table describes the request parameters for File Upload.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | Merchant App Username | Y | Merchant App Username |
password | Merchant App Password | Y | Merchant App Password |
application_id | The Application ID from Onboarding | Y | XXXXXXXXXXXXXX |
document_file | The uploaded document file | Y | File extension must be jpg/jpeg/gif/png/pdf |
document_type | The type of document needs to upload | Y | Drivers License or Other Documents |
Example:
<form action="https://app.tcbpay.com/api/onboardingFileUpload" method="post" enctype="multipart/form-data">
<input type="text" name="username" value="merchant username"/>
<input type="text" name="password" value="merchant password"/>
<input type="text" name="application_id" value="XXXXXXXXXX"/>
<input type="file" name="document_file" />
<input type="text" name="document_type" value="Drivers License"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "msg": "success", "code": "00" }
Success Code: 00
Success Message: success
Submit Application
This API will Submit The Application.
URL To Call: https://app.tcbpay.com/api/onboardingSubmit
Method of Form Submission: POST
The table describes the request parameters to perform this API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | Merchant App Username | Y | Merchant App Username |
password | Merchant App Password | Y | Merchant App Password |
application_id | The Application ID from Onboarding | Y | XXXXXXXXXXXXXX |
Example:
<form action="https://app.tcbpay.com/api/onboardingSubmit" method="post" >
<input type="text" name="username" value="merchant username"/>
<input type="text" name="password" value="merchant password"/>
<input type="text" name="application_id" value="XXXXXXXXXX"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "msg": "Application Submitted successfully", "code": "00" }
Success Code: 00
Success Message: Application Submitted successfully
Status of Application
This API is resposible to provide the status of one or more applications.
URL To Call: https://app.tcbpay.com/api/onboardingStatus
Method of Form Submission: POST
This table describes the request parameters for this API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | Merchant App Username | Y | Merchant App Username |
password | Merchant App Password | Y | Merchant App Password |
application_id | The Application ID from Onboarding | N | XXXXXXXXXXXXXX |
REQUEST BODY SCHEMA:
Example:
<form action="https://app.tcbpay.com/api/onboardingStatus" method="post">
<input type="text" name="username" value="merchant username"/>
<input type="text" name="password" value="merchant password"/>
<input type="text" name="application_id" value="XXXXXXXXXX"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{ "msg": "Success", "code": "00", "applications": [ { "Application_id": "XXXXXXXXXX", "Submit_date": "2018-07-09 10:20:00", "status_of_the_application": "Declined", "IP_of_the_submitter": "122.176.66.142", "custom_field_1": "", "custom_field_2": "", "custom_field_3": "", "Reviewer_comments": null }, { "Application_id": "YYYYYYYYYY", "Submit_date": "2018-07-12 14:02:18", "status_of_the_application": "Application Sent for Review", "IP_of_the_submitter": "202.142.96.243", "custom_field_1": "", "custom_field_2": "", "custom_field_3": "", "Reviewer_comments": null } ] }
Response Codes:
Code | Description |
---|---|
00 | Success |
01 | Username or password is missing or invalid |
02 | Application ID is invalid |
Subscriptions
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/add_plan.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Add Plan API:
This API is responsible for creating new plan.
URL To Call: https://portal.tcbpay.com/apis/add_plan.php
Method of Form Submission: POST
The table describes the request parameters for Add Plan API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_name | The Plan Name | Y | Plan Name |
period_type | Period Type | Y | WEEKLY, FORTNIGHTLY, MONTHLY, QUARTERLY, YEARLY |
amount | Amount to be charged | Y | 115.45 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant onboarding). | Y | USD, EUR, GBP, CAD, AUD, NZD, AED, DKK, MXN, SEK, CHF |
no_of_charge | No of times to charge | Y | No of charge should be greater than 0 |
Example:
<form action="https://portal.tcbpay.com/apis/add_plan.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_name" value="planname"/>
<input type="text" name="period_type" value="WEEKLY"/>
<input type="text" name="amount" value="115.45"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="no_of_charge" value="2"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "description": "Plan is successfully created", "code": "00" }
Update Plan API:
This API is responsible to update existing subscription plan.
URL To Call: https://portal.tcbpay.com/apis/update_plan.php
Method of Form Submission: POST
The table describes the request parameters for Update Plan API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_id | Plan ID | Y | Existing Plan ID |
plan_name | Plan Name | Y | Plan Name |
amount | Amount to be charged | Y | 115.45 |
currency | Currency of Transaction (allowed currencies will be determined during the time of merchant onboarding). | Y | USD, EUR, GBP, CAD, AUD, NZD, AED, DKK, MXN, SEK, CHF |
no_of_charge | No of times to charge | Y | No of charge should be greater than 0 |
Example:
<form action="https://portal.tcbpay.com/apis/update_plan.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_id" value="existingplanid"/>
<input type="text" name="plan_name" value="plan name"/>
<input type="text" name="amount" value="115.45"/>
<input type="text" name="currency" value="USD"/>
<input type="text" name="no_of_charge" value="2"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "description": "Plan is successfully Updated", "code": "00" }
Plan List API:
This API is responsible for show plan details.
URL To Call: https://portal.tcbpay.com/apis/list_plan.php
Method of Form Submission: POST
The table describes the request parameters for List Plan API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_id | Plan ID | N | Specify an existing plan id, to view specific plan details |
Example:
<form action="https://portal.tcbpay.com/apis/list_plan.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_id" value=""/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{"code":"00","description":"Success","list":[{"plan_id":47,"plan_name":"SMTEST12","period_type":"FORTNIGHTLY","amount":"6.18","currency":"USD","no_of_charge":0}]}}
Delete Plan API:
This API is responsible for to delete a subscription plan.
URL To Call: https://portal.tcbpay.com/apis/delete_plan.php
Method of Form Submission: POST
The table describes the request parameters for Delete Plan API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_id | Plan ID | Y | Existing plan id |
Example:
<form action="https://portal.tcbpay.com/apis/delete_plan.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_id" value="existingplanid"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "description": "Plan is successfully deleted", "code": "00" }
Add Subscription API:
This API is responsible to add subscription.
URL To Call: https://portal.tcbpay.com/apis/add_subscription.php
Method of Form Submission: POST
The table describes the request parameters for Add Subscription API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_id | Plan ID | Y | Existing Plan ID |
creditcard_number | Credit Card number that will be used to complete the transaction. | Y | 4111111111111111 |
expire_month | Expiry Month of the Credit Card. | Y | 06 |
expire_year | Expiry Year of the Credit Card. | Y | 2025 |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
zip_code | Zip code of the cardholder | Y | 94085 |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
Email ID of the cardholder | Y | test@test.com | |
start_date | Start Date | Y | Subscription Start Date |
memo | Memo of the transaction | N |
Example:
<form action="https://portal.tcbpay.com/apis/add_subscription.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_id" value="existingplanid"/>
<input type="text" name="creditcard_number" value="4111111111111111"/>
<input type="text" name="expire_month" value="06"/>
<input type="text" name="expire_year" value="2025"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="zip_code" value="94085"/>
<input type="text" name="country_code" value="US, CN"/>
<input type="text" name="email" value="test@test.com"/>
<input type="text" name="start_date" value="Subscription Start Date"/>
<input type="text" name="memo" value="memoofthetransaction"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "description": "Subscription is successfully created", "code": "00" }
Apple Pay Subscription API:
This API is responsible to add subscription using Apple Pay.
URL To Call: https://portal.tcbpay.com/apis/apple_subscription.php
Method of Form Submission: POST
Integrating Apple Pay to your application is a three step process, first call the javascript, display the Apple Pay button and finally send the reponse to processing API. All the steps are described below.
Apple Pay APIs:
- Sandbox:
https://gateway2-stg.tcbpay.com/services/applePaySandbox.js
- Production:
https://portal.tcbpay.com//services/applePay.js
1)Include applePay.js script file. Please copy the following lines and paste them to your HTML page to enable the Apple Pay functionality within your application.
Example:
<script type="text/javascript" src="https://portal.tcbpay.com//services/applePay.js"></script>
Example:
/* CSS */
#applePay {
width: 150px;
height: 50px;
display: none;
border-radius: 5px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
background-image: -webkit-named-image(apple-pay-logo-white);
background-position: 50% 50%;
background-color: black;
background-size: 60%;
background-repeat: no-repeat;
}
/* HTML */
<button type="button" id="applePay" onclick="callPayment()"></button>
This table describes the request parameters for Apple pay js.
Parameter Name | Description | Required | Expected Values |
---|---|---|---|
app_key | This is MD5 of TCB Pay Gateway Username and 16 digit Secret key | Y | If Username is test and Secret key is abcdefgh12345678 app_key=MD5(testabcdefgh12345678) |
business_name | Display this name in Apple Pay window | Y | Test shop |
plan_details | Get paln details using list_plan.php API | Y | {"plan_id":XX,"plan_name":"Test plan","period_type":"WEEKLY","amount":"1.30","currency":"USD","no_of_charge":2} |
start_date | Subscription Start Date | Y | YYYY-MM-DD |
Example:
<script type="text/javascript" >
function callPayment()
{
var app_key="b0cf87c7e314af8638ce34732f1f7d24";
var business_name="Test shop";
var plan_details='{"plan_id":XX,"plan_name":"Test plan","period_type":"WEEKLY","amount":"1.30","currency":"USD","no_of_charge":2}';
TCBPayApplePay.paymentRequestRecurring(app_key,business_name,plan_details,start_date);
}
TCBPayApplePay.paymentResponse=function(responseStatus,responseText){
if(responseStatus=="S")
{
document.getElementById('signature_token').value = responseText;
document.getElementById("formID").submit();
}else{
alert(responseText);
}
}
</script>
The table describes the request parameters for Apple Pay Subscription API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
signature_token | Get a token from TCBPayApplePay.paymentResponse | Y | {"identifyKey":"test","data":"test", "ephemeralPublicKey":"test","publicKeyHash":"test", "transactionId":"test","signature":"test", "version":"EC_v1","displayName":"MasterCard 1111", "network":"MasterCard","type":"credit"} |
first_name | First name of the cardholder | Y | Roberto |
last_name | Last name of the cardholder | Y | Diaz |
address | Address of the cardholder | N | 4446 Green Avenue, Suite 56 |
city | City of the cardholder | N | Los Angeles |
state | State of the cardholder | N | CA |
zip_code | Zip code of the cardholder | Y | 94085 |
country_code | Country of the cardholder(ISO alpha-2) | Y | US, CN |
Email ID of the cardholder | Y | test@test.com | |
memo | Memo of the transaction | N |
Example:
<form name="" id="formID" action="https://portal.tcbpay.com/apis/apple_subscription.php" method="post">
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="signature_token" value="{"identifyKey":"test","data":"test","ephemeralPublicKey":"test","publicKeyHash":"test","transactionId":"test","signature":"test","version":"EC_v1","displayName":"MasterCard 1111","network":"MasterCard","type":"credit"}"/>
<input type="text" name="first_name" value="Roberto"/>
<input type="text" name="last_name" value="Diaz"/>
<input type="text" name="address" value="4446 Green Avenue, Suite 56"/>
<input type="text" name="city" value="Los Angeles"/>
<input type="text" name="state" value="CA"/>
<input type="text" name="zip_code" value="94085"/>
<input type="text" name="country_code" value="US, CN"/>
<input type="text" name="email" value="test@test.com"/>
<input type="text" name="memo" value="memoofthetransaction"/>
<br/>
<button type="button" id="applePay" onclick="callPayment()"></button>
</form>
<script type="text/javascript" >
function callPayment()
{
var app_key="b0cf87c7e314af8638ce34732f1f7d24";
var business_name="Test shop";
var plan_details='{"plan_id":XX,"plan_name":"Test plan","period_type":"WEEKLY","amount":"1.30","currency":"USD","no_of_charge":2}';
TCBPayApplePay.paymentRequestRecurring(app_key,business_name,plan_details,start_date);
}
TCBPayApplePay.paymentResponse=function(responseStatus,responseText){
if(responseStatus=="S")
{
document.getElementById('signature_token').value = responseText;
document.getElementById("formID").submit();
}else{
alert(responseText);
}
}
</script>
Sample Response :
{"response":{ "description": "Subscription is successfully created", "code": "00" }
Subscription List API:
This API is responsible to fetch details of subscriptions.
URL To Call: https://portal.tcbpay.com/apis/list_subscription.php
Method of Form Submission: POST
The table describes the request parameters for Subscription List API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
plan_id | Plan ID | N | Existing Plan ID |
card_type | Card Type | N | AMEX, DISCOVER, MASTERCARD, VISA |
start_date | Start Date | N | Start Date |
end_date | End Date | N | End Date |
Example:
<form action="https://portal.tcbpay.com/apis/list_subscription.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="plan_id" value="existingplanid"/>
<input type="text" name="card_type" value="VISA"/>
<input type="text" name="start_date" value="startdate"/>
<input type="text" name="end_date" value="enddate"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{"code":"00","description":"Success","list":[{"subscription_id":59,"plan_id":30,"plan_name":"Plan test fortnightly","credit_card_number":"**** **** **** 0007 ","amount":7,"currency":"USD","period_type":"FORTNIGHTLY","first_name":"Tanmoy","last_name":"Mondal","address":"802 E Frierson Ave","address_cont":"","city":"TAMPA","state":"FL","zip":"33606","country_id":209,"country_name":"United States","bill_email":"tanumondal@gmail.com","start_date":"2023-05-25"},{"subscription_id":56,"plan_id":30,"plan_name":"Plan test fortnightly","credit_card_number":"**** **** **** 0007 ","amount":7,"currency":"USD","period_type":"FORTNIGHTLY","first_name":"Tanmoy","last_name":"Mondal","address":"802 E Frierson Ave","address_cont":"","city":"TAMPA","state":"FL","zip":"33606","country_id":209,"country_name":"United States","bill_email":"tanumondal@gmail.com","start_date":"2023-05-22"}]}}
Delete Subscription API:
This API is responsible for removing existing subscription.
URL To Call: https://portal.tcbpay.com/apis/delete_subscription.php
Method of Form Submission: POST
The table describes the request parameters for Delete Subscription API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
subscription_id | Subscription ID | Y | Existing Subscription ID |
Example:
<form action="https://portal.tcbpay.com/apis/delete_subscription.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="subscription_id" value="existingsubscriptionid"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{ "description": "Subscription is successfully deleted", "code": "00" }
Response Codes:
Code | Description |
---|---|
01 | Username is missing or invalid |
02 | Credit Card is missing or invalid |
03 | Expire month is missing or invalid |
04 | First name is missing or invalid |
05 | Country code is missing or invalid |
06 | Email is missing or invalid |
07 | Address is missing |
08 | City is missing |
09 | API Key is missing or invalid |
10 | Zipcode is missing |
11 | Start date is missing |
12 | Plan id is missing or invalid |
13 | State is missing |
14 | Plan Name is missing |
15 | Period Type is missing or invalid |
16 | No of Charge is missing |
17 | Amount is missing or invalid |
18 | Currency is missing |
19 | Same Plan already exists |
20 | Currency is not assigned to this account |
21 | Message contains words that have been identified as profanity and this message has been blocked due to company policy. Please try again. |
22 | No of charge should be greater than 0 |
23 | CVV is missing or invalid |
24 | Invalid card |
UN | Unknown error, Please contact Administrator |
WooCommerce Plugin
Version 1.0
Requires WordPress Version: 5.0 or higher
Compatible up to: 5.2.3
Woocommerce plugin version: 3.6.3 higher
Compatible up to: 3.7.0
This plugin allows you to use the TCB Payment gateway for your Woo-commerce site, as an additional payment option.
Installation:
There are two methods of it.
A. Place the unzipped plugin into the wp-content/plugins folder inside your WordPress site
B. from WordPress admin go to Plugins – Add New. Click on Upload Plugin, and browse the zip version of the TCB Pay plugin folder.
Manage:
After successful installation of the plugin, you have to activate the TCBPay plugin from Plugins Installed Plugins.
Once the TCBPay plugin is activated, you can manage the plugin settings from Woo-commerce Settings Payments TCBPay.
Click on Manage. On the manage screen, you can set the following values
Title: Name what you wish to appear on your cart page as a payment option.
Description: If you wish to specify any notes for the plugins for your customers.
Username: This is the username provided by TCBPay when you signed up for an account.
API Key: This is the API Key provided by TCBPay when you signed up for an account.
Keep the Enable test mode checked, if you want to run the Plugin in a test environment.
Download the wordpress plugin package as a zip. Click here
PrestaShop Module
Version 1.0
Prestashop Version: 1.7.0 or higher
Compatible up to: 1.7.5
This plugin allows you to use TCB Pay payment gateway for your PrestaShop.
Installation:
Navigate to the Modules menu and click on the Module Manager button. You would be redirected to the Modules management screen. Click on the Upload a Module button to proceed with the installation. A new pop-up would appear. You may either drop the module's .zip file in that pop-up or use the select file link to browse for that module.
Manage:
A new pop-up with Module Installed! A message would appear and that's it! Your module is installed now. You may click on the Configure button to edit the newly installed module's options
In the configure screen you can set the following values
Enabled: If Yes then this payment method appears on your cart page as a payment option.
Test Mode: If Yes account turned into debug mode
Merchant Username: This is the username provided by Tcb pay when you signed up for an account.
API Key: This is the API Key provided by Tcb Pay when you signed up for an account.
Credit Card Type: Choose card type from the dropdown
Use CVV: Choose Yes to use CVV
Download the PrestaShop extension package as a zip. Click here
Shopify Module
Magento Module
Version 1.0
Magento Version: 2.0 or higher
Compatible up to: 2.1.*
This plugin allows you to use the TCBPay payment gateway for your Magento, as an additional payment option.
Installation:
Create a folder name code under the Magento root directory/app. Place the unzipped module folder under this newly created code folder. Now run the following command from the Magento root directory :
- php bin/magento setup:upgrade
- php bin/magento setup:static-content:deploy if store is in production mode
- php bin/magento cache:clean
Manage:
After successful installation of the plugin, you have to enable and manage to set the TCBPay payment gateway from
STORESCONFIGURATIONSALESPayment MethodsTCBPay Payment Gateway
In the manage screen, you can set the following values
Enabled: If Yes then this payment method appears on your cart page as a payment option.
Title: Name what you wish to appear on your cart page as a payment option.
Merchant Username: This is the username provided by Tcbpay when you signed up for an account.
API Key: This is the API Key provided by Tcbpay when you signed up for an account.
Download the magento extension package as a zip. Click here
Opencart Module
Version 1.0.0
Opencart Version: 3.0 or higher
Compatible up to: 3.1.*
This plugin allows you to use the TCBPay payment gateway for your Opencart, as an additional payment option.
Installation:
There are two methods of it.
A. Unzip the opencart plug-in folder there will be 3 folders admin, catalog, and the system then upload 3 folders inside the opencart project folder.
B. Login into opencart admin module then go to the Extension Installer option – select the plug-in zip and upload it then go to the Extensions option and select a payment option from the extension type we will find we will find TCB Pay and then install by clicking the install button.
Manage:
After successful installation of the plugin, you have to enable and manage to set the TCBPay payment gateway from
Extensions ExtensionsPayment MethodsTCBPay Payment GatewayClick on Edit.
In the manage screen, you can set the following values
Merchant Username: This is the username provided by Tcbpay when you signed up for an account.
API Key: This is the API Key provided by Tcbpay when you signed up for an account.
Credit Card Types: Select your accepted card.
Test Mode: If we select yes then we get sandbox if not then production.
Status: We must set it to enable.
Download the opencart extension package as a zip. Click here
osCommerce Module
Version 1.0.0
Opencart Version: 2.3 or higher
Compatible up to: 2.3.*
This plugin allows you to use the TCBPay payment gateway for your Opencart, as an additional payment option.
Installation:
1. Copy all new files with your catalog. It won't rewrite any of your files. Just copy & paste on top.
2. In the admin side of your website go to Modules - Payment and install the new TCB Pay payment.
Edit the payment put in credentials and set up your settings.
3. Modify the following files as per the following instructions.
1. Installation Instructions:
A:
Find around line 139 in catalog/checkout_process.php file
$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
Add Bellow Code above this "$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';" line:
$order_comment = $order->info['comments'];
if ($tcbpay_transaction_id) {
$order_comment .= "\nTransaction Id: $tcbpay_transaction_id";
}
B:
Find bellow code around line 144 :
'comments' => $order->info['comments']
Replace With
'comments' => $order_comment
C:
Find around line 36 in admin/modules.php:
while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {
Add The code bellow the line:
if (is_array($value)) $value = implode(',', $value);
D:
add the following code at end of the admin/includes/functions/general.php file.
function tep_cfg_pull_down_tcbpay_cctypes($cctypes, $key = '') {
$name = 'configuration[' . $key . '][]';
$cctypes_array = array(
array(
'id' => 'AE',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_AMERICAN_EXPRESS
), array(
'id' => 'VI',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_VISA
), array(
'id' => 'MC',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_MASTERCARD
), array(
'id' => 'DI',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_DISCOVER
), array(
'id' => 'JCB',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_JCB
), array(
'id' => 'OT',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_OTHER
)
);
return tep_draw_multi_select_menu($name, $cctypes_array, $cctypes);
}
E:
add the following code at end of the admin/includes/functions/general.php file.
function tep_draw_multi_select_menu($name, $values, $default = array(), $parameters = '', $required = false) {
global $HTTP_GET_VARS, $HTTP_POST_VARS;
$field = <select multiple name="' . tep_output_string($name) . '"';
if (tep_not_null($parameters)) $field .= ' ' . $parameters;
$field .= >
if (empty($default) && (isset($HTTP_GET_VARS[$name]) || isset($HTTP_POST_VARS[$name]))) {
if (isset($HTTP_GET_VARS[$name])) {
$default = $HTTP_GET_VARS[$name];
} elseif (isset($HTTP_POST_VARS[$name])) {
$default = $HTTP_POST_VARS[$name];
}
}
if (!is_array($default)) $default = explode(',', $default);
for ($i=0, $n=sizeof($values); $i<$n; $i++) {
$field .= <option value="' . tep_output_string($values[$i]['id']) . '"';
if (in_array($values[$i]['id'], $default)) {
$field .= ' selected="selected"';
}
$field .= > . tep_output_string($values[$i]['text'], array('"' => '"', '\'' => ''', '<' => '<', '>' => '>')) . <option>;
}
$field .= <select>;
if ($required == true) $field .= TEXT_FIELD_REQUIRED;
return $field;
Manage:
In the manage screen, you can set the following values
Username: This is the username provided by Tcbpay when you signed up for an account.
API Key: This is the API Key provided by Tcbpay when you signed up for an account.
Credit Card Types: Select your accepted card.
Test Mode: If true TCB Test Pay is enabled If false TCB test Pay is disabled.
Download the osCommerce extension package as a zip. Click here
Zen Cart Module
Version 1.0.0
Zen Cart Version: 1.5 or higher
Compatible up to: 1.5.*
This plugin allows you to use the TCBPay payment gateway for your Zen Cart, as an additional payment option.
Installation:
1. Copy all new files within your catalog. It won't rewrite any of your files. Just copy & paste on top.
2. Modify the following files as per the following instructions.
1. Installation Instructions:
A:
Find admin/includes/functions/general.php file
Add Bellow Code At The End
function zen_cfg_pull_down_tcbpay_cctypes($cctypes, $key = '') {
$name = 'configuration[' . $key . '][]';
$cctypes_array = array(
array(
'id' => 'AE',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_AMERICAN_EXPRESS
), array(
'id' => 'VI',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_VISA
), array(
'id' => 'MC',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_MASTERCARD
), array(
'id' => 'DI',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_DISCOVER
), array(
'id' => 'JCB',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_JCB
), array(
'id' => 'OT',
'text' => MODULE_PAYMENT_TCBPAY_TEXT_OTHER
)
);
return zen_draw_multi_select_menu($name, $cctypes_array, $cctypes);
}
B:
Find admin/includes/functions/html_output.php file
Add Bellow Code At The End
function zen_draw_multi_select_menu($name, $values, $default = array(), $parameters = '', $required = false) {
$field = '<select multiple rel="dropdown" name="'.zen_output_string($name).'"';
if (zen_not_null($parameters)) {
$field .= ' ' . $parameters;
}
$field .= '>' . "\n";
if (empty($default) && isset($GLOBALS[$name])) {
$default = $GLOBALS[$name];
}
if (!is_array($default)) $default = explode(',', $default);
foreach($default as $dval) {
$default[] = trim($dval);
}
foreach ($values as $value) {
$field .= '<option value="' . zen_output_string($value['id']) . '"';
if (in_array($value['id'], $default)) {
$field .= ' selected="selected"';
}
$field .= '>' . zen_output_string($value['text'], array('"' => '"', '\'' => ''', '<' => '<', '>' => '>')) . 'option>' . "\n";
}
$field .= 'select>' . "\n";
if ($required == true) {
$field .= TEXT_FIELD_REQUIRED;
}
return $field;
}
3. In the admin side of your website go to Modules - Payment and install the new TCB Pay payment. Edit the payment put in credentials and set up your settings.
Manage:
In the manage screen, you can set the following values
Username: This is the username provided by Tcbpay when you signed up for an account.
API Key: This is the API Key provided by Tcbpay when you signed up for an account.
Credit Card Types: Select your accepted card.
Test Mode: If true TCB Test Pay is enabled If false TCB test Pay is disabled.
Download the Zen Cart extension package as a zip. Click here
X-Cart Module
Version 1.0.0
X-Cart Version: 5.4.1.31 or higher
Compatible up to: 5.4.*
This plugin allows you to use the TCBPay payment gateway for your X-Cart, as an additional payment option.
Installation:
1. Open the X-Cart admin panel And log in with the correct credential.
2. Please Click on Apps and then click on My Apps from the left side menu.
3. Then click on Upload Addon from the top right corner and then upload the TCBPay module zip.
4. After successful upload click on Store Setup and then Payment Method from the left side menu.
5. Put credentials and setup with your settings
Manage:
In the manage screen, you can set the following values
Merchant Username: This is the username provided by Tcbpay when you signed up for an account.
API Key: This is the API Key provided by Tcbpay when you signed up for an account.
Credit Card Types: Select your accepted card.
Test Mode: If true TCB Test Pay is enabled If false TCB test Pay is disabled.
Use CVV: If true CVV should Enable If false TCB Pay CVV disable.
Download the X-Cart extension package as tgz. Click here
Android
iOS
Utility
Sandbox endpoint URL: https://gateway2-stg.tcbpay.com/apis/{method}
Example: https://gateway2-stg.tcbpay.com/apis/bank_verification.php
Production endpoint URL: https://portal.tcbpay.com/apis/{method}
Bank Verification API:
This API is responsible for bank verification.
URL To Call: https://portal.tcbpay.com/apis/bank_verification.php
Method of Form Submission: POST
The table describes the request parameters for Bank Verification API.
Variable Name | Description | Required | Expected Values |
---|---|---|---|
username | TCB Pay Gateway Username | Y | TCB Pay Gateway Username |
api_key | TCB Pay Gateway API Key | Y | TCB Pay Gateway API Key |
use_secret_key | Set the secret key in the account setting to encrypt account_number and routing_number. Make sure to encrypt account_number and routing_number with AES 128-bit ECB cipher code. | N | Y or N (default value N) Y- encrypt account_number and routing_number using AES 128 bit ECB cipher mode encryption |
account_number | Bank account number (5 to 17 digits account number) |
Y | 0000000016 |
routing_number | Bank routing number (9 digits routing number) |
Y | 122105278 |
account_type | Bank account type | Y | SAVINGS, CHECKING, OTHER |
business_name | Business name of account holder (Provide Business name or First name, Last name if account holder's name needs to be matched) |
C | Smith and Associates Consulting |
first_name | First name of account holder (Provide Business name or First name, Last name if account holder's name needs to be matched) |
C | Jane |
middle_name | Middle name of account holder | N | |
last_name | Last name of account holder (Provide Business name or First name, Last name if account holder's name needs to be matched) |
C | Doe |
Example:
<form action="https://portal.tcbpay.com/apis/bank_verification.php" method="post" >
<input type="text" name="username" value="tcbpayusername"/>
<input type="text" name="api_key" value="tcbpayapikey"/>
<input type="text" name="use_secret_key" value="N"/>
<input type="text" name="account_number" value="0000000016"/>
<input type="text" name="routing_number" value="122105278"/>
<input type="text" name="account_type" value="CHECKING"/>
<input type="text" name="business_name" value=""/>
<input type="text" name="first_name" value="Jane"/>
<input type="text" name="middle_name" value=""/>
<input type="text" name="last_name" value="Doe"/>
<input type="submit" value="submit" />
</form>
Sample Response :
{"response":{"code":"00","description":"Account verified","routing_number":"122105278","account_number":"********0016","business_name":"","item_reference_id":"10125186087","bank_name":"WELLS FARGO BANK NA (ARIZONA)","account_response_code":"1111: Account Verified - The account was found to be an open and valid account","customer_response_code":"CA11: Customer authentication passed verification","verification_response":"Pass","timestamp":"2024-08-30 6:10:05 AM","account_added_date":"2023-06-23","account_last_updated_date":"2024-06-23"}}
Response Codes:
Code | Description |
---|---|
01 | Username is missing or invalid |
09 | API Key is missing or invalid |
B1 | Account verified, But the business or account holder name did not match |
B2 | Account not verified |
UN | Unknown error, Please contact Administrator |
This website uses cookies.
We use cookies to ensure you the best experience. By using our website, you agree to our Cookies Policy.