Supply Platform Collection Info
Endpoint: POST /v2/gc/platform/collection-transactions/supplement
Description: Submit business-scenario and funds-nature compliance information (plus supporting documents) for a PLATFORM_COLLECTION-type collection transaction that is waiting on this supplement before it can be matched.
Two discrepancies between the example request below and the current backend validation code, worth confirming with the backend team before relying on this page:
requestIdis missing from the example, but the DTO declares it as a required field (string, max 32 chars, no default). Confirm whether it's actually optional in practice (e.g. auto-generated upstream) or whether the example simply omitted a field that should be supplied.The example's
bizScenario/fundsNaturepairing may not be valid: it usesbizScenario=ACQUIRING_INSTITUTIONwithfundsNature=GOODS_TRADE_PLATFORM, butplatform-collection-info.refinement.tsmapsGOODS_TRADE_PLATFORM(andSERVICE_TRADE) to theTHIRD_PARTY_PAYMENT_RECEIVERgroup, notACQUIRING_INSTITUTION— see the grouping table below. If the refinement code is current, this combination would be rejected withFUNDS_NATURE_CROSS_GROUP.
Request
The target collection transaction must already exist for the calling merchant, have orderType=PLATFORM_COLLECTION, and be in WAIT_MATCH status — otherwise the request fails with a 422 (COLLECTION_TRANSACTION_INVALID_STATUS_ERROR) or a not-found error.
Request Body Field Descriptions (JSON)
requestId
string(32)
Yes
Merchant-generated unique request ID. Used for idempotency. Not present in the example request below — see warning above.
orderId
string(32)
Yes
The target collection transaction's orderId (the PLATFORM_COLLECTION-type order awaiting this supplement).
bizScenario
string
Yes
Business scenario. Enum: ACQUIRING_INSTITUTION | THIRD_PARTY_PAYMENT_RECEIVER. Determines which fundsNature values are allowed — see below.
fundsNature
string
Yes
Nature of funds. Must belong to the group allowed for bizScenario (see table below) or the request fails with FUNDS_NATURE_CROSS_GROUP.
subMerchantId
string(32)
Conditional
Sub-merchant identifier, if operating on behalf of a sub-merchant. Optional in general; required when the merchant operates in PSP mode.
orderReferenceId
string(64)
No
Merchant-side reference number. Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
currency
string
No
ISO 4217 currency code. Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
amount
number
No
Transaction amount (must be positive). Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
buyerName
string(256)
No
Buyer's name. Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
buyerArea
string(3)
No
Buyer's country/region code — 3 uppercase letters, must be a supported ISO 3166-1 alpha-3 code. Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
buyerOfficialWebsite
string(256)
No
Buyer's official website (must be a valid http/https URL). Always optional — no conditional-required rule in the current validation.
attachmentsFiles
array (each string(256))
No
File paths of PI/CI/contract documents (from the File Upload API). Required when bizScenario=THIRD_PARTY_PAYMENT_RECEIVER.
website
string(256)
No
Independent-website URL (must be a valid http/https URL). Required when fundsNature is GOODS_TRADE_INDEPENDENT_WEBSITE or SERVICE_TRADE_INDEPENDENT_WEBSITE.
applicationName
string(512)
No
Application name. Required when fundsNature=APP_DEVELOPER.
applicationDownloadUrl
string(256)
No
Application download URL (must be a valid http/https URL). Required when fundsNature=APP_DEVELOPER.
withdrawalCertificateFiles
array (each string(256))
No
Withdrawal certificate file paths. Required when bizScenario=ACQUIRING_INSTITUTION.
accountOwnershipCertificateFiles
array (each string(256))
No
Account ownership certificate file paths. Required when bizScenario=ACQUIRING_INSTITUTION.
settlementDetailFiles
array (each string(256))
No
Settlement detail file paths. Required when bizScenario=ACQUIRING_INSTITUTION.
otherFiles
array (each string(256))
No
Other supplementary file paths. Always optional.
remark
string(512)
No
Free-text remark.
Request sample
Example provided by the requester (see warning above — requestId is missing and the bizScenario/fundsNature pairing may not validate as-is):
Response
Response Field Descriptions
code
number
Response code.
data
object
Persisted platform-collection supplement record.
message
string
Response message.
neoResponseId
string
Unique NeoX response identifier (not present on every response).
data object fields:
id
string
Internal supplement record identifier.
merchantId
string
Merchant identifier.
subMerchantId
string
Echoes the submitted subMerchantId, if any.
requestId
string
Echoes the merchant-supplied requestId.
collectionTransactionId
string
Internal ID of the collection transaction this supplement was submitted for.
orderId
string
Echoes the submitted orderId.
bizScenario
string
Echoes the submitted bizScenario.
fundsNature
string
Echoes the submitted fundsNature.
response
object
Raw response payload from the upstream connector (shape varies); may include a data.supplyInfoId used internally to correlate the submission.
createdAt
date string
Record creation timestamp.
Notes
Requires Bearer token in the Authorization header.
The Accept-Language header can be used to specify the response language (Support: "vi", "en").
Use a unique
requestIdfor each submission.orderIdmust reference an existingPLATFORM_COLLECTION-type collection transaction inWAIT_MATCHstatus for the calling merchant.All file-path fields (
attachmentsFiles,withdrawalCertificateFiles,accountOwnershipCertificateFiles,settlementDetailFiles,otherFiles) expect values returned by the File Upload API (POST /v2/gc/files/upload).
Last updated
Was this helpful?