Skip to main content

Overview

This document provides detailed descriptions of the common parameters and business parameters Required when calling all OPCCOUNT API endpoints. Please review carefully before initiating any requests.

Calling Process

Common Request Headers (Required for All APIs)

These headers are required for all endpoints and generally relate to authentication, signature, and basic billing information.

ParameterTypeRequiredDescriptionExample
Content-TypestringYesData typeapplication/json
Opccount-NostringYesOPCCOUNT account numberVA995149
Va-CodeintYesMerchant unique value, provided by Oceanpayment9435762187450928365
SignstringYesEncrypted signatureckQHqFTsawqHScEhxuovywiXTJMio9F0a62qdh/mIONvwWXzfdNFM4cl/2UN490VER64wmw18wOWsgHH/mKL7L+uu5jRQcLkYbwE5CfQEj6g2jHewa70b2zStZPes4DRrgRwLzK+vqwzdP0jifrRYbrB6qVjS8gD4RyGort/Ju1mfaVjJNgPlUWehDJPWPz5MAU/dRpB6ChX7IwjJm4cV/jUqZvOJMDqMov8H5kMyi7g0Jx7LVHIqx9O3Cjn+k+FASpJNNOnv7m5JjvdJkJYXgMC3pGK+uBc+hfHnc20piuz7KxDeQDtaAY9IXCWkPx8BcQaru1HMQgXmBicS85YkQ==
TimestampintYesTimestamp1694482115

Encryption

  • Signature method: sha256WithRSA. Generate a 2048-bit public/private key pair online.Provide the public key to Oceanpayment technical support; keep the private key for encrypting request parameters.
  • Signature parameters: All body parameters (except file attachments) + timestamp, sorted alphabetically; timestamp must match the request header timestamp.
$privateKey = "xxxx";// Private key
// Sort in lexicographical order
$sign_data={"billCurrency": ['USD'],"endDate": "2025-02-12 23:59:49","pageNum": 1,"pageSize": 1,"startDate": "2025-02-12 18:59:49","timestamp": "1694482115"};
$key = openssl_get_privatekey($privateKey);
openssl_sign($sign_data, $signature, $key, OPENSSL_ALGO_SHA256);
openssl_free_key($key);
$sign = base64_encode($signature);

Account Funds

Query Fund Details

ParameterTypeLengthRequiredDescriptionExample
pageNumint5NoCurrent page number
  • Default is 1
pageSizeint5NoPage size
  • default is 10
startDateint19NoStart date, max interval 1 year
  • Format: yyyy-MM-dd HH:mm:ss
endDateint19NoEnd date, max interval 1 year
  • Format: yyyy-MM-dd HH:mm:ss
billCurrencyarrayNoCurrencies
  • AUD
  • HKD
  • CHF
  • SGD
  • JPY
  • EUR
  • GBP
  • USD
  • CAD
  • NZD
  • ZAR
  • CNY

Balance Inquiry

ParameterTypeDescriptionExample
msgstringDescription
codeintStatus code
dataobjectData object containing fund details
currencystringCurrency
amountstringTotal OPCCOUNT amount
withdrawalAmountstringWithdrawable amount
congealAmountstringFrozen amount

Withdrawal Accounts

Query Withdrawal Accounts

ParameterTypeDescriptionExample
msgstringDescription
codeintStatus code
dataobjectAccount data object
bankAccountstringBank account number
withdrawalAccountKeystringWithdrawal account ID
isRecordintRecord status
  • 0: Not registered
  • 1: Registered
  • 2: Registration not required
currencystringAccount currency
bankNamestringBank name
bankHolderstringBank Holder
typeintBank account type
  • 1: Corporate account
  • 2: Personal account
statusintAccount status
  • -1: Under review
  • 0: Review failed
  • 1: Normal

Add Withdrawal Account

ParameterTypeLengthRequiredDescriptionExample
bankHolderstring200YesPayee account name
bankNamestring200YesPayee bank
bankAccountstring200YesBank account
settlementNumberstring200YesID number
  • Required when the 5th and 6th characters of the SWIFT Code are NZ or PE
settlementTypestring278NoID type
Required when the 5th and 6th characters of the SWIFT Code are NZ or PE
  • 1: Identity Card
  • 2: Business License Number (General)
  • 8: Unified Social Credit Code (Three-in-One Enterprise)
  • 9: Organization Code (Other Enterprises)
bankHolderPhonestring200NoBank reserved phone number
bankAddressstring200YesBank address
  • Required when the withdrawal currency is not CNY
addressstring200NoPayee address
provincestring200YesPayee province
  • Required when the withdrawal currency is not USD
citystring200YesPayee city
  • Required when the withdrawal currency is not USD
zipcodestring200YesPostal code
  • Required when the withdrawal currency is not USD
currencystring3YesWithdrawal currency
typeint1YesBank account type (Hong Kong entities can only use corporate accounts)
  • 1: Corporate account
  • 2: Personal account
swiftCodestring20YesSWIFT CODE (no SWIFT CODE for CNY)
bankProvincestring200NoBank province
bankCitystring200NoBank city
bankCodestring200NoBank country/region
  • Required if ID equals 152
