TipMe Documentation

 

Welcome to TipMe’s (Code free) Business UI module  integration documentation for RESTFul API documentation. Apply for a business Account today.

TIPME BUSINESS API IMPLEMENTATION
DOCUMENTATION FOR BUSINESS USERS

Table of Contents

1. Authentication (Post Method)
2. Get Profile (Post Method)
3. Check Balance (Post Method)
4. Search/Check Customer (Post Method)
5. Estimate Charges (Post Method)
6. Verify Access Pin (Post Method)
7. Resend OTP (Post Method)
8. Confirm Transaction (Post Method)
9. Transaction History (Post Method)
10. Payment Request (Post Method)
11. Payment Request History (Post Method)
12. Cancel Payment Request (Post Method)

Introduction

Merchant Id: merchant_id
Description: Your merchant id will be provided by a TipMe administrator and is required for every API integration. Without this merchant ID, you will not be able to access TipMe’s API. Contact TipMe if you need help with how to obtain a merchant id.

Access Key Name: authorizekey
Description: Your merchant key will be provided by a TipMe administrator and will be used in each API.
Note : Authorize key is sent in the headers as access_key.

API URLs:
Description: This URL will be provided by a TipMe administrator. The Staging URL and the live URLs are different. All API connectivity and integration is executed in the Staging Environment and upon a successful test, your account will be, migrated to the Live Environment , and new credentials provided by a TipMe administrator. The staging and the live API key and Merchant ids will be different.

Caution: New API keys can be requested at anytime. TipMe strongly recommend that you set both your API key, and merchant id as variables which can be called into your application at anytime and in a case where new API keys are generated, replacing the variable with the new API key automatically redirects all variable calls made to the new key. While in the Staging Environment, TipMe will force you to validate this as a last step requirement before approving your account to be migrated into the live environment.

API Listings

1. Authentication (Post Method)

Description: This API is used for Authenticating the business account details linked with a specific merchant id. It will return auth token. This token is used in every API call for validation. Store this token locally and send on every request. You can also regenerate this token by calling this API.

URL: {base_url}/Business_api/authenticate
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Auth token generated use this token on every request for validation.”,
“auth_token”: “YfRBcyh7013Xsoc3”
}
}

2. Get Profile (Post Method)

Description: This API is used for calling the business profile details linked with specific merchant id.
URL: {base_url}/Business_api/get_profile
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication API)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Data Found.”,
“detail”: {
“business_id”: “BID1000001”,
“name”: “Business Name”,
“email”: “business@xyz.com”,
“fullname”: “ABC”,
“mobile”: “1234567890”,
“country”: “Liberia”,
“profile_pic”: “”
}
}
}

3. Check Balance (Post Method)

Description: This API is used for fetching the business account balance details linked with a specific merchant id.
URL: {base_url}/Business_api/check_balance
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Data Found.”,
“wallet”: [
{
“amount”: “0.00”,
“currency_code”: “LRD”,
“is_primary”: “1”,
“currency”: “L$”
},
{
“amount”: “0.00”,
“currency_code”: “USD”,
“is_primary”: “0”,
“currency”: “$”
}
]
}
}

4. Search/Check Customer (Post Method)

Description: This API is used for searching a customer by CUSTOMER ID/BUSINESS ID which has been assigned to a registered customer in the TipMe system. It is helpful to non-smart users for making transactions and also used for validate customer account in TipMe if it exist or not.
URL: {base_url}/Business_api/search_customer
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication API)
3. customer_id(string) (Mandatory) (enter CID or BID)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Record found.”,
“detail”: {
“mobile”: “1234567890”,
“user_name”: “AbC”,
“customer_id”: “CID100001”,
“profile_pic”: “”,
“country_name”: “Liberia”,
“currency”: “L$”,
“business_id”: “BID100001”,
“wallets”: [
{
“currency_code”: “USD”,
“is_primary”: “1”,
“currency”: “$”
},
{
“currency_code”: “LRD”,
“is_primary”: “0”,
“currency”: “L$”
}
]
}
}
}

Transaction Flow

5. Estimate Charges (Post Method)

