Refund or Cancel Payment
Request (S2S HTTP POST)
In case the refund tools are supported for the given payment or order, the cancellations and refunds are allowed using this request as long as the payment has not reached the settlement phase (where it is about to be settled or has already been settled to merchant).
The merchant delivers the request parameters in a <form>
using POST method as hidden input fields to address https://www.maksuturva.fi/PaymentCancel.pmt
(or https://test1.maksuturva.fi/PaymentCancel.pmt in test environment)
Skip to contents in this page
Input name | Value | Format | Description |
---|---|---|---|
COMPULSORY PARAMETERS: | |||
| CANCEL | AN6 | Action name. Always CANCEL. |
| 0005 | AN4 | Version of interface content or message |
|
| AN15 | Technical seller id given to the webstore by Svea Payments. |
|
| AN20 | Unique Payment Identifier given to the payment transaction by the webstore. |
|
| AN17 | Same value as in send in Create Payment API ( |
|
| AN3 | The payment currency. Same value as in send in Create Payment API ( |
| FULL_REFUND | AN40 | Cancellation type that tells whether this is
|
| e.g. 15,00 | AN17 | Amount to be refunded. The amount must be presented with two decimals without thousands separator. The decimal delimiter is a comma. For example: 15,00 Important! Used only in case of partial refunds! That is, this parameter should be omitted if cancellation type is full refund (FULL_REFUND). |
| XML | AN4 | Response type. Always XML. |
| nnn | N3 | Secret key generation or version related to the technical seller id. |
OPTIONAL PARAMETERS: | |||
|
| AN20 | OPTIONAL, yet RECOMMENDED. Unique id for cancellation. It's recommended to use this field to give a unique idenfier for a refund. When given for one refund under the given order, there cannot be another refund for the same order with the same ID. This helps to prevent accidentally sending duplicate refunds. |
| Finnish IBAN | AN36 | OPTIONAL. Buyer's refund bank account number (Finnish IBAN). This is rarely needed. The IBAN might be required in case on bank payments. That is, card payments, mobile payments, invoice payments and part payments never require nor support it. |
|
| AN500 | OPTIONAL. Cancel description for the refund that can be shown to the buyer. |
|
| AN5 | OPTIONAL. Cancel reason code. Reason for the refund that can be shown to the buyer.
|
Optional change rows
In addition to the data described above, it is possible to submit change order rows that describe in more detail the changes the merchant wishes to make to the order.
Pre-conditions for submitting change rows:
The merchant initiates the change. Change Rows can not be submitted, if the buyer has made a proposal for change via Buyer’s Assistant and the merchant is using the interface to accept/confirm payer's proposal.
The original order was submitted to Svea Payments with order rows.
The change is of type PARTIAL_REFUND or PARTIAL_REFUND_AND_RETURN_OF_DELIVERIES. For a FULL_REFUND Svea Payments will do the order row level changes automatically.
NOTE! If any change rows are submitted, the total sum calculated from them must match the total amount of the change submitted in the field pmtc_cancelamount
. If these do not match, but the difference is small, the Svea Payments system creates a rounding fix row to force the sum of change rows match the value of pmtc_cancelamount
.
Change row types
Submitting the number of returned products of an original order row:
Changes (refunds) can be linked with original order rows by submitting a returned quantity of products in the parameter field pmtc_refund_quantity_of_original_rowN
, where N is the original row number the change concerns. In this way, the change can be attributed to a particular quantity of a product that was part of the original order. The quantity returned cannot exceed the quantity in the original order. When pmtc_refund_quantity_of_original_rowN
is submitted, then other parameters concerning that particular order row must not be submitted.
Submitting additional change rows:
In addition to or instead of the above (quantity to return), 0 to 300 additional change rows can be submitted. These can be used to alter the total amount of the change. Negative amount means returning/crediting money to the buyer. Positive amount means holding money by the merchant, for example due to handling or refund costs. Each additional change row requires 5-7 of the parameter fields of the table below to be submitted. Fields for article number and unit are optional. The price must be communicated either gross or the net, but not both.
Row type: Returned quantity of products (0-N pcs):
Resulting quantity based change row’s total amount (please notice the minus sign in front):-round( pmtc_refund_quantity_of_original_row * pmt_row_price_gross * ( 1 - 0.01 * pmt_row_discountpercentage ) )
Input name | Value | Format | C/O | Description |
---|---|---|---|---|
| e.g.. 1 | N8 | C/O | The returned quantity of products of row N in the original order |
Row type: Additional change row (0 to 300 pcs):
Additional change row’s total amount:round( pmtc_additional_row_quantity * pmtc_additional_row_price_gross )
Input Name | Value | Format | C/O | Description |
---|---|---|---|---|
| e.g. "Product 1" | AN40 | C/O | Product or row name. In case of Invoice and B2B Invoice payment methods, these are shown in the invoice sent to the buyer. Max length: 40 characters |
|
| AN1000 | C/O | Row description. In case of Invoice and B2B Invoice payment methods, these are not shown in the invoice sent to the buyer. |
| e.g. 1 or 1,00 | AN8 | C/O | Row quantity |
|
| AN10 | O | Product article number |
| e.g. ”kpl”, "kg" or "pcs" | AN3 | O | Row unit of quantity |
| e.g. -10,00 | AN17 | C | Row gross unit price (VAT included) |
| e.g. for VAT 25,5 %: 25,50 | AN5 | C/O | Row VAT percentage |
Response (XML)
Input name | Value | Format | C/O | Description |
---|---|---|---|---|
| CANCEL | AN6 | C | Action called (CANCEL). |
| 0005 | AN4 | C | Version of interface content or message. |
|
| AN15 | C | Technical seller id given to the webstore by Svea Payments. |
|
| AN20 | C | Unique Payment Identifier given to the payment transaction by the webstore. |
| See table below | AN2 | C | Response code. Indicates success or failure. See below for the values and explanations of all the codes. |
|
| AN100 | C | Brief description of the failure reason. Empty in case of success. |
|
|
| O | Details of all the errors in the input message. An XML structure with root |
Response code values
Response code | Short description | Description |
---|---|---|
| OK | Cancel received successfully |
| Not found | Payment not found |
| Already settled | Payment already compensated and cannot be cancelled |
| Webstore and buyer cancellations mismatch | Cancel parameters from seller and payer do not match |
| Errors in input data | Errors in input data, specified in element |
| Duplicate detected | Payment cancellation failed, as this request was a duplicate based on the given unique identifier ( |
| Failed | Payment cancellation failed, reason specified in |
Svea Payments Oy
info.payments@svea.fi
+358 9 4241 7050 (weekdays 8:00 - 16:00)
Saavutettavuusseloste