Introduction
Welcome to the OwlPay API portal!
The OwlPay API follows the REST design specification REST.
You can use the OwlPay API in test mode, which does not affect your live data or interact with the banking networks.
The API key you use to authenticate the request determines whether the request is live mode or test mode.
API Hosts: https://api.owlpay.com
OwlPay: https://www.owlpay.com
OwlPay for Platform: https://dashboard.owlpay.com
Step 1. The application creates a vendor through Create a vendor API.
Step 2. The application creates an order of the vendor(step 1) through Create a order API.
Step 3. The application applies KYC/AML audit for vendors through Apply a vendor remit info API or invite the vendor to fill in the form themselves via Create a vendor invite API.
Step 4. OwlPay will confirm whether the order can be reconciled
1. If can't, the application must update the order information (maybe the order has been set the allowable time for reconciliation)
2. If can, go to Step 5.
Step 5. The application applies for payout
Step 6. Choose the payout method to pay. (OwlPay can pay through different payout channels based on the application's setting)
Authentication
Authenticated request example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
-u <application_secret>:
The OwlPay API uses API key to authenticate every request
You can view and manage your API keys in the OwlPay Platfrom.
The prefix of test mode secret keys is pk_test_ ,and the prefix of live mode secret keys is pk_live_.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
If you need to authenticate via bearer auth (e.g., for a cross-origin request), use -H 'Authorization: Bearer pk_test_2Wv9xZ....guTPiJ' instead of -u pk_test_2Wv9xZ....guTPiJ.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Errors
Http status code summary
200 - OK Everything worked as expected. 400 - Bad Request The request was unacceptable, often due to missing a required parameter. 401 - Unauthorized No valid API key provided. 402 - Request Failed The parameters were valid but the request failed. 403 - Forbidden The API key doesn't have permissions to perform the request. 404 - Not Found The requested resource doesn't exist. 409 - Conflict The request conflicts with another request (perhaps due to using the same idempotent key). 429 - Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. 500, 502, 503, 504 - Server Errors Something went wrong on OwlPay's end. (These are rare.)
Error types
unknowns_error unknowns_error server_error server_error unauthorized unauthorized order_error order_error order_transfer_error order_transfer_error guard_auth_forbidden guard_auth_forbidden data_not_found data_not_found invite_fail invite_fail 2fa_error 2fa_error 2fa_recovery_code_exist 2fa_recovery_code_exist 2fa_recovery_code_incorrect 2fa_recovery_code_incorrect data_is_lock data_is_lock
OwlPay uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter missing, a payout failed, etc.). Codes in the 5xx range indicate an error with OwlPay's servers.
Attributes
type
The type of error retruned.
One of unknowns_error, server_error, unauthorized, order_error, order_transfer_error, guard_auth_forbidden, data_not_found, invite_fail, 2fa_error, 2fa_recovery_code_exist, 2fa_recovery_code_incorrect, data_is_lock,
message
The description of error retruned.
More attributes
Metadata
curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
-u <application_secret>: \
-d order_serial=OBExxxooo1234 \
-d currency=USD \
-d total=100 \
-d "meta_data[order_id]"=9527
Response Example
{
"data": {
"order_status": "owlpay.received_order",
"status": "owlpay.received_order",
"order_serial": "OBExxxooo1234",
"application_order_serial": "OBExxxooo1234",
"currency": "TWD",
"total": 10000,
"is_paid": false,
"order_created_at": "2021-01-27T04:24:50+00:00",
"paid_time_at": null,
"notified_time_at": "2021-01-27T04:24:50+00:00",
"vendor_uuid": "ven_VELSI1wQ6ipP8BJU4NZxFp5",
"vendor_name": "",
"customer_vendor_uuid": null,
"is_transferred": false,
"meta_data": [
{
"order_id": "6735"
}
],
"events": [
{
"type": "order_receive",
"block_number": null,
"transaction_hash": null,
"created_at": "2021-01-27T04:24:50+00:00"
}
],
"order_token": "ord_f4cf770962550535fe3cae03b575fb20ee8951449261957e9aa5f9590b5fc699",
"description": null,
"logs": []
},
"status": 200
}
Updatable OwlPay objects—including Order, Vendor, Payout
—have a metadata parameter. You can use this parameter to attach key-value data to these OwlPay objects (unlike metadata, description is just a single string).
Some of the objects listed above also support a description parameter. You can use the description parameter to annotate an order. For example, a human-readable description like Hotel order from Hotel 2020-12-01 ~ 2020-12-03
Do not store any sensitive information (bank account numbers, card details, etc.) as metadata or in the description parameter.
Do not store any sensitive information (bank account numbers, card details...etc.) as metadata or in the description parameter
Sample metadata use cases
Unique Identifier
Attach your system's unique IDs to a OwlPay object for easy lookups. For example, add your application's order ID to an order.
Order details
Annotate the order by storing order information for your later use.
Order Extra
The order extra object
Attributes
Order transfer Status | description |
---|---|
uuid | translation missing: en.order_extra_data_type_uuid |
extra_rule_uuid | translation missing: en.order_extra_data_type_extra_rule_uuid |
order_uuid | translation missing: en.order_extra_data_type_order_uuid |
order_serial | translation missing: en.order_extra_data_type_order_serial |
type | translation missing: en.order_extra_data_type_type |
name | translation missing: en.order_extra_data_type_name |
value | translation missing: en.order_extra_data_type_value |
amount | translation missing: en.order_extra_data_type_amount |
inclusive | translation missing: en.order_extra_data_type_inclusive |
currency | translation missing: en.order_extra_data_type_currency |
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
type | string | ✅ | translation missing: en.order_extra_form_data_type | |
name | string | ✅ | translation missing: en.order_extra_form_data_name | |
value | string | ✅ | translation missing: en.order_extra_form_data_value | |
inclusive | bool | ✅ | translation missing: en.order_extra_form_data_inclusive |
Pagination
Response Example
{
"data": [
{
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
{...},
{...},
],
"status": 200,
"pagination": {
"total": 65,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 6,
"links": {
"next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
}
}
}
These list API methods share a common structure, taking at least these three parameters: limit, page.
Our client libraries offer Auto-pagination helpers to easily traverse all pages of a list.
Parameters
Parameter | Description |
---|---|
limit | A limit on the number of objects to be returned(default 12). |
page | page |
List Response Format
Parameter | Description |
---|---|
total | A limit on the number of objects to be returned, between 1 and 100. default return 12 items. |
count | current page items count. |
perPage | per page items count. |
currenctPage | currenct page. |
totalPages | total pages count. |
links | return next or prev links when they exist. |
CORE RESOURCES
Order
The order object
Response Example
{
"data": {
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
"status": 200
}
Attributes
Parameter | Type | Description |
---|---|---|
order_token | string | Unique identifier for the order from OwlPay (same as uuid) |
object | string | Object name |
uuid | string | Unique identifier for the order from OwlPay |
status | string | Order status |
is_checked | boolean | Has the reconciliation order been reviewed |
order_serial | string | Unique identifier for the order from Application (Your system) (same as application_order_serial) |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
last_reject_transfer_reason | string | The last rejection reason after reconciliation order been reviewed |
is_rejected | boolean | Has the review been rejected |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
original_total | decimal | translation missing: en.order_data_type_original_total |
display_currency | string | Application default currency |
created_at | datetime | Created time from OwlPay |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
description | string | Order description |
meta_data | array | Key-Value data (ref: Meta Data) |
order_extras | array | translation missing: en.order_data_type_order_extras |
Order Status
Order Status | description |
---|---|
owlpay.received_order | OwlPay received order from application (Your System) |
platform.order_cancelled | Application cancelled orders |
vendor.order_unconfirmed | Application initiates order reconciliation request (order_transfer) to the vendor to check |
platform.order_unconfirmed | Vendor initiates order reconciliation request (order_transfer) to the application to check |
owlpay.order_confirmed | The order transfer is completed (to check the review of reconciliation order is rejected or approved, see is_reject is true or false in order object) |
owlpay.order_rejected | The order reconciliation request (order_transfer) has been rejected |
owlpay.order_settled | The order reconciliation request (order_transfer) has been settled(approved) |
bank.transfer_start | The bank received payout instruction to vendor (transaction starts) |
bank.transfer_end | The bank received payout instruction to vendor (transaction ends) |
List all order status
https://api.owlpay.com/api/v1/platform/tunnel/orders/status
{
"data": [
{
"name": "owlpay.received_order",
"description": "已匯入"
},
{
"name": "platform.order_cancelled",
"description": "已取消"
},
{
"name": "vendor.order_unconfirmed",
"description": "已申請對帳"
}pu,
{
"name": "platform.order_unconfirmed",
"description": "供應商對帳確認中"
},
{
"name": "owlpay.order_confirmed",
"description": "雙方已確認對帳"
},
{
"name": "bank.transfer_start",
"description": "銀行交易處理中"
},
{
"name": "bank.transfer_end",
"description": "銀行交易完成"
},
{
"name": "dest_bank.validated",
"description": "銀行款項已確認"
},
{
"name": "owlpay.order_settled",
"description": "已結清"
}
],
"status": 200
}
Meta Query
Parameter | Type | Default | Description |
---|---|---|---|
lang | string | en | support lang (en, ja, zh_tw, vi, th) |
Order Status | description |
---|---|
owlpay.received_order | OwlPay received order from application (Your System) |
platform.order_cancelled | Application cancelled orders |
vendor.order_unconfirmed | Application initiates order reconciliation request (order_transfer) to the vendor to check |
platform.order_unconfirmed | Vendor initiates order reconciliation request (order_transfer) to the application to check |
owlpay.order_confirmed | The order transfer is completed (to check the review of reconciliation order is rejected or approved, see is_reject is true or false in order object) |
owlpay.order_rejected | The order reconciliation request (order_transfer) has been rejected |
owlpay.order_settled | The order reconciliation request (order_transfer) has been settled(approved) |
bank.transfer_start | The bank received payout instruction to vendor (transaction starts) |
bank.transfer_end | The bank received payout instruction to vendor (transaction ends) |
Create a order
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
-u <application_secret>: \
-d order_serial="OPY12345678" \
-d currency='TWD' \
-d total=10000 \
-d vendor_uuid=<vendor_uuid> \
-d "meta_data[order_id]"=9527
Response Example
{
"data": {
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/orders
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
currency | string | ✅ | Follows ISO currency code, please fill in upper case | |
total | decimal | ✅ | Order total from Application | |
application_order_uuid | string | ✅ | Order serial number from Application | |
is_force_create | boolean | false | If set to True, OwlPay will create a new order even the order number already exists | |
description | string | Order description | ||
vendor_uuid | string | ✅ | Vendor's unique identifier on OwlPay used for updating vendor's information | |
application_vendor_uuid | string | ✅ | Vendor's unique identifier on Application (must fill in "vendor_uuid" or "application_vendor_uuid") | |
order_created_at | datetime | Order created time on OwlPay. Time format follows ISO8601(W3C) Complete date plus hours, minutes and seconds:YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) | ||
allow_transfer_time_at | datetime | Allowable time for reconciliation | ||
meta_data | array | Key-Value data (ref: Meta Data) | ||
order_extras | array | translation missing: en.order_detail_form_data_order_extras |
Response
Parameter | Type | Description |
---|---|---|
order_token | string | Unique identifier for the order from OwlPay (same as uuid) |
object | string | Object name |
uuid | string | Unique identifier for the order from OwlPay |
status | string | Order status |
is_checked | boolean | Has the reconciliation order been reviewed |
order_serial | string | Unique identifier for the order from Application (Your system) (same as application_order_serial) |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
last_reject_transfer_reason | string | The last rejection reason after reconciliation order been reviewed |
is_rejected | boolean | Has the review been rejected |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
original_total | decimal | translation missing: en.order_data_type_original_total |
display_currency | string | Application default currency |
created_at | datetime | Created time from OwlPay |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
description | string | Order description |
meta_data | array | Key-Value data (ref: Meta Data) |
order_extras | array | translation missing: en.order_data_type_order_extras |
Create orders (batch)
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders/batch \
-u <application_secret>: \
-d "orders[0][vendor_uuid]"=<vendor_uuid> \
-d "orders[0][order_serial]"="OPY12345678" \
-d "orders[0][currency]"="TWD" \
-d "orders[0][total]"=10000 \
-d "orders[0][meta_data][order_id]"=9527
Response Example
{
"data": [
{
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
{...},
{...},
],
"status": 200,
"pagination": {
"total": 65,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 6,
"links": {
"next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
}
}
}
https://api.owlpay.com/api/v1/platform/tunnel/orders/batch
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
currency | string | ✅ | Follows ISO currency code, please fill in upper case | |
total | decimal | ✅ | Order total from Application | |
application_order_uuid | string | ✅ | Order serial number from Application | |
is_force_create | boolean | false | If set to True, OwlPay will create a new order even the order number already exists | |
description | string | Order description | ||
vendor_uuid | string | ✅ | Vendor's unique identifier on OwlPay used for updating vendor's information | |
application_vendor_uuid | string | ✅ | Vendor's unique identifier on Application (must fill in "vendor_uuid" or "application_vendor_uuid") | |
order_created_at | datetime | Order created time on OwlPay. Time format follows ISO8601(W3C) Complete date plus hours, minutes and seconds:YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) | ||
allow_transfer_time_at | datetime | Allowable time for reconciliation | ||
meta_data | array | Key-Value data (ref: Meta Data) | ||
order_extras | array | translation missing: en.order_detail_form_data_order_extras |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique identifier for the order from OwlPay |
object | string | Object name |
status | string | Order status |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
created_at | datetime | Created time from OwlPay |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
Retrieve a order
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders/{order_uuid} \
-u <application_secret>:
Response Example
{
"data": {
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/orders/{order_uuid}
Response
Parameter | Type | Description |
---|---|---|
order_token | string | Unique identifier for the order from OwlPay (same as uuid) |
object | string | Object name |
uuid | string | Unique identifier for the order from OwlPay |
status | string | Order status |
is_checked | boolean | Has the reconciliation order been reviewed |
order_serial | string | Unique identifier for the order from Application (Your system) (same as application_order_serial) |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
last_reject_transfer_reason | string | The last rejection reason after reconciliation order been reviewed |
is_rejected | boolean | Has the review been rejected |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
original_total | decimal | translation missing: en.order_data_type_original_total |
display_currency | string | Application default currency |
created_at | datetime | Created time from OwlPay |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
description | string | Order description |
meta_data | array | Key-Value data (ref: Meta Data) |
order_extras | array | translation missing: en.order_data_type_order_extras |
Cancel orders
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
-u <application_secret>: \
-d "order_uuids[]=OPY12343210001" \
-d "order_uuids[]=OPY12343210002"
Response Example
{
"data": [
{
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
{...},
{...},
],
"status": 200,
"pagination": {
"total": 65,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 6,
"links": {
"next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
}
}
}
https://api.owlpay.com/api/v1/platform/tunnel/orders/cancel
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
order_uuids | array | ✅ | Fill in *application_order_serials* or *order_uuids* to cancel order | |
application_order_serials | array | ✅ | Fill in *application_order_serials* or *order_uuids* to cancel orders on Application |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique identifier for the order from OwlPay |
object | string | Object name |
status | string | Order status |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
created_at | datetime | Created time from OwlPay |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
List all orders
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
-u <application_secret>:
Response Example
{
"data": [
{
"order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"object": "order",
"uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
"status": "owlpay.order_unconfirmed",
"status_group": "submit",
"is_checked": false,
"is_allow_transfer": false,
"is_allow_close": false,
"is_allow_confirmed": false,
"is_allow_correction": false,
"deny_transfer_reasons": [],
"order_serial": "ORD20220101010101001",
"application_order_serial": "ORD20220101010101001",
"application_order_created_at": "2022-04-07T16:27:41+00:00",
"allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
"last_reject_transfer_reason": null,
"is_rejected": false,
"currency": "TWD",
"total": 100012,
"original_total": 100012,
"display_currency": "TWD",
"created_at": "2022-04-07T16:27:41+00:00",
"updated_at": "2022-04-07T16:40:45+00:00",
"vendor_uuid": "ven_xxxxxxxxxxx",
"vendor_name": "Your Vendor Name",
"application_vendor_uuid": "0001",
"is_vendor_kyc_passed": true,
"description": null,
"meta_data": {},
"status_logs": [
{
"name": "Incomplete reconciliation",
"is_current": false,
"updated_time_at": "2022-04-07T16:27:41+00:00"
},
{
"name": "Pending for approval",
"is_current": true,
"updated_time_at": "2022-04-07T16:40:45+00:00"
},
{
"name": "Approved",
"is_current": false,
"updated_time_at": null
},
{
"name": "Pending for payment",
"is_current": false,
"updated_time_at": null
},
{
"name": "Paid successfully",
"is_current": false,
"updated_time_at": null
}
],
"order_extras": {
"inclusive": {
"total": 0,
"items": []
},
"exclusive": {
"total": 0,
"items": []
}
},
"closed_transfer_reason": null,
"order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
"accounting_uuid": null,
"vendor_status": "approved",
"is_has_need_correction": false,
"import_uuid": null,
"is_from_import": false
},
{...},
{...},
],
"status": 200,
"pagination": {
"total": 65,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 6,
"links": {
"next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
}
}
}
https://api.owlpay.com/api/v1/platform/tunnel/orders
Query
Parameter | Type | Description |
---|---|---|
currency | string | Order currency |
vendor_uuid | string | Vendor's unique identifier on OwlPay used for updating vendor's information (prefix: ven_) (ref:The vendor object) |
vendor_email | string | Vendor email on your application (ref:The vendor object) |
application_order_serial | string | Array, unique order number(serial) on your Application (ref:The order object) |
application_order_serials | array | Array, unique order number(serial) on your Application (ref:The order object) |
order_uuid | string | Unique order identifier on OwlPay (prefix: ord_) (ref:The order object) |
order_uuids | array | Array, unique order identifier on OwlPay (ref:The order object) |
order_status | string | Order status (ref:The order object) |
application_vendor_uuid | string | Unique vendor identifier on Application (ref:The vendor object) |
during_created_at | string | Order created time on OwlPay format:ISO8601(W3C) |
during_order_created_at | array | Order created time on your Application (default timezone: UTC+0) (ref:The order object) |
during_allow_transfer_time_at | array | Allowable time for reconciliation |
is_rejected | boolean | Order has been rejected |
is_vendor_kyc_passed | boolean | Is the KYC status of vendor approved |
uuid_query | string | OwlPay uuid query (order uuid / orders reconciliation uuid / accounting uuid) |
vendor_status_list | array | Search orders by vendor status (uncheck / approved / deleted) |
import_uuid | string | Imported order uuid |
import_uuids | array | Array, imported order uuid |
Query for pagination
Parameter | Type | Default | Description |
---|---|---|---|
page | int | 1 | ref: Pagination |
limit | int | 12 | ref: Pagination |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique identifier for the order from OwlPay |
object | string | Object name |
status | string | Order status |
application_order_serial | string | Unique identifier of the order from Application (Your system) |
application_order_created_at | datetime | Created time from Application (Your system) |
created_at | datetime | Created time from OwlPay |
currency | string | Currency |
total | decimal | Order amount paid to vendor |
vendor_uuid | string | Unique Vendor identifier for the vendor from OwlPay |
vendor_name | string | The Vendor Name |
application_vendor_uuid | string | Unique Vendor identifier for the order from Application (Your system) |
Orders reconciliation
The orders reconciliation object
Response Example
{
"data": {
"is_test": true,
"is_pair_approval": false,
"group_uuid": null,
"uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
"object": "order_transfer",
"uncheck_count": 0,
"checked_count": 1,
"currency": "TWD",
"status": "settled",
"total": 2980,
"settled_total": 0,
"finished_at": "2021-03-28 09:08:27",
"display_currency": "TWD",
"display_total": 2980,
"fee_currency": "TWD",
"fee": 0,
"display_fee_currency": "TWD",
"display_fee": 0,
"apply_user": {
"object": "order_transfer.apply_user",
"owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
"name": "OwlPay Apply User",
"email": "owlpay@owlting.com",
"guard": "platform"
},
"orders": [
{
...
}
],
"vendors": [
{
"object": "order_transfer.vendor",
"application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
"uuid": "ven_xxxxxxxxxxxxxx",
"email": "owlpay_vendor@gmail.com",
"name": "OwlPay Vendor Name"
}
],
"created_at": "2021-03-19T08:19:02+00:00",
"updated_at": "2021-03-28T09:08:27+00:00"
},
"status": 200
}
Attributes
Column | Type | Description |
---|---|---|
is_test | boolean | Is test mode |
is_allow_check | boolean | Whether to allow current users to review |
is_allow_batch_finish | boolean | Whether to allow batch approvals |
group_uuid | string | Not available currently |
uuid | string | Unique reconciliation identifier |
object | string | Object name |
uncheck_count | int | Number of awaiting-review reconciliation order |
checked_count | int | Number of reviewed reconciliation order |
status | string | reconciliation order status |
total | decimal | Total amount of orders in the reconciliation order |
settled_total | decimal | Total amount of approved reconciliation order |
settled_count | int | Number of reconciliation order being reviewed |
finished_at | datetime | Time of completing review |
created_at | datetime | Reconciliation order created time |
updated_at | datetime | Reconciliation order updated time |
orders | array | ref: the order object |
vendors.*.application_vendor_uuid | string | Unique vendor identifier on Application |
vendors.*.uuid | string | Unique vendor identifier on OwlPay |
vendors.*.email | string | Vendor Email |
vendors.*.name | string | Vendor name |
draft.approve_total | decimal | Total amount of approved reconciliation order (in draft status) |
draft.reject_total | decimal | Total amount of rejected reconciliation order (in draft status) |
draft.uncheck_total | decimal | Total amount of awaiting-review reconciliation order (in draft status) |
draft.approve_count | int | Total number of approved reconciliation order (in draft status) |
draft.reject_count | int | Total number of rejected reconciliation order (in draft status) |
draft.uncheck_count | int | Total number of awaiting-review reconciliation order (in draft status) |
settled.total | decimal | Total amount of approved reconciliation order |
settled.approve_total | decimal | Total amount of approved reconciliation order |
settled.reject_total | decimal | Total amount of rejected reconciliation order |
settled.approve_count | int | Number of approved reconciliation order |
settled.reject_count | int | Number of rejected reconciliation order |
apply_user.owlting_uuid | string | Unique applicant identifier on OwlTing |
apply_user.name | string | Applicant name |
apply_user.email | string | Applicant Email |
apply_user.guard | string | Applicant identity (Vendor_user / Application_user) |
Create a orders reconciliation
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation \
-u <application_secret>: \
-d order_serials[0]="OPY00000001" \
-d order_serials[1]="OPY00000002"
Response Example
{
"data": {
"is_test": true,
"is_pair_approval": false,
"group_uuid": null,
"uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
"object": "order_transfer",
"uncheck_count": 0,
"checked_count": 1,
"currency": "TWD",
"status": "settled",
"total": 2980,
"settled_total": 0,
"finished_at": "2021-03-28 09:08:27",
"display_currency": "TWD",
"display_total": 2980,
"fee_currency": "TWD",
"fee": 0,
"display_fee_currency": "TWD",
"display_fee": 0,
"apply_user": {
"object": "order_transfer.apply_user",
"owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
"name": "OwlPay Apply User",
"email": "owlpay@owlting.com",
"guard": "platform"
},
"orders": [
{
...
}
],
"vendors": [
{
"object": "order_transfer.vendor",
"application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
"uuid": "ven_xxxxxxxxxxxxxx",
"email": "owlpay_vendor@gmail.com",
"name": "OwlPay Vendor Name"
}
],
"created_at": "2021-03-19T08:19:02+00:00",
"updated_at": "2021-03-28T09:08:27+00:00"
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation
FormData
Parameter | Type | Default | Description |
---|---|---|---|
vendor_uuid | string | Unique vendor identifier | |
vendor_email | string | Vendor Email | |
order_serial | string | Order number on Application | |
order_serials | string | Array of order number on Application | |
order_uuid | string | Order uuid | |
order_uuids | array | Array, order uuid | |
order_status | string | Order status | |
customer_vendor_uuid | string | Unique vendor identifier on Application | |
during_order_created_at | string | Query the order when the Application is available (OwlPay uses UTC+0 to query when timezone is not given) (e.g. &during_order_created_at=2020-12-17T00:00:00+08:00,2020-12-18T23:59:59+08:00) |
Response
Column | Type | Description |
---|---|---|
is_test | boolean | Is test mode |
is_allow_check | boolean | Whether to allow current users to review |
is_allow_batch_finish | boolean | Whether to allow batch approvals |
group_uuid | string | Not available currently |
uuid | string | Unique reconciliation identifier |
object | string | Object name |
uncheck_count | int | Number of awaiting-review reconciliation order |
checked_count | int | Number of reviewed reconciliation order |
status | string | reconciliation order status |
total | decimal | Total amount of orders in the reconciliation order |
settled_total | decimal | Total amount of approved reconciliation order |
settled_count | int | Number of reconciliation order being reviewed |
finished_at | datetime | Time of completing review |
created_at | datetime | Reconciliation order created time |
updated_at | datetime | Reconciliation order updated time |
orders | array | ref: the order object |
vendors.*.application_vendor_uuid | string | Unique vendor identifier on Application |
vendors.*.uuid | string | Unique vendor identifier on OwlPay |
vendors.*.email | string | Vendor Email |
vendors.*.name | string | Vendor name |
draft.approve_total | decimal | Total amount of approved reconciliation order (in draft status) |
draft.reject_total | decimal | Total amount of rejected reconciliation order (in draft status) |
draft.uncheck_total | decimal | Total amount of awaiting-review reconciliation order (in draft status) |
draft.approve_count | int | Total number of approved reconciliation order (in draft status) |
draft.reject_count | int | Total number of rejected reconciliation order (in draft status) |
draft.uncheck_count | int | Total number of awaiting-review reconciliation order (in draft status) |
settled.total | decimal | Total amount of approved reconciliation order |
settled.approve_total | decimal | Total amount of approved reconciliation order |
settled.reject_total | decimal | Total amount of rejected reconciliation order |
settled.approve_count | int | Number of approved reconciliation order |
settled.reject_count | int | Number of rejected reconciliation order |
apply_user.owlting_uuid | string | Unique applicant identifier on OwlTing |
apply_user.name | string | Applicant name |
apply_user.email | string | Applicant Email |
apply_user.guard | string | Applicant identity (Vendor_user / Application_user) |
Retrieve a orders reconciliation
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation/{orders_reconciliation_uuid} \
-u <application_secret>:
Response Example
{
"data": {
"is_test": true,
"is_pair_approval": false,
"group_uuid": null,
"uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
"object": "order_transfer",
"uncheck_count": 0,
"checked_count": 1,
"currency": "TWD",
"status": "settled",
"total": 2980,
"settled_total": 0,
"finished_at": "2021-03-28 09:08:27",
"display_currency": "TWD",
"display_total": 2980,
"fee_currency": "TWD",
"fee": 0,
"display_fee_currency": "TWD",
"display_fee": 0,
"apply_user": {
"object": "order_transfer.apply_user",
"owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
"name": "OwlPay Apply User",
"email": "owlpay@owlting.com",
"guard": "platform"
},
"orders": [
{
...
}
],
"vendors": [
{
"object": "order_transfer.vendor",
"application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
"uuid": "ven_xxxxxxxxxxxxxx",
"email": "owlpay_vendor@gmail.com",
"name": "OwlPay Vendor Name"
}
],
"created_at": "2021-03-19T08:19:02+00:00",
"updated_at": "2021-03-28T09:08:27+00:00"
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation/{orders_reconciliation_uuid}
Response
Column | Type | Description |
---|---|---|
is_test | boolean | Is test mode |
is_allow_check | boolean | Whether to allow current users to review |
is_allow_batch_finish | boolean | Whether to allow batch approvals |
group_uuid | string | Not available currently |
uuid | string | Unique reconciliation identifier |
object | string | Object name |
uncheck_count | int | Number of awaiting-review reconciliation order |
checked_count | int | Number of reviewed reconciliation order |
status | string | reconciliation order status |
total | decimal | Total amount of orders in the reconciliation order |
settled_total | decimal | Total amount of approved reconciliation order |
settled_count | int | Number of reconciliation order being reviewed |
finished_at | datetime | Time of completing review |
created_at | datetime | Reconciliation order created time |
updated_at | datetime | Reconciliation order updated time |
orders | array | ref: the order object |
vendors.*.application_vendor_uuid | string | Unique vendor identifier on Application |
vendors.*.uuid | string | Unique vendor identifier on OwlPay |
vendors.*.email | string | Vendor Email |
vendors.*.name | string | Vendor name |
draft.approve_total | decimal | Total amount of approved reconciliation order (in draft status) |
draft.reject_total | decimal | Total amount of rejected reconciliation order (in draft status) |
draft.uncheck_total | decimal | Total amount of awaiting-review reconciliation order (in draft status) |
draft.approve_count | int | Total number of approved reconciliation order (in draft status) |
draft.reject_count | int | Total number of rejected reconciliation order (in draft status) |
draft.uncheck_count | int | Total number of awaiting-review reconciliation order (in draft status) |
settled.total | decimal | Total amount of approved reconciliation order |
settled.approve_total | decimal | Total amount of approved reconciliation order |
settled.reject_total | decimal | Total amount of rejected reconciliation order |
settled.approve_count | int | Number of approved reconciliation order |
settled.reject_count | int | Number of rejected reconciliation order |
apply_user.owlting_uuid | string | Unique applicant identifier on OwlTing |
apply_user.name | string | Applicant name |
apply_user.email | string | Applicant Email |
apply_user.guard | string | Applicant identity (Vendor_user / Application_user) |
List order reconciliation status
Order transfer Status | description |
---|---|
unconfirm | Awaiting review (default) |
in_process | In process (when at least one reconciliation order has been reviewed) |
wait_remit | Same currency (domestic, currently set to TWD only) When the reconciliation order is reviewed, the reconciliation order status will be changed to wait_remit. |
on_the_way_to_bank | Same currency (domestic, currently set to TWD only) After the user has downloaded the reconciliation order report, and the reconciliation order has not been reviewed |
settled | Settled |
List all orders reconciliation
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation \
-u <application_secret>:
Response Example
{
"data": [
{
"is_test": true,
"is_pair_approval": false,
"group_uuid": null,
"uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
"object": "order_transfer",
"uncheck_count": 0,
"checked_count": 1,
"currency": "TWD",
"status": "settled",
"total": 2980,
"settled_total": 0,
"finished_at": "2021-03-28 09:08:27",
"display_currency": "TWD",
"display_total": 2980,
"fee_currency": "TWD",
"fee": 0,
"display_fee_currency": "TWD",
"display_fee": 0,
"apply_user": {
"object": "order_transfer.apply_user",
"owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
"name": "OwlPay Apply User",
"email": "owlpay@owlting.com",
"guard": "platform"
},
"orders": [
{
...
}
],
"vendors": [
{
"object": "order_transfer.vendor",
"application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
"uuid": "ven_xxxxxxxxxxxxxx",
"email": "owlpay_vendor@gmail.com",
"name": "OwlPay Vendor Name"
}
],
"created_at": "2021-03-19T08:19:02+00:00",
"updated_at": "2021-03-28T09:08:27+00:00"
},
{...},
{...},
...
],
"status": 200,
"pagination": {
"total": 39,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 4,
"links": {
"next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders_transfer?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders_transfer&page=2"
}
}
}
https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation
Response
Column | Type | Description |
---|---|---|
is_test | boolean | Is test mode |
is_allow_check | boolean | Whether to allow current users to review |
is_allow_batch_finish | boolean | Whether to allow batch approvals |
group_uuid | string | Not available currently |
uuid | string | Unique reconciliation identifier |
object | string | Object name |
uncheck_count | int | Number of awaiting-review reconciliation order |
checked_count | int | Number of reviewed reconciliation order |
status | string | reconciliation order status |
total | decimal | Total amount of orders in the reconciliation order |
settled_total | decimal | Total amount of approved reconciliation order |
settled_count | int | Number of reconciliation order being reviewed |
finished_at | datetime | Time of completing review |
created_at | datetime | Reconciliation order created time |
updated_at | datetime | Reconciliation order updated time |
orders | array | ref: the order object |
vendors.*.application_vendor_uuid | string | Unique vendor identifier on Application |
vendors.*.uuid | string | Unique vendor identifier on OwlPay |
vendors.*.email | string | Vendor Email |
vendors.*.name | string | Vendor name |
draft.approve_total | decimal | Total amount of approved reconciliation order (in draft status) |
draft.reject_total | decimal | Total amount of rejected reconciliation order (in draft status) |
draft.uncheck_total | decimal | Total amount of awaiting-review reconciliation order (in draft status) |
draft.approve_count | int | Total number of approved reconciliation order (in draft status) |
draft.reject_count | int | Total number of rejected reconciliation order (in draft status) |
draft.uncheck_count | int | Total number of awaiting-review reconciliation order (in draft status) |
settled.total | decimal | Total amount of approved reconciliation order |
settled.approve_total | decimal | Total amount of approved reconciliation order |
settled.reject_total | decimal | Total amount of rejected reconciliation order |
settled.approve_count | int | Number of approved reconciliation order |
settled.reject_count | int | Number of rejected reconciliation order |
apply_user.owlting_uuid | string | Unique applicant identifier on OwlTing |
apply_user.name | string | Applicant name |
apply_user.email | string | Applicant Email |
apply_user.guard | string | Applicant identity (Vendor_user / Application_user) |
Vendor
The vendor object
{
"data": {
"uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
"object": "vendor",
"application_vendor_uuid": "16584585454784",
"name": "VendorTest_1658458545",
"email": "VendorTest_1658458545_7829@owlpay.com",
"description": "",
"note": null,
"is_removed": false,
"is_active": false,
"is_vendor_kyc_passed": false,
"status": "uncheck",
"kyc_status_list": {
"remit_info": { "status": "unchecked", "is_allow_update": true }
},
"country_iso": "TW",
"is_invited": false,
"is_registered": false,
"remit_info": [
{
"id": 4856,
"status": 0,
"sort": 0,
"payout_gateway": "MyB2B_batch_payout",
"is_enable": 1,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYMARAS",
"currency": "TWD"
}
},
{...}
]
},
"status": 200
}
Attributes
Parameter | Type | Description |
---|---|---|
uuid | string | Unique Vendor identifier for the vendor from OwlPay |
object | string | Vendor's object |
application_vendor_uuid | string | Unique Vendor identifier from Application |
name | string | Vendor's name |
string | Vendor email | |
description | string | Vendor description |
vendor_information | array | Vendor information (required, ref: Vendors remit info) |
contact | array | Vendor contact information (required, ref: Vendors remit info) |
remit_info | array | Vendor's remittance info (required, ref: Vendors remit info) |
Create a vendor
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
-u <application_secret>: \
-d name="OwlPay Vendor Name" \
-d email="owlting@owlpay.com" \
-d country_iso="TW"
{
"data": {
"uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
"object": "vendor",
"application_vendor_uuid": "16584585454784",
"name": "VendorTest_1658458545",
"email": "VendorTest_1658458545_7829@owlpay.com",
"description": "",
"note": null,
"is_removed": false,
"is_active": false,
"is_vendor_kyc_passed": false,
"status": "uncheck",
"kyc_status_list": {
"remit_info": { "status": "unchecked", "is_allow_update": true }
},
"country_iso": "TW",
"is_invited": false,
"is_registered": false,
"remit_info": [
{
"id": 4856,
"status": 0,
"sort": 0,
"payout_gateway": "MyB2B_batch_payout",
"is_enable": 1,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYMARAS",
"currency": "TWD"
}
},
{...}
]
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
name | string | Vendor name | ||
country_iso | string | Vendor country | ||
uuid | string | Unique vendor identifier on OwlPay | ||
application_vendor_uuid | string | Unique Vendor identifier from Application | ||
string | Vendor email | |||
description | string | Vendor description |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique Vendor identifier for the vendor from OwlPay |
object | string | Vendor's object |
application_vendor_uuid | string | Unique Vendor identifier from Application |
name | string | Vendor's name |
string | Vendor email | |
description | string | Vendor description |
vendor_information | array | Vendor information (required, ref: Vendors remit info) |
contact | array | Vendor contact information (required, ref: Vendors remit info) |
remit_info | array | Vendor's remittance info (required, ref: Vendors remit info) |
Update a vendor
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
-u <application_secret>: \
-d name="OwlPay Vendor Name" \
-d email="owlting@owlpay.com" \
-d country_iso="TW"
{
"data": {
"uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
"object": "vendor",
"application_vendor_uuid": "16584585454784",
"name": "VendorTest_1658458545",
"email": "VendorTest_1658458545_7829@owlpay.com",
"description": "",
"note": null,
"is_removed": false,
"is_active": false,
"is_vendor_kyc_passed": false,
"status": "uncheck",
"kyc_status_list": {
"remit_info": { "status": "unchecked", "is_allow_update": true }
},
"country_iso": "TW",
"is_invited": false,
"is_registered": false,
"remit_info": [
{
"id": 4856,
"status": 0,
"sort": 0,
"payout_gateway": "MyB2B_batch_payout",
"is_enable": 1,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYMARAS",
"currency": "TWD"
}
},
{...}
]
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
name | string | Vendor name | ||
country_iso | string | Vendor country | ||
uuid | string | Unique vendor identifier on OwlPay | ||
application_vendor_uuid | string | Unique Vendor identifier from Application | ||
string | Vendor email | |||
description | string | Vendor description |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique Vendor identifier for the vendor from OwlPay |
object | string | Vendor's object |
application_vendor_uuid | string | Unique Vendor identifier from Application |
name | string | Vendor's name |
string | Vendor email | |
description | string | Vendor description |
vendor_information | array | Vendor information (required, ref: Vendors remit info) |
contact | array | Vendor contact information (required, ref: Vendors remit info) |
remit_info | array | Vendor's remittance info (required, ref: Vendors remit info) |
Retrieve a vendor
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
-u <application_secret>
{
"data": {
"uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
"object": "vendor",
"application_vendor_uuid": "16584585454784",
"name": "VendorTest_1658458545",
"email": "VendorTest_1658458545_7829@owlpay.com",
"description": "",
"note": null,
"is_removed": false,
"is_active": false,
"is_vendor_kyc_passed": false,
"status": "uncheck",
"kyc_status_list": {
"remit_info": { "status": "unchecked", "is_allow_update": true }
},
"country_iso": "TW",
"is_invited": false,
"is_registered": false,
"remit_info": [
{
"id": 4856,
"status": 0,
"sort": 0,
"payout_gateway": "MyB2B_batch_payout",
"is_enable": 1,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYMARAS",
"currency": "TWD"
}
},
{...}
]
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}
Response
Parameter | Type | Description |
---|---|---|
uuid | string | Unique Vendor identifier for the vendor from OwlPay |
object | string | Vendor's object |
application_vendor_uuid | string | Unique Vendor identifier from Application |
name | string | Vendor's name |
string | Vendor email | |
description | string | Vendor description |
vendor_information | array | Vendor information (required, ref: Vendors remit info) |
contact | array | Vendor contact information (required, ref: Vendors remit info) |
remit_info | array | Vendor's remittance info (required, ref: Vendors remit info) |
Delete a vendor
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
-u <application_secret>: \
-X DELETE
Response Example
{
"data": {
"deleted": true,
"message": "success"
},
"status": 200
}
delete https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}
List all vendors
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
-u <application_secret>:
Response Example
{
"data": [
{
"uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
"object": "vendor",
"application_vendor_uuid": "16584585454784",
"name": "VendorTest_1658458545",
"email": "VendorTest_1658458545_7829@owlpay.com",
"description": "",
"note": null,
"is_removed": false,
"is_active": false,
"is_vendor_kyc_passed": false,
"status": "uncheck",
"kyc_status_list": {
"remit_info": { "status": "unchecked", "is_allow_update": true }
},
"country_iso": "TW",
"is_invited": false,
"is_registered": false,
"remit_info": [
{
"id": 4856,
"status": 0,
"sort": 0,
"payout_gateway": "MyB2B_batch_payout",
"is_enable": 1,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYMARAS",
"currency": "TWD"
}
},
{...}
]
},
{...}
],
"status": 200,
"pagination": {
"total": 614,
"count": 12,
"perPage": 12,
"currentPage": 1,
"totalPages": 52,
"links": {
"next": "http://owlpay.owlting.worker/api/v1/platform/tunnel/vendors?q=%2Fapi%2Fv1%2Fplatform%2Ftunnel%2Fvendors&page=2"
}
}
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors
Meta Query
Parameter | Type | Default | Description |
---|---|---|---|
page | int | 1 | ref: Pagination |
limit | int | 12 | ref: Pagination |
Response
Parameter | Type | Description |
---|---|---|
uuid | string | vendor uuid on owlpay |
application_vendor_uuid | string | vendor uuid on application |
object | string | |
name | string | vendor name |
string | vendor email | |
description | string | vendor description |
vendor_information | array | vendor advenced information for KYC |
contact | array | vendor contact information for KYC |
remit_info | array | vendor remit information for KYC |
Vendors remit info
The vendor remit info object
Response Example
{
"data": [
{
"payout_gateway_channel": "cathay",
"payout_gateway_key": "MyB2B_batch_payout",
"payout_gateway": "Cathay United Bank - Global MyB2B",
"status": "checking",
"sort": 0,
"is_enable": true,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYTEST",
"currency": "TWD"
}
}
],
"status": 200
}
Attributes
Parameter | Type | Description |
---|---|---|
payout_gateway | string | Vendor payout information - payout method |
payout_gateway_key | string | Vendor payout information - key of payout method |
payout_gateway_channel | string | Vendor payout information - payout method for AML (cathay/ firstBank/nium/visa), ref OwlTing AML Schema Tool |
status | string | Vendor payout information - payout method status |
sort | int | Vendor payout information - the priority of payout method (the smaller the number, the higher the priority) |
is_enable | boolean | Vendor payout information - whether the payout method is enabled |
detail | object | Vendor payout information - payout method details |
Apply a vendor remit info
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info/apply \
-u <application_secret>: \
-d payout_channel="cathay" \
-d applicant="company" \
-d "aml_data[companyName]"='Maras Test' \
-d "aml_data[businessAddressCity]"='Taipei' \
-d "aml_data[businessAddressArea]"='Taipei' \
-d "aml_data[businessAddress]"='Taipei' \
-d "aml_data[companyPhoneCode]"='TW' \
-d "aml_data[companyPhoneNumber]"='0912345678' \
-d "aml_data[companyEmail]"='testing@owlpay.com' \
-d "aml_data[companyId]"='12345678' \
-d "aml_data[customName]"='Maras Account' \
-d "aml_data[bankCountry]"='TW' \
-d "aml_data[bankCode]"='013' \
-d "aml_data[branchCode]"='0017' \
-d "aml_data[currency]"='TWD' \
-d "aml_data[accountName]"='OWLPAYMARAS' \
-d "aml_data[account]"='264200000000'
Response Example
{
"data": [
{
"payout_gateway_channel": "cathay",
"payout_gateway_key": "MyB2B_batch_payout",
"payout_gateway": "Cathay United Bank - Global MyB2B",
"status": "checking",
"sort": 0,
"is_enable": true,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYTEST",
"currency": "TWD"
}
}
],
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info/apply
Vendor payout information, in accordance with each national regulations and payout method restrictions (ref this form to send required data)
FormData
Parameter | Type | Default | Required | Description |
---|---|---|---|---|
payout_channel | string | ✅ | Vendor payout information - payout method (depends on application activation) | |
applicant | decimal | ✅ | Vendor payout information - company/individual | |
aml_data | array | ✅ | Vendor payout information - KYC/AML details, ref OwlTing AML Schema Tool |
Response
Parameter | Type | Description |
---|---|---|
payout_gateway | string | Vendor payout information - payout method |
payout_gateway_key | string | Vendor payout information - key of payout method |
payout_gateway_channel | string | Vendor payout information - payout method for AML (cathay/ firstBank/nium/visa), ref OwlTing AML Schema Tool |
status | string | Vendor payout information - payout method status |
sort | int | Vendor payout information - the priority of payout method (the smaller the number, the higher the priority) |
is_enable | boolean | Vendor payout information - whether the payout method is enabled |
detail | object | Vendor payout information - payout method details |
List all vendor remit info
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info \
-u <application_secret>:
Response Example
{
"data": [
{
"payout_gateway_channel": "cathay",
"payout_gateway_key": "MyB2B_batch_payout",
"payout_gateway": "Cathay United Bank - Global MyB2B",
"status": "checking",
"sort": 0,
"is_enable": true,
"detail": {
"country_code": "TW",
"bank_code": "013",
"branch_code": "0130017",
"account": "264200000000",
"account_name": "OWLPAYTEST",
"currency": "TWD"
}
}
],
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info
Response
Parameter | Type | Description |
---|---|---|
payout_gateway | string | Vendor payout information - payout method |
payout_gateway_key | string | Vendor payout information - key of payout method |
payout_gateway_channel | string | Vendor payout information - payout method for AML (cathay/ firstBank/nium/visa), ref OwlTing AML Schema Tool |
status | string | Vendor payout information - payout method status |
sort | int | Vendor payout information - the priority of payout method (the smaller the number, the higher the priority) |
is_enable | boolean | Vendor payout information - whether the payout method is enabled |
detail | object | Vendor payout information - payout method details |
Vendors Invite
The vendor invite object
Response Example
{
"data": {
"object": "vendor_invite",
"uuid": "veninv_xxxxxxx",
"vendor_uuid": "ven_xxxxxxxxxxx",
"connect_invite_hash": "xxxxxxxxxxxx",
"invite_url": "https://auth.owlting.com/...",
"email": "vendor@owlpay.com",
"is_owlpay_send_email": false,
"expired_at": "2021-09-11T16:23:07+00:00",
"created_at": "2021-09-10T16:23:07+00:00"
},
"status": 200
}
Attributes
Parameter | Type | Description |
---|---|---|
object | string | Object name |
uuid | string | Unique vendor invite identifier |
vendor_uuid | string | Unique vendor identifier |
connect_invite_hash | string | invite token |
invite_url | string | invite link |
string,email | invite email (if "is_owlpay_send_email = True" when invite object is created, the invitation email will be sent to this email) | |
expired_at | string, iso8601 | Expiration date of link |
created_at | string, iso8601 | Link created time |
Create a vendor invite
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite \
-u <application_secret>: \
-d is_owlpay_send_email=false \
-d email='owlpay-team@owlting.com' \
-d "meta_data[vendor_name]"='Hello'
Response Example
{
"data": {
"object": "vendor_invite",
"uuid": "veninv_xxxxxxx",
"vendor_uuid": "ven_xxxxxxxxxxx",
"connect_invite_hash": "xxxxxxxxxxxx",
"invite_url": "https://auth.owlting.com/...",
"email": "vendor@owlpay.com",
"is_owlpay_send_email": false,
"expired_at": "2021-09-11T16:23:07+00:00",
"created_at": "2021-09-10T16:23:07+00:00"
},
"status": 200
}
https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite
FormData
Parameter | Type | Default | Description |
---|---|---|---|
is_owlpay_send_email | boolean | false | Whether to send email through OwlPay |
string | Required if *is_owlpay_send_email* is *true* | ||
meta_data | array | Metadata is useful for storing additional, structured information on an object | |
vendor | object | Vendor information. If you want to create a vendor along with the invitation, or invite a vendor that already exists on OwlPay ) |
Formdata - vendor invite with vendor
Parameter | Type | Default | Description |
---|---|---|---|
uuid | string | Unique vendor identifier on OwlPay, if uuid already exists, OwlPay will invite vendor to join (ref: The vendor object) | |
application_vendor_uuid | string | Unique vendor identifier on Application (ref: The vendor object) | |
name | string | Vendor name on Application (ref: The vendor object) | |
description | string | Vendor description on Application (ref: The vendor object) | |
string | Required if *is_owlpay_send_email* is *true* |
Response
Parameter | Type | Description |
---|---|---|
object | string | Object name |
uuid | string | Unique vendor invite identifier |
vendor_uuid | string | Unique vendor identifier |
connect_invite_hash | string | invite token |
invite_url | string | invite link |
string,email | invite email (if "is_owlpay_send_email = True" when invite object is created, the invitation email will be sent to this email) | |
expired_at | string, iso8601 | Expiration date of link |
created_at | string, iso8601 | Link created time |
List all vendor invites
Request Example
curl https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite \
-u <application_secret>:
Response Example
{
"data": [
{
"object": "vendor_invite",
"uuid": "veninv_xxxxxxx",
"vendor_uuid": "ven_xxxxxxxxxxx",
"connect_invite_hash": "xxxxxxxxxxxx",
"invite_url": "https://auth.owlting.com/...",
"email": "vendor@owlpay.com",
"is_owlpay_send_email": false,
"expired_at": "2021-09-11T16:23:07+00:00",
"created_at": "2021-09-10T16:23:07+00:00"
},
...
],
"status": 200
}
Only can retrieve *vendor_invite* invitations that have not expired and have not been successfully invited
Response
Parameter | Type | Description |
---|---|---|
object | string | Object name |
uuid | string | Unique vendor invite identifier |
vendor_uuid | string | Unique vendor identifier |
connect_invite_hash | string | invite token |
invite_url | string | invite link |
string,email | invite email (if "is_owlpay_send_email = True" when invite object is created, the invitation email will be sent to this email) | |
expired_at | string, iso8601 | Expiration date of link |
created_at | string, iso8601 | Link created time |