---
title: "Booking for a capture or refund failed"
method: POST
path: "/PAYMENT_FAILURE"
tags: ["Other"]
---

# Booking for a capture or refund failed

`POST /PAYMENT_FAILURE` (webhook)

Adyen sends this notification when a [split payment](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information) booking for a capture or refund fails. When a booking fails due to an invalid account status or an unknown `accountCode`, the funds are credited or debited to or fromyour platform's liable account instead of the account specified in the split data.

## Payload

- PaymentFailureNotification
  - `content` PaymentFailureNotificationContent
    - `errorFields` ErrorFieldTypeWrapper[] — Missing or invalid fields that caused the payment error.
      - `ErrorFieldType` ErrorFieldType
        - `errorCode` integer — The validation error code.
        - `errorDescription` string — A description of the validation error.
        - `fieldType` FieldType
          - `field` string — The full name of the property.
          - `fieldName` 'accountCode' | 'accountHolderCode' | 'accountHolderDetails' | 'accountNumber' | 'accountStateType' | 'accountStatus' | 'accountType' | 'address' | 'balanceAccount' | 'balanceAccountActive' | 'balanceAccountCode' | 'balanceAccountId' | 'bankAccount' | 'bankAccountCode' | 'bankAccountName' | 'bankAccountUUID' | 'bankBicSwift' | 'bankCity' | 'bankCode' | 'bankName' | 'bankStatement' | 'branchCode' | 'businessContact' | 'cardToken' | 'checkCode' | 'city' | 'companyRegistration' | 'constitutionalDocument' | 'controller' | 'country' | 'countryCode' | 'currency' | 'currencyCode' | 'dateOfBirth' | 'destinationAccountCode' | 'document' | 'documentContent' | 'documentExpirationDate' | 'documentIssuerCountry' | 'documentIssuerState' | 'documentName' | 'documentNumber' | 'documentType' | 'doingBusinessAs' | 'drivingLicence' | 'drivingLicenceBack' | 'drivingLicenceFront' | 'drivingLicense' | 'email' | 'firstName' | 'formType' | 'fullPhoneNumber' | 'gender' | 'hopWebserviceUser' | 'houseNumberOrName' | 'iban' | 'idCard' | 'idNumber' | 'identityDocument' | 'individualDetails' | 'infix' | 'jobTitle' | 'lastName' | 'lastReviewDate' | 'legalArrangement' | 'legalArrangementCode' | 'legalArrangementEntity' | 'legalArrangementEntityCode' | 'legalArrangementLegalForm' | 'legalArrangementMember' | 'legalArrangementMembers' | 'legalArrangementName' | 'legalArrangementReference' | 'legalArrangementRegistrationNumber' | 'legalArrangementTaxNumber' | 'legalArrangementType' | 'legalBusinessName' | 'legalEntity' | 'legalEntityType' | 'linkedViasVirtualAccount' | 'logo' | 'merchantAccount' | 'merchantCategoryCode' | 'merchantHouseNumber' | 'merchantReference' | 'microDeposit' | 'name' | 'nationality' | 'originalReference' | 'ownerCity' | 'ownerCountryCode' | 'ownerDateOfBirth' | 'ownerHouseNumberOrName' | 'ownerName' | 'ownerPostalCode' | 'ownerState' | 'ownerStreet' | 'passport' | 'passportNumber' | 'payoutMethod' | 'payoutMethodCode' | 'payoutSchedule' | 'pciSelfAssessment' | 'personalData' | 'phoneCountryCode' | 'phoneNumber' | 'postalCode' | 'primaryCurrency' | 'reason' | 'returnUrl' | 'schedule' | 'shareholder' | 'shareholderCode' | 'shareholderCodeAndSignatoryCode' | 'shareholderCodeOrSignatoryCode' | 'shareholderType' | 'shareholderTypes' | 'shopperInteraction' | 'signatory' | 'signatoryCode' | 'socialSecurityNumber' | 'sourceAccountCode' | 'splitAccount' | 'splitConfigurationUUID' | 'splitCurrency' | 'splitValue' | 'splits' | 'stateOrProvince' | 'status' | 'stockExchange' | 'stockNumber' | 'stockTicker' | 'store' | 'storeDetail' | 'storeName' | 'storeReference' | 'street' | 'taxId' | 'tier' | 'tierNumber' | 'transferCode' | 'ultimateParentCompany' | 'ultimateParentCompanyAddressDetails' | 'ultimateParentCompanyAddressDetailsCountry' | 'ultimateParentCompanyBusinessDetails' | 'ultimateParentCompanyBusinessDetailsLegalBusinessName' | 'ultimateParentCompanyBusinessDetailsRegistrationNumber' | 'ultimateParentCompanyCode' | 'ultimateParentCompanyStockExchange' | 'ultimateParentCompanyStockNumber' | 'ultimateParentCompanyStockNumberOrStockTicker' | 'ultimateParentCompanyStockTicker' | 'unknown' | 'value' | 'verificationType' | 'virtualAccount' | 'visaNumber' | 'webAddress' | 'year' — The type of the field.
          - `shareholderCode` string — The code of the shareholder that the field belongs to. If empty, the field belongs to an account holder.
    - `errorMessage` Message
      - `code` string — The message code.
      - `text` string — The message text.
    - `modificationMerchantReference` string — The `reference` of the capture or refund.
    - `modificationPspReference` string — The `pspReference` of the capture or refund.
    - `paymentMerchantReference` string — The `reference` of the payment.
    - `paymentPspReference` string — The `pspReference` of the payment.
  - `eventType` string, required — The event type of the notification.
  - `executingUserKey` string, required — The user or process that has triggered the notification.
  - `live` boolean, required — Indicates whether the notification originated from the live environment or the test environment. If true, the notification originated from the live environment. If false, the notification originated from the test environment.
  - `pspReference` string, required — The PSP reference of the request from which the notification originates.

## Acknowledgement `200`

OK - the request has succeeded.

- NotificationResponse
  - `notificationResponse` string — Set this parameter to **[accepted]** to acknowledge that you received a notification from Adyen.

---

[API](https://skmtc.net/adyen/apis/marketpaynotificationservice.md) · [All operations](https://skmtc.net/adyen/apis/marketpaynotificationservice/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adyen/marketpaynotificationservice/revisions/fae4b3da8f9f/schema)
