# Refund payment with reference This endpoint is used to refund a captured payment. Endpoint: POST /payments/{id}/refunds 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. Example: "test-TransactionId01" - `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. - `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. - `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. - `statementDescriptor` (string) Short, clear description of the transaction that appears on the customer's statement. - `paymentMethods` (object) - `paymentMethods.boleto` (object) - `paymentMethods.boleto.bankName` (string) Bank name of the customer. Relevant only when processing Boleto via Pagbrasil. - `paymentMethods.boleto.accountNumber` (string) Customer's account number (must contain a hyphen, e.g. 12345-6). Relevant only when processing Boleto via Pagbrasil. - `paymentMethods.boleto.bankSortCode` (string) Bank sort code or rather branch number of the bank. Relevant only when processing Boleto via Pagbrasil. - `paymentMethods.card` (object) - `paymentMethods.card.providerTransactionId` (string) Transaction ID returned by the provider in the capture response. This is needed for the use cases of multiple captures and if you want to refund a specific capture. If the parameter is not submitted then the last capture will be credited. - `paymentMethods.mobilePay` (object) - `paymentMethods.mobilePay.textfield1` (string) Card holder information: Name. - `paymentMethods.mobilePay.textfield2` (string) Card holder information: City. - `paymentMethods.payPal` (object) - `paymentMethods.payPal.providerTransactionId` (string) Transaction ID returned by Paypal in the capture response. This is needed for the use cases of multiple captures and if you want to refund a specific capture. - `paymentMethods.riverty` (object) - `paymentMethods.riverty.refundType` (string) Type of credit. Enum: "RETURN", "REFUND" - `paymentMethods.riverty.invoiceNumber` (string) Invoice number that is displayed within Riverty portal. An order can contain more than one invoice. ## 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.bancontact` (object) - `paymentMethods.bancontact.providerResponseText` (number) Response text from the provider. Returned only when the status is FAILED. - `paymentMethods.boleto` (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.klarna` (object) - `paymentMethods.klarna.providerResponseCode` (string) Response code from Klarna. - `paymentMethods.klarna.providerResponseText` (string) Response description from Klarna. - `paymentMethods.klarna.invoiceNumber` (string) Invoice/booking number from Klarna. This number is needed for example for resending the E-Mail with payment and order information. - `paymentMethods.payPal` (object) - `paymentMethods.payPal.providerResponseCode` (number) Error code from PayPal if agreed with Axepta Online Helpdesk. - `paymentMethods.payPal.feeRefundAmount` (number) The refunded amount of the PayPal transaction fees. - `paymentMethods.payPal.grossRefundAmount` (number) Amount refunded to the buyer in this refund transaction. - `paymentMethods.payPal.netRefundAmount` (number) Amount deducted from your PayPal account to make this refund. - `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` (number) Response code from Riverty. - `paymentMethods.riverty.providerResponseText` (string) Response code 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.payPal` (object) - `paymentMethods.payPal.providerDeclineCategory` (string) Error code from PayPal if agreed with Axepta Online Helpdesk. - `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"