# Reverse payment This endpoint is used to reverse a payment that has not yet been captured, effectively canceling the authorization. Endpoint: POST /payments/{id}/reversals Version: 2.0.0 Security: bearerAuth, basicAuth ## Path parameters: - `id` (string, required) payId assigned by Axepta Online in the initial request ## Header parameters: - `Idempotency-Key` (string) A unique key provided by you to ensure that a particular operation is not processed multiple times in case of retries. ## Request fields (application/json): - `transId` (string, required) Transaction ID created in your system. It should be unique for each payment. - `amount` (object, required) - `amount.value` (number, required) Total order amount in smallest currency unit including taxes, shipping costs, discounts, etc. - `amount.currency` (string, required) 3-character ISO currency code. - `refNr` (string) Your unique reference number for the specific operation. You can pass this value to reconcile different operations in a payment (authorization, capture, refund, etc) individually. - `order` (object) - `order.merchantReference` (string) A unique identifier for the order, assigned by your system. - `order.numberOfArticles` (number) The total number of articles (items) included in the order. - `order.creationDate` (string) The date and time when the order was created. - `order.invoiceId` (string) ID of the invoice generated for the order. - `order.items` (array) - `order.items.id` (string) A unique identifier for the specific item in the order. - `order.items.sku` (string) The Stock Keeping Unit (SKU) of the item, used to uniquely identify the product within the merchant's inventory. - `order.items.name` (string) The name or title of the item being purchased. - `order.items.type` (string) The type of item, such as "physical", "digital", "discount", "sales_tax", "shipping_fee", "discount", "gift_card", "store_credit", etc. - `order.items.quantity` (number) The quantity of this item being purchased in the order. - `order.items.quantityUnit` (string) The unit of measurement for the quantity, such as "pcs", "kg", or "liters". - `order.items.taxRate` (number) The tax rate applied to this item. Percentage sign must be replaced with two zeros. For example: A tax rate of 25% should be sent as 2500. - `order.items.netPrice` (number) The net price of a single unit of this item, excluding tax and discounts. - `order.items.grossPrice` (number) The gross price of a single unit of this item, including taxes but excluding discounts. - `order.items.discountAmount` (number) Discount amount applied to single unit of this item. - `order.items.taxAmount` (number) Tax amount applied to single unit of this item. - `order.items.merchantData` (string) Additional data or metadata provided by the merchant about this item. - `order.items.description` (string) Detailed description of the item. - `order.items.marketplaceSellerId` (string) An identifier for the seller in a marketplace context. - `order.items.lineNumber` (number) A sequential line number assigned to this item in the order for reference purposes. - `order.items.merchantProductType` (string) A classification or type assigned to this product by you. - `order.items.googleProductCategory` (string) Indicates the category of the item based on the Google product taxonomy. - `order.items.googleProductCategoryId` (number) Google product category ID. - `order.items.groupId` (string) An identifier used to group related items together. - `order.items.taxCategory` (string) Specifies the tax category applicable to this item. - `order.items.additionalDescription` (string) Any additional descriptive information about this item not covered elsewhere. - `order.items.productInfo` (object) - `order.items.productInfo.brand` (string) The brand name associated with this product. - `order.items.productInfo.categories` (array) The product's category path as used in the your webshop - `order.items.productInfo.globalTradeItemNumber` (string) The product's Global Trade Item Number (GTIN). Enum: "EAN", "ISBN", "UPC" - `order.items.productInfo.manufacturerPartNumber` (string) The product's Manufacturer Part Number (MPN), which - together with the brand - uniquely identifies a product. Only submit MPNs assigned by a manufacturer and use the most specific MPN possible. - `order.items.productInfo.imageUrl` (string) A URL pointing to an image of this product. - `order.items.productInfo.productUrl` (string) A URL linking to a detailed product page on the merchant's website. - `metadata` (object) A collection of additional custom data provided by you to store extra information about the transaction. This is a set of JSON key value pairs passed by you. Axepta Online will return the data as it is in the response. ## Response 200 fields (application/json): - `payId` (string) A unique identifier assigned by Axepta Online to the payment. This ID remains constant throughout the lifecycle of the payment and is used to track and reference the payment across all subsequent operations, such as authorization, capture, refund, or cancellation. - `merchantId` (string) Merchant ID assigned by Axepta Online. - `transId` (string) Transaction ID provided by you in the request. - `xId` (string) A unique identifier assigned by Axepta Online for each operation in the payment. For example: xId will be different for the authorization and capture operations of a payment whereas payId will be same. - `refNr` (string) Reference number provided by you in the request. - `status` (string) Status of the transaction. - `responseCode` (string) Response code of the transaction. - `responseDescription` (string) Response description associated with the response code. - `metadata` (object) A collection of additional custom data provided by you to store extra information about the transaction. This is a set of JSON key value pairs as you passed in the request. - `paymentMethods` (object) - `paymentMethods.card` (object) - `paymentMethods.card.providerResponseCode` (string) Returned only when Acquirer is Clearhaus or MasaPay. - `paymentMethods.card.providerResponseText` (string) Returned only when Acquirer is Clearhaus or MasaPay. Information is passed only when status is FAILED. - `paymentMethods.card.providerTransactionId` (string) Provider transaction ID. Returned only when Acquirer is Clearhaus. - `paymentMethods.card.providerApprovalCode` (number) Approval Code returned by acquirer. - `paymentMethods.klarna` (object) - `paymentMethods.klarna.providerResponseCode` (string) Response code from Klarna. - `paymentMethods.klarna.providerResponseText` (string) Response description from Klarna. - `paymentMethods.payPal` (object) - `paymentMethods.payPal.providerResponseCode` (string) Error code from PayPal if agreed with Axepta Online Helpdesk. - `paymentMethods.ratepay` (object) - `paymentMethods.ratepay.authorizationExpiry` (string) The date and time when remaining un-cancelled and un-captured authorized amount will be automatically cancelled. Available only for successful responses HTTP 201. - `paymentMethods.ratepay.account` (object) - `paymentMethods.ratepay.account.bankName` (string) Bank name of the bank account the customer has to transfer the money to. Provided only when paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in request. - `paymentMethods.ratepay.account.code` (string) Bank identifier code of the bank account the customer has to transfer the money to. Provided only when paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in request. - `paymentMethods.ratepay.account.number` (string) International bank account number of the bank account the customer has to transfer the money to. Provided only when paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in request. - `paymentMethods.ratepay.account.accountHolderName` (string) Account holder of the bank account the customer has to transfer the money to. Provided only when paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in request. - `paymentMethods.ratepay.paymentReference` (string) Purpose to be indicated in the bank transfer (generated by Ratepay). Provided only when paymentMethod.ratepay.transferType is sent as BANK_TRANSFER in request. - `paymentMethods.ratepay.providerTransactionId` (string) ID of transaction generated by Ratepay during authorization. A transaction ID is generated for both accepted and declined transactions. - `paymentMethods.riverty` (object) - `paymentMethods.riverty.providerResponseCode` (string) Response code from Riverty. - `paymentMethods.riverty.providerResponseText` (string) Response text from Riverty. ## Response 400 fields (application/json): - `field` (string) Example: "transId" - `error` (string) Example: "This field is required." ## Response 422 fields (application/json): - `payId` (string) A unique identifier assigned by Axepta Online to the payment. This ID remains constant throughout the lifecycle of the payment and is used to track and reference the payment across all subsequent operations, such as authorization, capture, refund, or cancellation. - `merchantId` (string) Merchant ID assigned by Axepta Online. - `transId` (string) Transaction ID provided by you in the request. - `xId` (string) A unique identifier assigned by Axepta Online for each operation in the payment. For example: xId will be different for the authorization and capture operations of a payment whereas payId will be same. - `refNr` (string) Reference number provided by you in the request. - `status` (string) Status of the transaction. - `responseCode` (string) Response code of the transaction. - `responseDescription` (string) Response description associated with the response code. - `metadata` (object) A collection of additional custom data provided by you to store extra information about the transaction. This is a set of JSON key value pairs as you passed in the request. - `paymentMethods` (object) - `paymentMethods.card` (object) - `paymentMethods.card.providerResponseCode` (string) Returned only when Acquirer is Clearhaus or MasaPay. - `paymentMethods.card.providerResponseText` (string) Returned only when Acquirer is Clearhaus or MasaPay. Information is passed only when status is FAILED. - `paymentMethods.floapay` (object) - `paymentMethods.floapay.providerResponseText` (string) Error text from FLOA Pay. - `paymentMethods.floapay.providerResponseCode` (string) Error code from FLOA Pay. - `paymentMethods.klarna` (object) - `paymentMethods.klarna.providerResponseCode` (string) Response code from Klarna . - `paymentMethods.klarna.providerResponseText` (string) Response description from Klarna . - `paymentMethods.ratepay` (object) - `paymentMethods.ratepay.providerDeclineCategory` (string) Decline category provider by Ratepay. See Decline Categories for details. - `paymentMethods.ratepay.providerResponseText` (string) A message from Ratepay describing which constraint was violated. - `paymentMethods.ratepay.providerResponseCode` (string) List of none, one or multiple reasons why the request was declined. See Decline Categories to learn about possible reasons for each decline category. ## Response 500 fields (application/json): - `responseCode` (string) Example: "A specific identifier for the error cause" - `responseDescription` (string) Example: "A brief message explaining the error"