OpenAPI specification
Release: ActiveSingle operation + dependencies. Includes the request, responses, and referenced schemas for this API—not the full product specification.
Submit funds transaction.
/ch/v1/funds/transactMoves funds for a party. Set transactionDetails.operationType and send only the fields for your use case: - **Buyer refund (CREDIT)**: credits an onboarded buyer's wallet. Identify the buyer with payee.partyId. - **Buyer refund with onboarding (CREDIT)**: onboards a new buyer and credits the wallet in one request. Send the buyer's details in payee instead of a partyId. - **ACH wallet top-up (TOP_UP)**: pulls funds from a tokenized bank account in source into an onboarded party's wallet. - **Wallet payout (PAYOUT)**: pays out from an onboarded party's wallet to a tokenized instrument in target. For a cross-border payout, also send rate.referenceId. - **Payout without Onboarding (PAYOUT)**: pays out to a recipient who is not onboarded. Send the recipient's details in payee and the encrypted card in target. The request is accepted synchronously. The final status is sent to your webhook.
Showing 8 of 8 top-level parameters (16 total fields) for Buyer refund (CREDIT)
Client-Request-IdRequiredstringheaderUnique request correlation identifier used in HMAC signing.
TimestampRequiredstringheaderUnix epoch timestamp in milliseconds used in HMAC signing.
Auth-Token-TypeRequiredstringheaderAuthentication mechanism used by the request.
Available enum values
Selecting a value updates the request header.
AuthorizationRequiredstringheaderBase64 HMAC-SHA-256 signature; no prefix.
payeeRequiredobjectOnboarded party whose wallet is credited, topped up, or paid out from. Send partyId only. New buyer to onboard with this CREDIT. Do not send partyId; it is assigned during onboarding. Recipient of a payout who is not onboarded. Do not send partyId; identify the recipient with platform.merchantPartyId and describe the person in owners.
merchantDetailsRequiredobjectMerchant and terminal identifiers for the transaction.
transactionDetailsRequiredobjectTransaction details for a CREDIT. Transaction details for a TOP_UP. Transaction details for a PAYOUT.
amountRequiredobjectAmount object to support the request for payment.
Request
Buyer refund (CREDIT)Response
Continue with notifications
Explore the notification steps and callback examples for this request.
Top-level fields returned in a successful (201) response.
gatewayResponseobjectContains transaction state (PENDING, APPROVED, DECLINED, CANCELLED, REVERSED) and processing details for async tracking.
transactionDetailsobjectTransaction details specific to each request based on business requirements.
paymentReceiptobjectPayment receipt response details.
curl --request POST 'https://connect-cert.fiservapis.net/ch/v1/funds/transact' \
--header 'Client-Request-Id: <Client-Request-Id>' \
--header 'Timestamp: <Timestamp>' \
--header 'Auth-Token-Type: HMAC' \
--header 'Authorization: YOUR_BASE64_HMAC_SIGNATURE' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"payee": {
"partyId": "101517000004623"
},
"merchantDetails": {
"merchantId": "10400000000011",
"terminalId": "10000001"
},
"transactionDetails": {
"merchantOrderId": "MKT-ORDER-71720684",
"merchantTransactionId": "MKT-REFUND-71720684-01",
"operationType": "CREDIT"
},
"amount": {
"total": 55,
"currency": "USD"
}
}'| HTTP | Description |
|---|---|
| 400 | The request cannot be validated. |
| 401 | The request was unauthorized. |
| 404 | The requested resource does not exist. |
| 408 | The request was timed out due to not receiving the request in time. |
| 415 | The media type is not supported. |
| 425 | The request was sent too early. |
| 429 | Too many request were sent. |
| 500 | An unexpected internal server error occurred. |
| 503 | The service was unavailable. |
| 504 | The request timed out while waiting for a response. |
Asynchronous events the platform delivers to your registered webhook endpoint after this operation is accepted. Follow the documented delivery contract and acknowledge with the expected response. Request-authentication headers do not establish the callback signing contract.
{clientWebhookUrl}
Notify the merchant-configured webhook when a transaction status changes.
Notification Hub resolves the final webhook URL from merchant configuration and delivers this asynchronous event to the client-provided endpoint.
CREDIT_STATUS_CHANGED - APPROVED notification
{
"gatewayResponse": {
"transactionType": "CREDIT_STATUS_CHANGED",
"transactionState": "APPROVED",
"transactionProcessingDetails": {
"transactionTimestamp": "2026-09-28T20:11:38.37599174Z",
"apiTraceId": "b06bb86095b248c8ac105d72de04d5ef",
"transactionId": "0200b06bb86095b248c8ac105d72de04d5ef"
}
},
"paymentReceipt": {
"approvedAmount": {
"total": 100,
"currency": "USD"
},
"processorResponseDetails": {
"approvalStatus": "APPROVED",
"referenceNumber": "b06bb86095b248c8ac105d72de04d5ef",
"processor": "COMMERCEHUB_NATIVE",
"responseCode": "000",
"responseMessage": "APPROVED",
"localTimestamp": "2026-09-28T20:11:37.993802347Z"
}
},
"transactionDetails": {
"merchantTransactionId": "c12ab04917503d1bfdc22bc03da5e9b6",
"retrievalReferenceNumber": "b06bb86095b248c8ac105d72de04d5ef",
"operationType": "CREDIT",
"cavvInPrimary": false
},
"payee": {
"partyId": "106336000004243"
}
}CREDIT_STATUS_CHANGED - DECLINED notification
{
"gatewayResponse": {
"transactionType": "CREDIT_STATUS_CHANGED",
"transactionState": "DECLINED",
"transactionProcessingDetails": {
"transactionTimestamp": "2026-09-28T20:11:38.37599174Z",
"apiTraceId": "b06bb86095b248c8ac105d72de04d5ef",
"transactionId": "0200b06bb86095b248c8ac105d72de04d5ef"
}
},
"paymentReceipt": {
"approvedAmount": {
"total": 100,
"currency": "USD"
},
"processorResponseDetails": {
"approvalStatus": "DECLINED",
"referenceNumber": "b06bb86095b248c8ac105d72de04d5ef",
"processor": "COMMERCEHUB_NATIVE",
"responseCode": "006",
"responseMessage": "DECLINED",
"localTimestamp": "2026-09-28T20:11:37.993802347Z"
}
},
"transactionDetails": {
"merchantTransactionId": "c12ab04917503d1bfdc22bc03da5e9b6",
"retrievalReferenceNumber": "b06bb86095b248c8ac105d72de04d5ef",
"operationType": "CREDIT"
},
"payee": {
"partyId": "106336000004243"
}
}Single operation + dependencies. Includes the request, responses, and referenced schemas for this API—not the full product specification.
Funds transactions
223 requests · published manifest
Supporting APIs: Party onboarding and inquiry, Tender, Token, Exchange rates, Balance inquiry, Configuration.
Published copy; publication does not certify this QA file against the selected API contract.
QA collections: Configure your environment and credentials before running. Some requests create resources or move funds.