/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { FiatMoneyUsd } from "./fiat-money-usd";
import { MetadataPayment } from "./metadata-payment";
import { Source } from "./source";
/**
 *
 * @export
 * @interface PaymentCreationRequest
 */
export interface PaymentCreationRequest {
    /**
     * Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    idempotencyKey: string;
    /**
     * Universally unique identifier (UUID v4) of the public key used in encryption. NOTE the sandbox environment uses the default value of `key1`. For this reason the example supplied is `key1` rather than a UUID.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    keyId?: string;
    /**
     *
     * @type {MetadataPayment}
     * @memberof PaymentCreationRequest
     */
    metadata: MetadataPayment;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof PaymentCreationRequest
     */
    amount: FiatMoneyUsd;
    /**
     * Triggers the automatic capture of the full payment amount. If set to false the payment will only be authorized but not captured.
     * @type {boolean}
     * @memberof PaymentCreationRequest
     */
    autoCapture?: boolean;
    /**
     * Indicates the verification method for this payment.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    verification: PaymentCreationRequestVerificationEnum;
    /**
     * The URL to redirect users to after successful 3DS authentication.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    verificationSuccessUrl?: string;
    /**
     * The URL to redirect users to after failed 3DS authentication.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    verificationFailureUrl?: string;
    /**
     *
     * @type {Source}
     * @memberof PaymentCreationRequest
     */
    source: Source;
    /**
     * Description of the payment with length restriction of 240 characters.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    description?: string;
    /**
     * PGP encrypted base64 encoded string. Contains CVV. * **CVV (Card Verification Number)**: Three or four digit security code. Only required if `verification` is `cvv`.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    encryptedData?: string;
    /**
     * The channel identifier that can be set for the payment. When not provided, the default channel is used.
     * @type {string}
     * @memberof PaymentCreationRequest
     */
    channel?: string;
}
export declare const PaymentCreationRequestVerificationEnum: {
    readonly None: "none";
    readonly Cvv: "cvv";
    readonly ThreeDSecure: "three_d_secure";
};
export declare type PaymentCreationRequestVerificationEnum = typeof PaymentCreationRequestVerificationEnum[keyof typeof PaymentCreationRequestVerificationEnum];
