/** * PayPal Server SDKLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { lazy, object, optional, Schema } from '../schema.js'; import { ApplePayPaymentObject, applePayPaymentObjectSchema, } from './applePayPaymentObject.js'; import { BancontactPaymentObject, bancontactPaymentObjectSchema, } from './bancontactPaymentObject.js'; import { BlikPaymentObject, blikPaymentObjectSchema, } from './blikPaymentObject.js'; import { CardResponse, cardResponseSchema } from './cardResponse.js'; import { EpsPaymentObject, epsPaymentObjectSchema, } from './epsPaymentObject.js'; import { GiropayPaymentObject, giropayPaymentObjectSchema, } from './giropayPaymentObject.js'; import { GooglePayWalletResponse, googlePayWalletResponseSchema, } from './googlePayWalletResponse.js'; import { IdealPaymentObject, idealPaymentObjectSchema, } from './idealPaymentObject.js'; import { MybankPaymentObject, mybankPaymentObjectSchema, } from './mybankPaymentObject.js'; import { P24PaymentObject, p24PaymentObjectSchema, } from './p24PaymentObject.js'; import { PaypalWalletResponse, paypalWalletResponseSchema, } from './paypalWalletResponse.js'; import { SofortPaymentObject, sofortPaymentObjectSchema, } from './sofortPaymentObject.js'; import { TrustlyPaymentObject, trustlyPaymentObjectSchema, } from './trustlyPaymentObject.js'; import { VenmoWalletResponse, venmoWalletResponseSchema, } from './venmoWalletResponse.js'; /** The payment source used to fund the payment. */ export interface PaymentSourceResponse { /** The payment card to use to fund a payment. Card can be a credit or debit card. */ card?: CardResponse; /** The PayPal Wallet response. */ paypal?: PaypalWalletResponse; /** Information used to pay Bancontact. */ bancontact?: BancontactPaymentObject; /** Information used to pay using BLIK. */ blik?: BlikPaymentObject; /** Information used to pay using eps. */ eps?: EpsPaymentObject; /** Information needed to pay using giropay. */ giropay?: GiropayPaymentObject; /** Information used to pay using iDEAL. */ ideal?: IdealPaymentObject; /** Information used to pay using MyBank. */ mybank?: MybankPaymentObject; /** Information used to pay using P24(Przelewy24). */ p24?: P24PaymentObject; /** Information used to pay using Sofort. */ sofort?: SofortPaymentObject; /** Information needed to pay using Trustly. */ trustly?: TrustlyPaymentObject; /** Information needed to pay using ApplePay. */ applePay?: ApplePayPaymentObject; /** Google Pay Wallet payment data. */ googlePay?: GooglePayWalletResponse; /** Venmo wallet response. */ venmo?: VenmoWalletResponse; } export const paymentSourceResponseSchema: Schema = lazy( () => object({ card: ['card', optional(cardResponseSchema)], paypal: ['paypal', optional(paypalWalletResponseSchema)], bancontact: ['bancontact', optional(bancontactPaymentObjectSchema)], blik: ['blik', optional(blikPaymentObjectSchema)], eps: ['eps', optional(epsPaymentObjectSchema)], giropay: ['giropay', optional(giropayPaymentObjectSchema)], ideal: ['ideal', optional(idealPaymentObjectSchema)], mybank: ['mybank', optional(mybankPaymentObjectSchema)], p24: ['p24', optional(p24PaymentObjectSchema)], sofort: ['sofort', optional(sofortPaymentObjectSchema)], trustly: ['trustly', optional(trustlyPaymentObjectSchema)], applePay: ['apple_pay', optional(applePayPaymentObjectSchema)], googlePay: ['google_pay', optional(googlePayWalletResponseSchema)], venmo: ['venmo', optional(venmoWalletResponseSchema)], }) );