TapInPay

Introduction

Tapin Pay Collection For Partner

POST Create TapIn Pay

GET Get TapIn Pay status

LOCK TapIn Pay success callback

Introduction

Welcome to the TapInPay documentation. This documentation will help you get started with TapInPay. If you have any questions you can use tapinserver@gmail.com to get in contact with us.

Base URL

Testing Environment: https://demo.tapin.tech

Production Environment: https://app.tapin.tech

vendor_id

This number will represent your identity in TapIn Service.

ss_code

This code should be kept secret and safe. This code is responsible for accessing all methods in the TapInPay API. This API code should be used by the server component of your application.

Tips: The vendor_id & ss_code will be different for different environments. You deserve them when you strike a deal with us.

Tapin Pay Collection For Partner

POST Create TapIn Pay

https://demo.tapin.tech/api/external_collection/create_external_collection

Headers

signature: string (required) - HASH-MD5 hex encoded keyed hash using your ss_code and request param

GENERATING SIGNATURE

The payload to be signed will be ss_code and id_1 from the REQUEST PARAMS as shown below:

JavaScript / ECMAScrip

          
            const signature = crypto.createHash('md5')
            .update(ss_code + id_1, 'utf8')
            .digest('hex')
            .toLowerCase();
          
        

Request Params

Field Name Required Type Description
vendor_id yes number Partner vendor id
amount yes number Amount (cents)
id_1 yes string id_1 (Partner order UUID)
id_2 no string id_2 (Partner order UUID)
webhook yes string Call back url
limit_days no number TapIn Pay url survival days(default to 30 days)
merchant_phone no string The sub-merchant Phone
(No need of country code)
earn_percentum no
(IF merchant_phone here should be yes)
number Percentage of the amount received by the sub-merchant
is_customer_fee no number
(0 / 1)
Whether to let the customer pay the handling fee (1: yes)(Default read payee configuration: Sub-merchant > Platform account)
instruction no string Instruction from external

RESPONE - DATA

Field Name Required Type Description
collection_id yes number TapIn Pay id
ew_id yes string TapIn Pay EW Code
id_1 yes string id_1 (Partner order UUID)
id_2 yes string id_2 (Partner order UUID)
url yes string TapIn Pay url

Type of error

errCode msg
1 Paramter error
2 TapIn Pay created by id_1 or id_2
4 Please wait a moment. You are sending too many collect requests.
9 signature does not exist or cannot be matched
500 Server error, please try again later

HEADERS

signature

1734e90a57e422a1bc87100a567893c0

BODY raw

        
          {
            "vendor_id": 25467,
            "amount": 0,
            "id_1": "87324123",
            "webhook": "https://demo.tapin.tech/mock/test_for",
            "limit_days": 20,
            "merchant_phone": "2377936927321",
            "earn_percentum": 80,
            "is_customer_fee": 1
          }
        
      

Example Request

Create TapIn Pay Fail

Create TapIn Pay Fail

Create TapIn Pay Fail

Create TapIn Pay

            
              curl --location --request POST 'https://demo.tapin.tech/api/external_collection/create_external_collection' \
              --header 'signature: a0bb5801d88ce6548d7d8f4f8543ad0c' \
              --data-raw '{
                    "vendor_id": 25467,
                    "amount": 0,
                    "id_1": "12312312312312351",
                    "webhook": "https://demo.tapin.tech/mock/test_for",
                    "limit_days": 20,
                    "merchant_phone": "237793692732",
                    "earn_percentum": 80
              }'
            
          

Example Request

200 OK

Body

Header(7)

                
                  {
                    "errCode": 9,
                    "msg":"signature does not exist or cannot be matched"
                  }
                
              

GET Get TapIn Pay status

https://demo.tapin.tech/api/external_collection/collection_status?id_1=87324123

Headers

signature: string (required) - HASH-MD5 hex encoded keyed hash using your ss_code and request param

Generating signature

The payload to be signed will be ss_code and id_1 from the REQUEST PARAMS as shown below:

JavaScript / ECMAScrip

          
            const signature = crypto.createHash('md5')
            .update(ss_code + id_1, 'utf8')
            .digest('hex')
            .toLowerCase();
          
        

Request Param

Field Name Required Type Description
ew_id no string TapIn Pay EW Code
id_1 yes string id_1 (Partner order UUID)
id_2 no string id_2 (Partner order UUID)

Response - data

Field Name Required Type Description
collection_id yes number TapIn Pay id
ew_id yes string TapIn Pay EW Code
id_1 yes string id_1 (Partner order UUID)
id_2 yes string id_2 (Partner order UUID)
status yes string TapIn Pay status (waiting pay, pay success, money release)
notice yes string The collection has been pushed successfully
limit_days yes number TapIn Pay url survival days
merchant_id yes number Merchant id
merchant_phone yes string Merchant phone
webhook yes string Call back url
pay_money yes number Amount (cents)
tip yes number Tip (cents)
is_customer_fee yes number The flag of customer pay the handling fee (1: yes, 0: no)
instruction yes string Instruction from external

Type of error

errCode msg
1 Paramter error
2 not found
9 signature does not exist or cannot be matched
500 Server error, please try again later

HEADERS

signature

1734e90a57e422a1bc87100a567893c0

PARAMS

ew_id

EW2021122800029

id_2

qwert..1.

id_1

87324123

Example Request

Get TapIn Pay status Fail

Get TapIn Pay status Fail

Get TapIn Pay status

            
              curl --location --request GET 'https://demo.tapin.tech/api/external_collection/collection_status?id_1=8732412' \
              --header 'signature: 55faf6d35d85e61ceee6ad3f4d5d7965' \
            
          

Example Request

200 OK

Body

Header(8)

                
                  {
                    "errCode": 9,
                    "msg":"signature does not exist or cannot be matched"
                  }
                
              

LOCK TapIn Pay success callback

/

We will send an HTTP request with the following parameters to the callback address provided by the requester as soon as the customer has successfully paid. Be sure to return the "SUCCESS" string in the callback address to let us know that you have successfully received the request. Otherwise, we will send HTTP requests every minute(Six time total).

Request Params

Field Name Required Type Description
collection_id yes number TapIn Pay id
ew_id yes string TapIn Pay EW Code
id_1 yes string id_1 (Partner order UUID)
id_2 yes string id_2 (Partner order UUID)
status yes string TapIn Pay status (waiting pay, pay success, money release)
notice yes string The collection has been pushed successfully
limit_days yes number TapIn Pay url survival days
merchant_id yes number Merchant id
merchant_phone yes string Merchant phone
webhook yes string Call back url
pay_money yes number Amount (cents)
tip yes number Tip (cents)
is_customer_fee yes number The flag of customer pay the handling fee (1: yes, 0: no)
instruction yes string Instruction from external

Example Request

TapIn Pay success callback

            
              curl --location --request LOCK  '/'