Description: This API is used to estimate the charges before executing a transaction. It is used for calculating transaction charges and validating transaction limits/wallet limits for the customer.
URL: {base_url}/Business_api/estimate_charges
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. customer_id(string) (Mandatory) (enter CID or BID)
4. amount(float) (Mandatory) (transfer amount)
5. currency_code (string) (Mandatory) – (Customer wallet currency code, fetched by the search customer API if you receive and if you send amount to customer then your wallet currency code gets this from the balance API.)
6. charges_by (string) (Mandatory) (who pays transaction charges must be Sender or Receiver)
7. transation_type(string) (Mandatory) (transaction type must be Send or Receive)
(most important value and this is used to define a transaction if it is executed by you or a customer. If you want to send money from your wallet to customer wallet then transaction_type must be Send and if you want to receive money from customer wallet to your account then transaction_type must be Receive)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “You are about to transfer L$ 10.00 and receiver will get L$ 10.00”,
“detail”: {
“amount”: “L$ 10.00”,
“admin_commission”: “L$ 5.000000”,
“conversion_charge”: “0.00”,
“currency”: “L$”,
“currency_code”: “LRD”,
“total_paid”: “L$ 15.00”,
“charges_by”: “Sender”,
“receiver_get”: “L$ 10.00”
}
}
}

6. Verify Access Pin (Post Method)

Description: This API is used to verify access PIN before a transaction is pre-authorized to take place and moved onto the next stage which is to get OTP. This API is called after Estimate Charges API. Parameters value must be the same as provided in estimate charge api. OTP is always sent on senders(who transfer amount) mobile number and email. If transaction type is “Send” than OTP will be sent to your (business account) number and if transaction type is “Receive” then OTP will be sent to the customer’s phone number on file.

URL: {base_url}/Business_api/verify_access_pin
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. customer_id(string) (Mandatory) (enter CID or BID)
4. amount(float) (Mandatory) (transfer amount)
5. currency_code (string) (Mandatory) -(Customer wallet currency code, fetched by the search customer API if you receive and if you send an amount to a customer then your wallet currency code is gotten from balance API.)
6. access_pin (integer) (Mandatory) – (Sender access pin 4 digits)
7. transation_type(string) (Mandatory) (transaction type must be Send or Receive)
(most important value this is used to define a transaction made by you or customer, if you are sending money from your wallet to a customer’s wallet then transaction_type must be Send and if you want to receive money from a customer’s wallet to your account then transaction_type must be Receive)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Access pin verified successfully. An OTP is sent for verification.”
}
}

7. Resend OTP (Post Method)

Description: This API is used to resend an OTP if OTP is not received. The account holder must have either email notification or SMS notification or both notification methods turned on their account to receive OTP. By default, SMS notification is automatically activated on every account for which the phone number was validated. You cannot turn both methods OFF. This API is called after verify access pin API. Parameters value must be same as provided in estimate charge API. OTP is always sent on senders(who transfer amount) mobile number and email. If transaction type is “Send” and OTP will be sent to your (business account) number and if transaction type is “Receive” then OTP will be sent to customer’s number.

URL: {base_url}/Business_api/resent_otp
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. customer_id(string) (Mandatory) (enter CID or BID)
4. amount(float) (Mandatory) (transfer amount)
5. currency_code (string) (Mandatory) – (Customer’s wallet currency code, fetched by the search customer API if you receive and if you send amount to customer then your wallet currency code is gotten from the balance API.)
7. transation_type(string) (Mandatory) (transaction type must be Send or Receive)
(most important value this is used to define a transaction made by you or customer, if you are sending money from your wallet to a customer’s wallet then transaction_type must be Send and if you want to receive money from a customer’s wallet to your account then transaction_type must be Receive)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “OTP resent to your registered mobile number XXXXXX1111”
}
}

8. Confirm Transaction (Post Method)

Description: This API is used to confirm a transaction and OTP. it is called after getting OTP. Parameters value must be same as provided in estimate charge API.
URL: {base_url}/Business_api/confirm_transaction
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. customer_id(string) (Mandatory) (enter CID or BID)
4. otp (integer) (Mandatory) – (4 digits)
5. amount(float) (Mandatory) (transfer amount)
6. currency_code (string) (Mandatory) – (Customer wallet currency code, fetched by the search customer API if you receive and if you send an amount to the customer then your wallet currency code is gotten from balance API.)
7. charges_by (string) (Mandatory) (who pays transaction charges must be Sender or Receiver)
8. transation_type(string) (Mandatory) (transaction type must be Send or Receive)
(most important value this is used to define a transaction made by you or customer, if you are sending money from your wallet to a customer’s wallet then transaction_type must be Send and if you want to receive money from a customer’s wallet to your account then transaction_type must be Receive)
9. description(string) (Optional)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Payment completed successfully.”
}
}

