NAV Navbar
shell PHP

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

PROTECTget

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
}

PROTECTpost

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"
        }
    }
}

PROTECTpost

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
}

PROTECTget

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"
        }
    }
}

PROTECTput

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"
        }
    }
}

PROTECTget

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
}

PROTECTpost

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
}

PROTECTget

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"
        }
    }
}

PROTECTget

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
email 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
}

PROTECTpost 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
email 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
email 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
}

PROTECTput 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
email 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
email 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
}

PROTECTget 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
email 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
}

PROTECTdelete 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"
    }
  }
}

PROTECTget 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
email 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
}

PROTECTpost 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
}

PROTECTget 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
email 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
}

PROTECTpost

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
email 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)
email 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
email 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
}

PROTECTget

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
email 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