# Refund payment without reference

This endpoint is used to refund a payment without reference.

Endpoint: POST /payments/refunds
Version: 2.6.0
Security: bearer, basic, apiKey

## Security:

  - `bearer` (unknown)
    http bearer JWT

  - `basic` (unknown)
    http basic

  - `apiKey` (unknown)
    apiKey in header X-API-Key

## Header parameters:

  - `Idempotency-Key` (string)

## 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` (integer)
    Total order amount in the smallest currency unit, including taxes, shipping costs, discounts, etc.

  - `amount.currency` (string)
    3-character ISO currency code.

  - `amount.taxTotal` (integer)
    Total tax amount.

  - `amount.netItemTotal` (integer)
    Total net amount of the products as part of the order, excluding shipping costs.

  - `amount.netShippingAmount` (integer)
    Net shipping costs.

  - `amount.grossShippingAmount` (integer)
    Gross shipping costs.

  - `amount.netDiscount` (integer)
    Net discount amount.

  - `amount.grossDiscount` (integer)
    Gross discount amount.

  - `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. It is recommended to limit the length to 18 characters so that it works for all payment methods. Allowed characters: (A-Z, a-z) and digits (0-9)

  - `language` (string)

  - `order` (object)

  - `order.merchantReference` (string)
    A unique identifier for the order, assigned by your system.

  - `order.invoiceId` (string)
    ID of the invoice generated for the order.

  - `order.numberOfArticles` (integer)
    The total number of articles (items) included in the order.

  - `order.description` (string)
    A short, description of the order (e.g. main product or order summary). In order to trigger a test payment that you want to run in simulation you can pass the simulation string. For example: "test:0000" to simulate a successful transaction.

  - `order.creationDate` (any)
    The date and time when the order was created.

  - `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` (integer)
    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` (integer)
    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` (integer)
    The net price of a single unit of this item, excluding tax and discounts.

  - `order.items.grossPrice` (integer)
    The gross price of a single unit of this item, including taxes but excluding discounts.

  - `order.items.discountAmount` (integer)
    Discount amount applied to single unit of this item.

  - `order.items.taxAmount` (integer)
    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` (integer)
    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` (integer)
    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.

  - `order.items.imageUrl` (string)

  - `order.items.productUrl` (string)

  - `billingAddress` (object)

  - `billingAddress.firstName` (string)
    Shipping first name.

  - `billingAddress.lastName` (string)
    Shipping last name.

  - `billingAddress.companyName` (string)
    Shipping company name. Applicable, when the entity where the goods are being delivered is a business entity.

  - `billingAddress.phone` (object)
    Phone number of the customer.

  - `billingAddress.phone.countryCode` (string)
    Country Code/Area code of the phone number. Allows up to 3 digits. Must not contain the '+' prefix.

  - `billingAddress.phone.number` (string)
    Phone number of the customer.

  - `billingAddress.salutation` (string)

  - `billingAddress.streetName` (string)
    Shipping street.

  - `billingAddress.streetNumber` (string)
    Shipping street number.

  - `billingAddress.addressLine2` (string)
    Address line 2 of shipping address.

  - `billingAddress.addressLine3` (string)
    Address line 3 of shipping address.

  - `billingAddress.city` (string)
    Shipping city.

  - `billingAddress.state` (string)
    State of shipping address.

  - `billingAddress.country` (string)
    3 character ISO country code of shipping address.

  - `billingAddress.postalCode` (string)
    Shipping postal code.

  - `billingAddress.business` (string)
    Enum: "Company", "Person"

  - `shipping` (object)

  - `shipping.type` (string)
    Shipping method.

  - `statementDescriptor` (string)
    Short, clear description of the transaction that appears on the customer's statement. It is recommend sending a maximum of 22 characters. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters / - ? : ( ) . , +

  - `customerInfo` (object)

  - `customerInfo.merchantCustomerId` (string)
    A unique identifier for the customer, assigned by the merchant's system.

  - `customerInfo.customerType` (string)
    Specifies the type of customer, such as "individual" or "business".
    Enum: "BUSINESS", "INDIVIDUAL"

  - `customerInfo.firstName` (string)
    First name of the customer.

  - `customerInfo.lastName` (string)
    Last name (surname) of the customer.

  - `customerInfo.email` (string)
    Email address of the customer.

  - `customerInfo.birthDate` (any)
    Birth date of the customer in YYYY-MM-DD format.

  - `browserInfo` (object)

  - `browserInfo.acceptHeaders` (string)
    Exact content of the HTTP accept headers as sent from the customer’s browser.

  - `browserInfo.ipAddress` (string)

  - `browserInfo.sessionId` (string)
    Customer´s Session ID.

  - `metadata` (object)
    A collection of additional custom data provided by the merchant to store extra information about the transaction. This is a set of JSON key value pairs passed by the merchant. Paygate will return the data as it is in the response.

  - `paymentMethods` (object, required)

  - `paymentMethods.type` (string)

  - `paymentMethods.card` (object)

  - `paymentMethods.card.number` (string)
    The card number or the pseudo card number of the payment card.

  - `paymentMethods.card.cardHolderName` (string)

  - `paymentMethods.card.expiryDate` (string)
    The expiration date of the card in YYYYMM format.

  - `paymentMethods.card.brand` (string)
    The brand or network of the card, such as "visa", "mastercard".

  - `paymentMethods.card.securityCode` (string)
    The Card Security Code, also known as CVV or CVC.

  - `paymentMethods.card.paymentOfWinnings` (boolean)
    In the case of the acquirer EMS (Omnipay) the merchant can control CFT credit notes in this way.Transfer PaymentOfWinnings=True to credit a win rather than simply repaying a paid amount.

  - `paymentMethods.card.paymentData` (object)
    Additional data if PaymentOfWinnings=True.

  - `paymentMethods.card.paymentData.senderData` (object)

  - `paymentMethods.card.paymentData.senderData.accountNumber` (string)
    Contains the sender’s bank account number from which the funds are to be taken.

  - `paymentMethods.card.paymentData.senderData.name` (string)
    Contains the name of the person or business for the account from which funds are to be taken.

  - `paymentMethods.card.paymentData.senderData.address` (string)
    Contains the address of the person or business for the account from which funds are to be taken.

  - `paymentMethods.card.paymentData.senderData.city` (string)
    Contains the city of the person or business for the account from which funds are to be taken.

  - `paymentMethods.card.paymentData.senderData.countryCode` (string)
    Contains the country of the person or business’s account from which funds are to be taken. To be sent in number 3 Digit ISO standard.

  - `paymentMethods.card.paymentData.senderData.transactionMethod` (string)
    It indicates the method used by the sender to fund a Payment of winning transaction.
    Enum: "CREDIT", "DEBIT", "PREPAID", "CASH", "DEPOSIT_ACCOUNT", "MOBILE_MONEY_ACCOUNT"

  - `paymentMethods.card.paymentData.senderData.accountType` (string)
    Enum: "RTN_AND_BANK_ACCOUNT_NUMBER", "IBAN", "CARD_ACCOUNT", "IBAN_AND_BIC"

  - `paymentMethods.card.paymentData.recipientData` (object)

  - `paymentMethods.card.paymentData.recipientData.name` (string)

  - `paymentMethods.directDebit` (object)

  - `paymentMethods.directDebit.account` (object)

  - `paymentMethods.directDebit.account.number` (string)
    International Bank Account Number.

  - `paymentMethods.directDebit.account.code` (string)
    Bank Identifier Code.

  - `paymentMethods.directDebit.account.bankName` (string)
    Bank name.

  - `paymentMethods.directDebit.account.accountHolderName` (string)
    Account holder name.

## Request examples:

  - `Card` (unknown)

  - `DirectDebit` (unknown)

## Response 200:

  - `200` (unknown)
    Successful operation

## Response 200 fields (application/json):

  - `payId` (string)

  - `merchantId` (string)

  - `transId` (string)

  - `xId` (string)

  - `refNr` (string)

  - `status` (string)

  - `responseCode` (string)

  - `responseDescription` (string)

  - `metadata` (object)

  - `paymentMethods` (object)

  - `paymentMethods.type` (string)
    Enum: "ALIPAY", "AMAZONPAY", "APPLEPAY", "BANCOMATPAY", "BANCONTACT", "BIZUM", "BLIK", "BOLETO", "CARD", "DIRECTDEBIT", "EASYCOLLECT", "EPS", "FLOAPAY", "GOOGLEPAY", "IDEAL", "INSTANEA", "KLARNA", "LIMONETIK", "MBWAY", "MOBILEPAY", "MULTIBANCO", "MYBANK", "PAGBRASILPL", "PAYPAL", "PFCONNECT", "PRZELEWY24", "RATEPAY", "RIVERTY", "SATISPAY", "SWISH", "TRUSTLY", "TWINT", "UNIONPAY", "VIPPSMOBILEPAY", "WECHAT", "WERO"

  - `paymentMethods.card` (object)

  - `paymentMethods.card.providerResponseCode` (string)

  - `paymentMethods.card.providerResponseText` (string)

  - `paymentMethods.card.providerTransactionId` (string)

  - `paymentMethods.card.providerApprovalCode` (string)

## Response 400:

  - `400` (unknown)
    Bad request, [https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400)

## Response 400 fields (application/json):

  - `errors` (object)
    "Object": [
"Error 1",
"Error 2"
]
}`

  - `type` (string)
    A URI reference that identifies the problem type

  - `title` (string)
    A short, human-readable summary of the problem type

  - `status` (string)
    The HTTP status code

  - `detail` (string)

  - `instance` (string)