9. Transaction History (Post Method)

Description: This API is used for listing all transactions and the list can be filtered out through multiple parameters.
URL: {base_url}/Business_api/transaction_history
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication API)
3. page(integer) (Mandatory) (It is a page no.)
4. limit(integer) (Optional) (limit of 10 per page is set as default)
5. keyword(string) (Optional) – (In keyword parameter you can filter by customer id or transaction id)
6. type(string) (Optional) (must be sender/receiver)
7. from_date (Optional) (Format: YYYY-MM-DD)
8. to_date (Optional) (Format: YYYY-MM-DD)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Data Found”,
“list”: [
{
“sender_id”: “BID1000001”,
“receiver_id”: “CID1000002”,
“description”: “test”,
“charges_by”: “Sender”,
“transaction_id”: “TR10000000000”,
“created”: “2020-10-08 10:33:08”,
“type”: “sender”,
“currency”: “L$”,
“total_amount”: “10.00”,
“admin_comission”: 5,
“conversion_comission”: “0.000000”,
“total_paid”: “15.00”,
“full_name”: “ABC”,
“profile_pic”: “”
}
]
}
}

10. Payment Request (Post Method)

Description: This API is used for request payment to customer.
URL: {base_url}/Business_api/payment_request
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. receiver_id(string) (Mandatory) (enter CID)
5. amount(float) (Mandatory) (requested amount)
6. currency_code (string) (Mandatory) – (Currency code which amount was requested)
7. charges_by (string) (Mandatory) (who pays transaction charges must be Sender or Receiver)
9. description(string) (Optional)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Your request for $ 50.00 has been successfully sent to ABC.”
}
}

11. Payment Request History (Post Method)

Description: This API is used for listing all payment requests and the list can be filtered out through multiple parameters.
URL: {base_url}/Business_api/payment_request_history
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. page(integer) (Mandatory) (It is a page no.)
4. limit(integer) (Optional) (limit of 10 per page as default)
5. keyword(string) (Optional) – (In keyword parameter you can filter by customer id or transaction id)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Data Found”,
“list”: [
{
“id”: “70”,
“sender_id”: “BID1000001”,
“receiver_id”: “CID1000001”,
“description”: “”,
“status”: “Pending”,
“transaction_id”: “TR100000000”,
“charges_by”: “Sender”,
“modified”: “2020-10-08 12:44:25”,
“created”: “2020-10-08 12:44:25”,
“full_name”: “ABC”,
“currency”: “$”,
“amount”: “50.00”,
“profile_pic”: “”
}
]
}
}

12. Cancel Payment Request (Post Method)

Description: This API is used for cancelling a payment request before it can be honoured
URL: {base_url}/Business_api/cancel_payment_request
Content-Type: application/x-www-form-urlencoded
Parameters:
1. merchant_id(string) (Mandatory)
2. auth_token(string) (Mandatory) (provided in authentication api)
3. request_id(integer) (Mandatory) (Get it from payment request history api)

Response:
Content-Type: application/json
HTTP Response Code Meaning
401 Unauthorized access
500 Internal server error
Status: 0 Fail
Status: 1 Success

Sample Response:
{
“data”: {
“status”: “1”,
“msg”: “Payment request Cancelled successfully.”
}
}

Sample Request for Php Curl Example:

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL =>{base_url}/Business_api/get_profile”,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => “POST”,
CURLOPT_POSTFIELDS =>
“merchant_id=111111111111111”,
CURLOPT_HTTPHEADER => array(
“Content-Type: application/x-www-form-urlencoded”,
“authorizekey:xxxxxxxxxxxxxxxxxxxxxxxx”,
“cache-control: no-cache”
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo “cURL Error #:” . $err;
} else {
echo $response;
}

Maximize adoption

Leverage TipMe’s network to maximize adoption of digital payments.

Grow revenue

Payments are instant to your TipMe account as customers make purchases

 

Add new customers

Gain access to an online presence and a whole new range of customers

 

HOURS

Mon - Fri: 9:00 AM – 06:00 PM

Sat-Sun: Closed

CONTACT

+1 763-296-2122

+1 763-296-2123

ADDRESS

7671 Central Ave NE Suite 208

Fridley MN 55432