Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesRefunds are allowed for all existing payment methods, except LandingPage, Token and Vault.
UNSUFFICIENT_BALANCENote
Refunds for method terminal will be allowed to be performed without a link to an original payment. This is not available yet.
| Name | Description |
|---|---|
| type | Fixed value: refund |
| amount | The refund amount |
| currency | Echo from the Payment |
| status | Possible values: Transaction Status |
| paidout | A boolean value that indicates if this transaction has been paid out. Only available for collecting protocols. Possible values: yes or no |
| paidoutDate | The date when the payment to the customer was done. Only valid for collecting protocols. |
| merchantOrderReference | Echo from the Payment |
| description | A description of the transaction |
| language | Echo from the Payment |
| method | Echo from the Payment |
| brand | Echo from the Payment |
| metadata | Echo from the Payment |
| reference | A unique reference for the refund transaction |
| originalReference | The unique reference for the payment transaction this payment is attempting to refund. |
| unstructuredReference | The unstructured reference used when performing the payout to the merchant. Only valid for collecting protocols |
| paidoutReference | The reference used when performing the payout to the customer. This can be used to look up transactions related to that payout. Only valid for collecting protocols |
| created | The local server datetime the refund was created, epoch timestamp |
| lastUpdate | The local server datetime the refund was updated, epoch timestamp |
| statusFinalDate | The local server datetime the refund reached a final status, epoch timestamp |
| failureCode | An error code indication what caused the failure. Possible values: Failure Codes |
| payUrl | To complete the payment the customer should be redirected to this unique URL. Only valid for Terminal |
| returnUrl | After the payment is completed (successfully or otherwise) the customer is redirected to this URL. Only valid for Terminal |
| payoutInstructions | Optional list of Payout Instruction set by the refund initiator to indicate which merchants of the original payment were eligible for a refund. See Split Payout for more info. |
A payout instruction can be used to provide a custom structured reference and facilitate Split Payouts. Multiple Payout Instructions can only be used when boarded for Split Payout.
| Name | Description |
|---|---|
| externalReference | This is the reference to the sub merchant for this payout instruction. |
| amount | The amount to withhold for pay out to the sub merchant. |
| paidout | A boolean value that indicates that the payout instruction’s amount is withheld from a pay out to the sub merchant. Possible values: yes or no |
| paidoutDate | An epoch timestamp of the payout to the sub merchant where this payout instruction is withheld from. |
| unstructuredReference | The message used in the payout to the sub merchant. |
| structuredReference | Custom structured reference used in the pay out. |
| paidoutReference | The reference to the payout to the sub merchant. |
Example
{
"externalReference" : "0001606469162213",
"amount" : 5.00,
"paidout" : "yes",
"paidoutDate": 1605258439475,
"unstructuredReference": "579fd569 AFREK. CCV PAY DAT. 20201113/0318 AANT. 3 MREF. Lamp Shop",
"paidoutReference": "579fd569"
}
/api/v1/refundPOSTapplication/json| Name | Required | Description | Max Length |
|---|---|---|---|
| reference | Conditional | The unique reference of the payment to refund. Required when the refund is not for method terminal. |
255 |
| description | No | The description of the refund. If not provided we use the original payment description | 255 |
| metadata | No | A free format field that can be used to store additional information with the refund. If not provided we use the original payment metadata | 255 |
| amount | Conditional | The amount to refund. If not provided we use the original payment amount. The currency used will be the currency of the original payment and the format must be the same. If no original payment is linked, it is required | 12 digits in total, of which maximum 2 decimal digits |
| currency | Conditional | The currency of the refund. We use the original payment currency. If no original payment is linked, it is required. Must be a valid currency | 3 |
| language | Conditional | The language for this refund. We use the original payment language. If no original payment is linked, it is required. Possible values: Language Codes | 3 |
| method | Conditional | The payment method for this refund. We use the original payment method. If no original payment is linked, it is required. Possible values: Payment Methods | 20 |
| webhookUrl | No | The webhook URL invoked for transaction changes. This overrides the merchant webhook if one is present. We do not validate this url | 2000 |
| returnUrl | No | The customer is redirected to this URL after the payment is completed (successfully or otherwise). If provided it must include a scheme to be usable for browser redirection or Android/iOs app usage. We do not validate the provided URL. Only valid for Terminal. |
2000 |
| notificationRequests | No | An object which is used to request Notifications for specific events related to this refund. | n/a |
| payoutInstructions | No | Optional list of Payout Instruction to indicate which merchants of the original payment were eligible for a refund. See Split Payout for more info. | n/a |
| details | Conditional | An object which includes method specific details. If no original payment is linked, it is required. Possible values: Method Refund Details. | n/a |
| merchantOrderReference | No | A reference, maximum of 255 characters, of the order associated with this refund. If not provided we use the merchantOrderReference of the original payment | 255 |
Example
{
"reference": "C1505181754007360.1",
"description": "API Refund Description"
}
These details are required when refunding a payment which was made using the method terminal.
| Name | Required | Description | Max Length |
|---|---|---|---|
| terminalId | Yes | The terminal id as assigned by CCV | 50 |
| managementSystemId | Yes | The management system id of this terminal as assigned by CCV | 50 |
| accessProtocol | Yes | The communication protocol between the terminal and access server | 20 |
| operatingEnvironment | No | The environment in which the terminal is operating. Possible values: ATTENDED and SEMI_UNATTENDED. Defaults to SEMI_UNATTENDED when empty. |
20 |
| merchantLanguage | Yes/No | The language of the merchant, used to change the language in which the intermediate page is displayed in ATTENDED operatingEnvironments. Required when operatingEnvironment is ATTENDED, not required otherwise. |
3 |
Example
{
"reference": "T1505181754007760.Y",
"description": "API Refund Description for Terminal Transaction",
"details" : {
"managementSystemId" : "000103030",
"terminalId" : "1234536",
"accessProtocol" : "OPI_NL",
"operatingEnvironment" : "ATTENDED",
"merchantLanguage" : "NLD"
}
}
These details are required when refunding a payment which was made using the method softpos.
| Name | Required | Description | Max Length |
|---|---|---|---|
| terminalId | No | The terminal id as assigned by CCV. If not present, defaults to the terminalId of the sale. | 20 |
| cardPresent | No | Specify whether the customer’s card has to be present to perform the reversal. Possible values: true or false. Defaults to true. |
Example
{
"reference": "T1505181754007760.Y",
"description": "API Refund Description for SoftPos Transaction",
"details" : {
"terminalId" : "1234536",
"cardPresent" : "false"
}
}
A payout instruction can be used to provide a custom structured reference and facilitate Split Payouts. Multiple Payout Instructions can only be used when boarded for Split Payout.
Requirements:
| Name | Description |
|---|---|
| externalReference | This is the reference to the merchant for this payout instruction. Present when the payment requires multiple payout instructions to identify different merchants. |
| amount | The amount to be withheld for pay out to the referenced merchant. |
| structuredReference | This is the structured reference to the merchant for this payout instruction. It is present when the payment requires multiple payout instructions to identify different merchants. The value must only contain numbers. If you want to send +++090/9337/55493+++, then send 090933755493. |
Example
{
"externalReference" : "0001606469162213",
"amount" : 5.00,
"structuredReference" : "090933755493"
}
200application/jsonExample
{
"type" : "refund",
"amount" : 316.35,
"currency" : "eur",
"status" : "PENDING",
"merchantOrderReference" : "8cdbb73f-6537-4b7f-a6de-6ddab6c283e1",
"description" : "API Refund Description",
"language" : "eng",
"method" : "card",
"metadata" : "my custom metadata",
"reference" : "C1505181613078800.1",
"brand" : "visa",
"created" : 1431958387914,
"lastUpdate" : 1431958387914,
"statusFinalDate" : 1431958387914
}