branchCodestring200NoBRANCH CODE
  • Required if it exists in the SWIFT Code matched fields list
ibanNumberstring278NoIBAN Number
  • Required when the withdrawal currency is EUR, GBP, or TRY and the country/region is Europe
abaNumberstring278NoABA Number
  • Required when the withdrawal currency is USD or CAD and the country/region is the United States
bsbNumberstring278NoBSB Number
  • Required when the withdrawal currency is AUD and the country is Australia
sortCodestring6YesSort code
  • Required if sortCode exists in the list of fields matched by the SWIFT Code query
clabestring18NoClabe
  • Required if clabe exists in the list of fields matched by the SWIFT Code query
beneficiaryMsisdnstring6YesPayee mobile number (international format)
  • Required when the 5th and 6th characters of the SWIFT Code are JP
fileListobjectYesFile list

Modify Withdrawal Account

ParameterTypeLengthRequiredDescriptionExample
bankHolderstring200YesPayee account name
bankNamestring200YesPayee bank
bankAccountstring200YesBank account
settlementNumberstring200YesID number
  • Required when the 5th and 6th characters of the SWIFT Code are NZ or PE
settlementTypestring278NoID type
Required when the 5th and 6th characters of the SWIFT Code are NZ or PE
  • 1: Identity Card
  • 2: Business License Number (General)
  • 8: Unified Social Credit Code (Three-in-One Enterprise)
  • 9: Organization Code (Other Enterprises)
bankHolderPhonestring200NoBank reserved phone number
bankAddressstring200YesBank address
  • Required when the withdrawal currency is not CNY
addressstring200NoPayee address
provincestring200YesPayee province
  • Required when the withdrawal currency is not USD
citystring200YesPayee city
  • Required when the withdrawal currency is not USD
zipcodestring200YesPostal code
  • Required when the withdrawal currency is not USD
currencystring3YesWithdrawal currency
typeint1YesBank account type (Hong Kong entities can only use corporate accounts)
  • 1: Corporate account
  • 2: Personal account
swiftCodestring20YesSWIFT CODE (no SWIFT CODE for CNY)
bankProvincestring200NoBank province
bankCitystring200NoBank city
bankCodestring200NoBank country/region
  • Required if ID equals 152
branchCodestring200NoBRANCH CODE
  • Required if it exists in the SWIFT Code matched fields list
ibanNumberstring278NoIBAN Number
  • Required when the withdrawal currency is EUR, GBP, or TRY and the country/region is Europe
abaNumberstring278NoABA Number
  • Required when the withdrawal currency is USD or CAD and the country/region is the United States
bsbNumberstring278NoBSB Number
  • Required when the withdrawal currency is AUD and the country is Australia
sortCodestring6YesSort code
  • Required if sortCode exists in the list of fields matched by the SWIFT Code query
clabestring18NoClabe
  • Required if clabe exists in the list of fields matched by the SWIFT Code query
beneficiaryMsisdnstring6YesPayee mobile number (international format)
  • Required when the 5th and 6th characters of the SWIFT Code are JP
fileListobjectYesFile list
withdrawalAccountKeyobject50YesAccount unique identifier

Delete Withdrawal Account

ParameterTypeLengthRequiredDescriptionExample
withdrawalAccountKeystring20YesAccount unique identifier

Fund Payment Accounts

Query Fund Payment Accounts

ParameterTypeLengthRequiredDescriptionExample
keyWordsstring200NoSearch keywords (e.g., currency)
receiptOpccountNostring20NoPayee OPCCOUNT number

Add Fund Payment Account

ParameterTypeLengthRequiredDescriptionExample
receiptOpccountNostring20YesPayee OPCCOUNT number
  • must not be empty when the account type is OPCCOUNT

Delete Fund Payment Account

ParameterTypeLengthRequiredDescriptionExample
fundPaymentAccountKeyint19YesPayout Account unique identifier

Withdrawals

Query Withdrawal Records

ParameterTypeLengthRequiredDescriptionExample
startTimestring19YesStart time
  • Format: yyyy-MM-dd HH:mm:ss
endTimestring19YesEnd time
  • Format: yyyy-MM-dd HH:mm:ss
pageSizeint5NoPage size
  • default is 10
pageNumint5NoCurrent page number
  • Default is 1
statusint1NoWithdrawal status
  • -1: Pending
  • 0: Failure
  • 1: Success
  • 2: Send back
  • 3: Cancel
withdrawalCurrencyarray3NoWithdrawal currency

Withdrawal Quotation

ParameterTypeLengthRequiredDescriptionExample
withdrawalAccountKeystring20YesWithdrawal Account unique identifier
billCurrencystring3YesBilling currency
billAmountstring18YesBilling amount
  • Maximum 12-digit integer and 6 decimal places
transactionFeesBearingMethodsstring3YesFee bearing method
  • BEN
  • OUR
  • SHA

Withdrawal Application

ParameterTypeLengthRequiredDescriptionExample
withdrawalAccountKeystring20YesWithdrawal Account unique identifier
billCurrencystring3YesBilling currency
billAmountstring18YesBilling amount
  • Maximum 12-digit integer and 6 decimal places