## Response 422:

  - `422` (unknown)
    Unprocessable Entity, [https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422)

## Response 422 fields (application/json):

  - `merchantId` (string)
    Merchant ID assigned by Computop Paygate.

  - `payId` (string)
    A unique identifier assigned by Computop Paygate 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.

  - `xId` (string)
    A unique identifier assigned by Computop Paygate 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.

  - `transId` (string)
    Transaction ID provided by you in the request.

  - `refNr` (string)
    Reference number provided by you in the request.

  - `responseCode` (string)
    Response code of the transaction.

  - `responseDescription` (string)
    Response description associated with the response code.

  - `paymentPlanId` (string)

  - `paymentMethods` (object)

  - `paymentMethods.amazonPay` (object)

  - `paymentMethods.amazonPay.providerStatus` (string)

  - `paymentMethods.amazonPay.providerResponseText` (string)

  - `paymentMethods.amazonPay.providerResponseCode` (string)

  - `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.issuerResponseCode` (string)
    Issuer response code.

  - `paymentMethods.card.issuerResponseMessage` (string)
    Issuer response text.

  - `paymentMethods.directDebit` (object)

  - `paymentMethods.directDebit.providerResponseCode` (string)
    Provider response code.

  - `paymentMethods.directDebit.providerResponseText` (string)
    Provider response text.

  - `paymentMethods.easyCollect` (object)

  - `paymentMethods.easyCollect.providerResponseCode` (string)
    Provider response code.

  - `paymentMethods.easyCollect.providerResponseText` (string)
    Provider response text.

  - `paymentMethods.eps` (object)

  - `paymentMethods.eps.providerResponseText` (string)
    Is returned only if Status=FAILED. Detailed PPRO error message.

  - `paymentMethods.bancontact` (object)

  - `paymentMethods.bancontact.providerResponseText` (string)

  - `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.

  - `paymentMethods.ratepay.providerTransactionId` (string)

  - `paymentMethods.payPal` (object)

  - `paymentMethods.payPal.providerResponseCode` (string)

  - `paymentMethods.wero` (object)

  - `paymentMethods.wero.providerResponseText` (string)

  - `paymentMethods.wero.providerResponseCode` (string)

  - `paymentMethods.riverty` (object)

  - `paymentMethods.riverty.providerResponseCode` (string)

  - `paymentMethods.riverty.providerResponseText` (string)

  - `type` (string)

  - `title` (string)

  - `status` (string)
    Status of the transaction.

  - `detail` (string)

  - `instance` (string)

## Response 500:

  - `500` (unknown)
    Internal Server Error, [https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500)

## Response 500 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (string)

  - `detail` (string)

  - `instance` (string)

## Response 200 examples:

  - `Card` (unknown)

  - `Default` (unknown)

## Response 422 examples:

  - `Card` (unknown)

