/**
 * Adyen Checkout API
 * Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).  This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).  ## Authentication Each request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:  ``` curl -H \"Content-Type: application/json\" \\ -H \"X-API-Key: Your_Checkout_API_key\" \\ ... ``` Note that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).  ## Versioning Checkout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.  For example: ``` https://checkout-test.adyen.com/v68/payments ```
 *
 * The version of the OpenAPI document: 68
 * Contact: developer-experience@adyen.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */ import { Amount } from './amount' ; import { FraudResult } from './fraudResult' ; export class CheckoutBalanceCheckResponse { /**
    * Contains additional information about the payment. Some data fields are included only if you select them first: Go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.
    */ 'additionalData' ? : { [ key ] : string ; } ; 'balance' : Amount ; 'fraudResult' ? : FraudResult ; /**
    * Adyen\'s 16-character reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.
    */ 'pspReference' ? : string ; /**
    * If the payment\'s authorisation is refused or an error occurs during authorisation, this field holds Adyen\'s mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.  For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).
    */ 'refusalReason' ? : string ; /**
    * The result of the cancellation request.  Possible values:  * **Success** – Indicates that the balance check was successful. * **NotEnoughBalance** – Commonly indicates that the card did not have enough balance to pay the amount in the request, or that the currency of the balance on the card did not match the currency of the requested amount. * **Failed** – Indicates that the balance check failed.
    */ 'resultCode' : CheckoutBalanceCheckResponse . ResultCodeEnum ; 'transactionLimit' ? : Amount ; static discriminator : string | undefined = undefined ; static attributeTypeMap : Array < { name : string ; baseName : string ; type : string ; } > = [ { "name" : "additionalData" , "baseName" : "additionalData" , "type" : "{ [key: string]: string; }" } , { "name" : "balance" , "baseName" : "balance" , "type" : "Amount" } , { "name" : "fraudResult" , "baseName" : "fraudResult" , "type" : "FraudResult" } , { "name" : "pspReference" , "baseName" : "pspReference" , "type" : "string" } , { "name" : "refusalReason" , "baseName" : "refusalReason" , "type" : "string" } , { "name" : "resultCode" , "baseName" : "resultCode" , "type" : "CheckoutBalanceCheckResponse.ResultCodeEnum" } , { "name" : "transactionLimit" , "baseName" : "transactionLimit" , "type" : "Amount" } ] ; static getAttributeTypeMap ( ) { return CheckoutBalanceCheckResponse . attributeTypeMap ; } } export namespace CheckoutBalanceCheckResponse { export enum ResultCodeEnum { Success = < any > 'Success' , NotEnoughBalance = < any > 'NotEnoughBalance' , Failed = < any > 'Failed' } }