transactionFeesBearingMethodsstring3YesFee bearing method
  • BEN
  • OUR
  • SHA

Fund Payment (Payout)

Payout Application

ParameterTypeLengthRequiredDescriptionExample
fundPaymentAccountKeystring20ConditionsPayout Account unique identifier
withholdingAccountKeystring20ConditionsAccount unique identifier
(Only a single entry is permitted. Multiple withholdings require multiple requests)
  • When withholdingAccountKey is not empty: match the agent OPC number using the OPCCOUNT number for withholding.
    • Payer: Pass the OPCCOUNT number (agent OPC number) in withholdingAccountKey
    • Payee: Use the OPCCOUNT number in the request header (main account OPC number)
  • When withholdingAccountKey is empty: the payout request logic applies
    • Payer: Use the OPCCOUNT number in the request header
    • Payee: Use fundPaymentAccountKey (account unique identifier) as the payee
paymentAmountstring18YesPayout amount
  • Maximum 12-digit integer and 6 decimal places
paymentCurrencystring3YesPayout currency
accountTypeint18YesPayout account type
  • 1: OPCCOUNT account
autoDebitint1YesAutomatic payout deduction
  • 1: Enable
  • 2: Disable
transactionTypeint1YesPayout transaction type
  • 1: Overseas Advertisers
  • 2: Overseas Logistics
  • 3: Overseas Supplier
  • 4: Business/Equity Related Companies
  • 5: Inter Group Subsidiaries
orderNumberstring0-50NoTransaction order number
orderCurrencystring0-3NoTransaction order currency
orderAmountstring0-10NoTransaction order amount
orderNotesstring0-500NoOrder remark
paymentDescstring278NoPayout payment description
notesOnBankstring278NoBank transfer remark
confirmAgreementstring1YesConfirm agreement
  • Default is 1
cooperationAgreementListfileNoCooperation agreement attachment
  • When applicationType = 1 and (transactionType = 4 or 5) and payerName = 0: Required attachments: Payout company registration certificate + Payout bank account proof + Payout personal address proof + Payout equity structure diagram + Invoice & Cooperation Agreement attachment ID
  • When applicationType = 1 and (transactionType = 1, 2, or 3): Required attachments: Cooperation Agreement + Invoice
  • When applicationType = 1 and (transactionType = 4 or 5) and payerName = 1: Required attachments: Payout company registration certificate + Payout bank account proof + Payout personal address proof + Payout equity structure diagram + Payout subsidiary attachment
  • When applicationType = 2 and (transactionType = 1, 2, or 3): Required attachments: Cooperation Agreement + Invoice
  • When applicationType = 2 and (transactionType = 4 or 5) and payerName = 0: Required attachments: Invoice & Cooperation Agreement attachment ID
  • When applicationType = 2 and (transactionType = 4 or 5) and payerName = 1: Required attachments: Payout subsidiary attachment
invoiceListfileNoinvoiceAttachment
companyRegCertificateListfileNoPayout company registration certificate attachment
bankAccountProofListfileNoPayout bank account attachment
personalAddressProofListfileNoPayout personal address proof attachment
equityStructureChartListfileNoPayout equity structure diagram attachment
subsidiaryListfileNoPayout subsidiary attachment
invoiceAndCooperationAgreementListfileNoInvoice & Cooperation agreement attachment

Payout Confirmation / Deduction

ParameterTypeLengthRequiredDescriptionExample
batchNoint10YesPayout batch number
  • After a payout request is successful, the payout batch number will be returned
billCurrencystring3YesPayout currency
  • The default is the payout request currency paymentCurrency.
    For currency exchange, provide the target currency.

Query Payout Records

ParameterTypeLengthRequiredDescriptionExample
pageSizeint5NoPage size
  • default is 10
timeTypeint1NoTime type
  • 1: Application time
  • 2: Payment time
currencyListarrayNoSupported payment currencies
  • AUD
  • HKD
  • CHF
  • SGD
  • JPY
  • EUR
  • GBP
  • USD
  • CAD
  • NZD
  • ZAR
  • CNY
batchNostring10NoBatch number
  • After a payout request is successful, the payout batch number will be returned
startTimestring19NoStart time
  • Format: yyyy-MM-dd HH:mm:ss
endTimestring19NoEnd time
  • Format: yyyy-MM-dd HH:mm:ss
pageNumint5NoCurrent page number
  • Default is 1
statusint2NoPayout status
  • 1: Under review
  • 2: Under review failed
  • 3: Under review passed
  • 4: Processing
  • 6: Payout successful
  • 7: Returned
  • 9: Refunded
  • 10: Payout deduction failed
  • 12: Cancelled

Download Remittance Advice

ParameterTypeLengthRequiredDescriptionExample
batchNoint10YesPayment batch number
  • After a payout request is successful, the payout batch number will be returned

Cancel Payout

ParameterTypeLengthRequiredDescriptionExample
batchNoint10YesPayment batch number
  • After a payout request is successful, the payout batch number will be returned