From a2b1b26c7d447fd080db67f1b60b1999ee25d747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Thu, 25 Jan 2024 23:51:59 +0300 Subject: [PATCH 01/11] =?UTF-8?q?TypeScript=20Deste=C4=9Fi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merhabalar, Iyzipay içerisindeki tüm modül ve methodları haritalayıp bir typescript declaration dosyası hazırladım. Kod bu şekilde npm üzerinde paylaşılırsa otomatik olarak TypeScript desteği eklenmiş olacak. İyi çalışmalar dilerim --- index.d.ts | 1510 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1510 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..d81e9c6 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,1510 @@ +/** + * author: Can Gökçeaslan + * description: This peace of code is a typescript definition file for iyzipay nodejs sdk. + * website: https://www.cangokceaslan.com + * github: https://www.github.com/cangokceaslan + * npm: https://www.npmjs.com/package/@types/iyzipay +*/ + + +/* ENUMARATIONS */ +type LOCALE = 'tr' | 'en'; + +type PAYMENT_GROUP = 'PRODUCT' | 'LISTING' | 'SUBSCRIPTION'; + +type BASKET_ITEM_TYPE = 'PHYSICAL' | 'VIRTUAL'; + +type PAYMENT_CHANNEL = 'MOBILE' | 'WEB' | 'MOBILE_WEB' | 'MOBILE_IOS' | 'MOBILE_ANDROID' | 'MOBILE_WINDOWS' | 'MOBILE_TABLET' | 'MOBILE_PHONE'; + +type SUB_MERCHANT_TYPE = 'PERSONAL' | 'PRIVATE_COMPANY' | 'LIMITED_OR_JOINT_STOCK_COMPANY'; + +type CURRENCY = 'TRY' | 'EUR' | 'USD' | 'IRR' | 'GBP' | 'NOK' | 'RUB' | 'CHF'; + +type APM_TYPE = 'SOFORT' | 'IDEAL' | 'QIWI' | 'GIROPAY'; + +type REFUND_REASON = 'double_payment' | 'buyer_request' | 'fraud' | 'other'; + +type PLAN_PAYMENT_TYPE = "RECURRING"; + +type SUBSCRIPTION_PRICING_PLAN_INTERVAL = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY'; + +type SUBSCRIPTION_UPGRADE_PERIOD = 'NOW'; + +type SUBSCRIPTION_STATUS = 'EXPIRED' | 'UNPAID' | 'CANCELED' | 'ACTIVE' | 'PENDING' | 'UPGRADED'; + +type SUBSCRIPTION_INITIAL_STATUS = 'ACTIVE' | 'PENDING'; + +/* INTERFACES */ +interface ILOCALE { + TR: 'tr', + EN: 'en' +} + +interface IPAYMENT_GROUP { + PRODUCT: 'PRODUCT', + LISTING: 'LISTING', + SUBSCRIPTION: 'SUBSCRIPTION' +} + +interface IBASKET_ITEM_TYPE { + PHYSICAL: 'PHYSICAL', + VIRTUAL: 'VIRTUAL' +} + +interface IPAYMENT_CHANNEL { + MOBILE: 'MOBILE', + WEB: 'WEB', + MOBILE_WEB: 'MOBILE_WEB', + MOBILE_IOS: 'MOBILE_IOS', + MOBILE_ANDROID: 'MOBILE_ANDROID', + MOBILE_WINDOWS: 'MOBILE_WINDOWS', + MOBILE_TABLET: 'MOBILE_TABLET', + MOBILE_PHONE: 'MOBILE_PHONE' +} + +interface ISUB_MERCHANT_TYPE { + PERSONAL: 'PERSONAL', + PRIVATE_COMPANY: 'PRIVATE_COMPANY', + LIMITED_OR_JOINT_STOCK_COMPANY: 'LIMITED_OR_JOINT_STOCK_COMPANY' +} + +interface ICURRENCY { + TRY: 'TRY', + EUR: 'EUR', + USD: 'USD', + IRR: 'IRR', + GBP: 'GBP', + NOK: 'NOK', + RUB: 'RUB', + CHF: 'CHF' +} + +interface IAPM_TYPE { + SOFORT: 'SOFORT', + IDEAL: 'IDEAL', + QIWI: 'QIWI', + GIROPAY: 'GIROPAY' +} + +interface IREFUND_REASON { + DOUBLE_PAYMENT: 'double_payment', + BUYER_REQUEST: 'buyer_request', + FRAUD: 'fraud', + OTHER: 'other' +} + +interface IPLAN_PAYMENT_TYPE { + RECURRING: "RECURRING" +} + +interface ISUBSCRIPTION_PRICING_PLAN_INTERVAL { + DAILY: 'DAILY', + WEEKLY: 'WEEKLY', + MONTHLY: 'MONTHLY', + YEARLY: 'YEARLY' +} + +interface ISUBSCRIPTION_UPGRADE_PERIOD { + NOW: 'NOW' +} + +interface ISUBSCRIPTION_STATUS { + EXPIRED: 'EXPIRED', + UNPAID: 'UNPAID', + CANCELED: 'CANCELED', + ACTIVE: 'ACTIVE', + PENDING: 'PENDING', + UPGRADED: 'UPGRADED' +} + +interface ISUBSCRIPTION_INITIAL_STATUS { + ACTIVE: 'ACTIVE', + PENDING: 'PENDING' +} + +/* GENERIC INTERFACES */ +export interface IConfigOptions { + apiKey: string; + secretKey: string; + uri: string; +} + +export interface IPaymentCard { + cardHolderName: string; + cardNumber: string; + expireMonth: string; + expireYear: string; + cvc?: string; + registerCard?: number; + registerConsumerCard?: boolean; + cardAlias: string; +} + +export interface ISavedPaymentCard { + cardToken?: string; + cardUserKey: string; + ucsToken?: string; + consumerToken?: string; +} + +export interface ISavedPaymentCardDetail { + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; +} + +export interface IBuyerDetails { + id: string; + name: string; + surname: string; + gsmNumber?: string; + email: string; + identityNumber: string; + lastLoginDate?: string; + registrationDate?: string; + registrationAddress: string; + ip: string; + city: string; + country: string; + zipCode?: string; +} + +export interface IAddressDetails { + contactName: string; + city: string; + country: string; + address: string; + zipCode?: string; +} + +export interface IBasketItem { + id: string; + name: string; + category1: string; + category2?: string; + itemType: BASKET_ITEM_TYPE; + price: number | string; + subMerchantPrice?: number | string; + subMerchantKey?: string; +} + +/* Result Parts */ +export interface IConvertedPayout { + paidPrice: number | string; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + iyziConversionRate: number; + iyziConversionRateAmount: number; + currency: CURRENCY; +} + +export interface IItemTransaction { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: IConvertedPayout; +} + + +/* REQUEST - RESULT INTERFACES */ +export interface IApprovalPaymentRequestData { + locale?: LOCALE; + conversationId?: string; + paymentTransactionId: string; +} + +export interface IApprovalPaymentResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + paymentId: string; +} + +export interface IApiTestRequestData { + locale?: LOCALE; + conversationId?: string; +} + +export interface IApiTestResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; +} + +export interface IBinNumberRequestData { + locale?: LOCALE; + conversationId?: string; + binNumber: string; +} + +export interface IBinNumberResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + binNumber: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + bankName: string; + bankCode: number; +} + +export interface ICancelPaymentRequestData { + locale?: LOCALE; + conversationId?: string; + paymentId: string; + ip: string; + reason?: REFUND_REASON; + description?: string; +} + +export interface ICancelPaymentResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + paymentId: string; +} + +export interface ISavePaymentCardRequestData { + locale?: LOCALE; + conversationId?: string; + email: string; + externalId?: string; + cardUserKey?: string; + card: IPaymentCard; +} + +export interface IListUserCardsRequestData { + locale?: LOCALE; + conversationId?: string; + cardUserKey: string; +} + +export interface IDeleteUserCardRequestData { + locale?: LOCALE; + conversationId?: string; + cardUserKey: string; + cardToken: string; +} + + +export interface IListUserCardsResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + cardDetails: ISavedPaymentCardDetail[]; +} + +export interface IDeleteUserCardResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; +} + +export interface ISavePaymentCardResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + externalId?: string; + email: string; + cardUserKey: string; + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; +} + +export interface ICheckoutFormInitializeRequestData extends IThreeDSInitializePaymentRequestData { } + +export interface ICheckoutFormInitialResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +export interface ICheckoutFormRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + token: string; +} + +export interface ICheckoutFormRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: CURRENCY; + installment: number; + basketId: string; + paymentId: string; + paymentItems: IItemTransaction[]; + paymentCard: ISavedPaymentCardDetail; + buyer: IBuyerDetails; + shippingAddress: IAddressDetails; + billingAddress: IAddressDetails; + basketItems: IBasketItem[]; +} + +export interface IUniversalCardStorageInitializeRequestData { + locale?: LOCALE; + conversationId?: string; + gsmNumber: string; + email: string; +} + +export interface IUniversalCardStorageInitializeResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + callbackUrl: string; +} + +export interface IInstallmentInfoRequestData { + locale?: LOCALE; + conversationId?: string; + price: number | string; + binNumber: string; +} + +interface IInstallmentDetail { + installmentNumber: number; + totalPrice: number | string; + installmentPrice: number | string; + installmentRate: number; +} + +export interface IInstallmentInfoResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + binNumber: string; + price: number | string; + installmentDetails: IInstallmentDetail[]; +} + +export interface IPaymentRequestData { + locale?: LOCALE; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: CURRENCY; + installments: number; + basketId?: string; + paymentChannel?: PAYMENT_CHANNEL; + paymentGroup?: PAYMENT_GROUP; + paymentCard: ISavedPaymentCard | IPaymentCard; + buyer: IBuyerDetails; + shippingAddress: IAddressDetails; + billingAddress: IAddressDetails; + basketItems: IBasketItem[]; +} + +export interface IPaymentResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + price: number | string; + paidPrice: number | string; + installment: number; + paymentId: string; + fraudStatus: number; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardToken: string; + cardUserKey: string; + binNumber: string; + lastFourDigits: string; + basketId: string; + currency: CURRENCY; + itemTransactions: IItemTransaction[]; + authCode: string; + phase: string; + mdStatus: string; + hostReference: string; +} + +export interface IPaymentRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + paymentId: string; + paymentConversationId?: string; +} + +export interface IPaymentRetrieveResult extends IPaymentResult { } + +export interface IPaymentItemRequestData { + paymentTransactionId: string; + subMerchantKey?: string; + subMerchantPrice?: number | string; +} + +export interface IPaymentItemResult { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: IConvertedPayout; +} + +export interface IPeccoInitializeRequestData { + locale?: LOCALE; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: CURRENCY; + installments: number; + basketId?: string; + paymentChannel?: PAYMENT_CHANNEL; + paymentGroup?: PAYMENT_GROUP; + buyer: IBuyerDetails; + shippingAddress: IAddressDetails; + billingAddress: IAddressDetails; + basketItems: IBasketItem[]; + callbackUrl: string; +} + +export interface IPeccoInitializeResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +export interface IPeccoPaymentRequestData { + locale?: LOCALE; + conversationId?: string; + token: string; +} + +export interface IPeccoPaymentResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: CURRENCY; + installment: number; + basketId: string; + paymentId: string; + paymentItems: IItemTransaction[]; + paymentCard: ISavedPaymentCardDetail; + buyer: IBuyerDetails; + shippingAddress: IAddressDetails; + billingAddress: IAddressDetails; + basketItems: IBasketItem[]; +} + +export interface IRefundRequestData { + locale?: LOCALE; + conversationId?: string; + paymentTransactionId: string; + price: number | string; + ip: string; + currency: CURRENCY; + reason?: REFUND_REASON; + description?: string; +} + +export interface IRefundResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: CURRENCY; + hostReference?: string; +} + +export interface IRefundToBalanceRequestData { + locale?: LOCALE; + conversationId?: string; + paymentId: string; + callbackUrl: string; +} + +export interface IRefundToBalanceResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: CURRENCY; + hostReference?: string; +} + +export interface IPayoutCompletedTransactionListRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + date: string; + page?: number; + count?: number; +} + +interface IPayoutCompletedTransaction extends IPaymentResult { + +} + +export interface IPayoutCompletedTransactionListRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + payoutCompletedTransactionList: IPayoutCompletedTransaction[]; +} + +export interface ISubMerchantCreateRequestData { + locale?: LOCALE; + conversationId?: string; + subMerchantExternalId: string; + subMerchantType: SUB_MERCHANT_TYPE; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: CURRENCY; +} + +export interface ISubMerchantCreateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SUB_MERCHANT_TYPE; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: CURRENCY; +} + +export interface ISubMerchantUpdateRequestData { + locale?: LOCALE; + conversationId?: string; + subMerchantKey: string; + address?: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email?: string; + gsmNumber?: string; + name?: string; + iban?: string; + identityNumber?: string; + currency?: CURRENCY; +} + +export interface ISubMerchantUpdateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SUB_MERCHANT_TYPE; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: CURRENCY; +} + +export interface ISubMerchantRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + subMerchantExternalId: string; +} + +export interface ISubMerchantRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SUB_MERCHANT_TYPE; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: CURRENCY; +} + +export interface IBouncedBackTransactionListRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + date: string; + page?: number; + count?: number; +} + +interface IBouncedBackTransaction extends IPaymentResult { + +} + +export interface IBouncedBackTransactionListRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + bouncedBackTransactionList: IBouncedBackTransaction[]; +} + + +export interface IThreeDSInitializePaymentRequestData extends IPaymentRequestData { + callbackUrl: string; +} + +export interface IThreeDSInitializePaymentResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + threeDSHtmlContent: string; +} + +export interface IThreeDSPaymentCompleteRequestData { + locale?: LOCALE; + conversationId?: string; + paymentId: string; + conversationData?: string; +} + +export interface IThreeDSPaymentCompleteResult extends IPaymentResult { } + +export interface ISettlementToBalanceRequestData { + locale?: LOCALE; + conversationId?: string; + subMerchantKey: string; + callbackUrl?: string; + price: number | string; +} + +export interface ISettlementToBalanceResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + price: number | string; + currency: CURRENCY; + hostReference?: string; +} + +export interface ISubscriptionProductCreateRequestData { + locale?: LOCALE; + conversationId?: string; + name: string; + description?: string; +} + +export interface ISubscriptionProductCreateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +export interface ISubscriptionProductUpdateRequestData { + locale?: LOCALE; + conversationId?: string; + productReferenceCode: string; + name?: string; + description?: string; +} + +export interface ISubscriptionProductUpdateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +export interface ISubscriptionProductRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + productReferenceCode: string; +} + +export interface ISubscriptionProductRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +export interface ISubscriptionProductRetrieveListRequestData { + locale?: LOCALE; + conversationId?: string; + page?: number; + count?: number; +} + +interface ISubscriptionProductItem { + productReferenceCode: string; + name: string; + description: string; +} + +export interface ISubscriptionProductRetrieveListResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + items: ISubscriptionProductItem[]; +} + + +export interface ISubscriptionPricingPlanCreateRequestData { + locale?: LOCALE; + conversationId?: string; + productReferenceCode: string; + name: string; + price: number | string; + currencyCode: CURRENCY; + paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PLAN_PAYMENT_TYPE; +} + +export interface ISubscriptionPricingPlanCreateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: CURRENCY; + paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PLAN_PAYMENT_TYPE; +} + +export interface ISubscriptionPricingPlanUpdateRequestData { + locale?: LOCALE; + conversationId?: string; + pricingPlanReferenceCode: string; + name?: string; + trialPeriodDays?: number; +} + +export interface ISubscriptionPricingPlanUpdateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: CURRENCY; + paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PLAN_PAYMENT_TYPE; +} + +export interface ISubscriptionPricingPlanRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + pricingPlanReferenceCode: string; +} + +export interface ISubscriptionPricingPlanRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: CURRENCY; + paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PLAN_PAYMENT_TYPE; +} + +export interface ISubscriptionPricingPlanRetrieveListRequestData { + locale?: LOCALE; + conversationId?: string; + productReferenceCode: string; + page?: number; + count?: number; +} + +interface ISubscriptionPricingPlanItem { + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: CURRENCY; + paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PLAN_PAYMENT_TYPE; +} + +export interface ISubscriptionPricingPlanRetrieveListResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + items: ISubscriptionPricingPlanItem[]; +} + +export interface ISubscriptionCustomerCreateRequestData { + locale?: LOCALE; + conversationId?: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + + +export interface ISubscriptionCustomerCreateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + +export interface ISubscriptionCustomerUpdateRequestData { + locale?: LOCALE; + conversationId?: string; + customerReferenceCode: string; + name?: string; + surname?: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + +export interface ISubscriptionCustomerUpdateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + +export interface ISubscriptionCustomerRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + customerReferenceCode: string; +} + +export interface ISubscriptionCustomerRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + +export interface ISubscriptionCustomerRetrieveListRequestData { + locale?: LOCALE; + conversationId?: string; + page?: number; + count?: number; +} + +interface ISubscriptionCustomerItem { + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: IAddressDetails; + shippingAddress?: IAddressDetails; +} + +export interface ISubscriptionCustomerRetrieveListResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + items: ISubscriptionCustomerItem[]; +} + +export interface ISubscriptionCardUpdateRequestData { + locale?: LOCALE; + conversationId?: string; + customerReferenceCode: string; + callbackUrl: string; +} + +export interface ISubscriptionCardUpdateResult { + status: string; + locale?: LOCALE; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; +} + +export interface ISubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { + locale?: LOCALE; + conversationId?: string; + subscriptionReferenceCode: string; + callbackUrl: string; +} + +export interface ISubscriptionCardUpdateWithSubscriptionReferenceCodeResult { + status: string; + locale?: LOCALE; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; +} + +export interface ISubscriptionPaymentRetryRequestData { + locale?: LOCALE; + conversationId?: string; + referenceCode: string; +} + +export interface ISubscriptionPaymentRetryResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +interface ISubscriptionCancelRequestData { + locale?: LOCALE; + conversationId?: string; + subscriptionReferenceCode: string; +} + +export interface ISubscriptionCancelResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +export interface ISubscriptionActivateRequestData { + locale?: LOCALE; + conversationId?: string; + subscriptionReferenceCode: string; +} + +export interface ISubscriptionActivateResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +export interface ISubscriptionUpgradeRequestData { + locale?: LOCALE; + conversationId?: string; + subscriptionReferenceCode: string; + newPricingPlanReferenceCode: string; + upgradePeriod?: SUBSCRIPTION_UPGRADE_PERIOD; + useTrial?: boolean; +} + +export interface ISubscriptionUpgradeResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +export interface ISubscriptionRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + subscriptionReferenceCode: string; +} + +export interface ISubscriptionRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SUBSCRIPTION_STATUS; + subscriptionInitialStatus: SUBSCRIPTION_INITIAL_STATUS; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: ISubscriptionCustomerItem; + pricingPlan: ISubscriptionPricingPlanItem; +} + +export interface ISubscriptionSearchRequestData { + locale?: LOCALE; + conversationId?: string; + parentReferenceCode?: string; + subscriptionReferenceCode?: string; + customerReferenceCode?: string; + subscriptionStatus?: SUBSCRIPTION_STATUS; + subscriptionCreatedStartDate?: string; + subscriptionCreatedEndDate?: string; + page?: number; + count?: number; +} + +export interface ISubscriptionItem { + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SUBSCRIPTION_STATUS; + subscriptionInitialStatus: SUBSCRIPTION_INITIAL_STATUS; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: ISubscriptionCustomerItem; + pricingPlan: ISubscriptionPricingPlanItem; +} + +export interface ISubscriptionSearchResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + items: ISubscriptionItem[]; +} + +export interface ISubscriptionInitializeRequestData { + locale?: LOCALE; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SUBSCRIPTION_INITIAL_STATUS; + customer: ISubscriptionCustomerCreateRequestData; + paymentCard?: ISavedPaymentCard | IPaymentCard; +} + + +export interface ISubscriptionCheckoutFormInitializeRequestData { + locale?: LOCALE; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SUBSCRIPTION_INITIAL_STATUS; + customer: ISubscriptionCustomerCreateRequestData; +} + +export interface ISubscriptionCheckoutFormInitializeResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +export interface ISubscriptionCheckoutFormRetrieveRequestData { + locale?: LOCALE; + conversationId?: string; + token: string; +} + +export interface ISubscriptionCheckoutFormRetrieveResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SUBSCRIPTION_STATUS; + trialDays?: number; + trialStartDate?: string; + trialEndDate?: string; + createdDate: string; + startDate: string; +} + +export interface ISubscriptionExistingCustomerInitializeRequestData { + locale?: LOCALE; + conversationId?: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; +} + +export interface ISubscriptionExistingCustomerInitializeResult { + status: string; + locale?: LOCALE; + systemTime: number; + conversationId?: string; + token: string; +} + +/* NAMESPACE INTERFACES */ +export interface IApiTest { + retrieve(data: IApiTestRequestData, callback: (err: Error, result: IApiTestResult) => void): void; +} + +export interface IBinNumber { + retrieve(data: IBinNumberRequestData, callback: (err: Error, result: IBinNumberResult) => void): void; +} + +export interface IApproval { + create(data: IApprovalPaymentRequestData, callback: (err: Error, result: IApprovalPaymentResult) => void): void; +} + +export interface IDisapproval { + create(data: IApprovalPaymentRequestData, callback: (err: Error, result: IApprovalPaymentResult) => void): void; +} + +export interface IBKMInitialize { + create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: IThreeDSInitializePaymentResult) => void): void; +} + +export interface IBKM { + retrieve(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IThreeDSPaymentCompleteRequestData) => void): void; +} + +export interface ICancel { + create(data: ICancelPaymentRequestData, callback: (err: Error, result: ICancelPaymentResult) => void): void; +} + + +export interface ICard { + create(data: ISavePaymentCardRequestData, callback: (err: Error, result: ISavePaymentCardResult) => void): void; + delete(data: IDeleteUserCardRequestData, callback: (err: Error, result: IDeleteUserCardResult) => void): void; +} + +export interface ICardList { + retreive(data: IListUserCardsRequestData, callback: (err: Error, result: IListUserCardsResult) => void): void; +} + +export interface ICheckOutFormInitialize { + create(data: ICheckoutFormInitializeRequestData, callback: (err: Error, result: ICheckoutFormInitialResult) => void): void; +} + +export interface ICheckOutForm { + retrieve(data: ICheckoutFormRetrieveRequestData, callback: (err: Error, result: ICheckoutFormRetrieveResult) => void): void; +} + +export interface IUniversalCardStorageInitialize { + retrieve(data: IUniversalCardStorageInitializeRequestData, callback: (err: Error, result: IUniversalCardStorageInitializeResult) => void): void; +} + +export interface IInstallmentInfo { + retrieve(data: IInstallmentInfoRequestData, callback: (err: Error, result: IInstallmentInfoResult) => void): void; +} + +export interface IPayment { + create(data: IPaymentRequestData, callback: (err: Error, result: IPaymentResult) => void): void; + retrieve(data: IPaymentRetrieveRequestData, callback: (err: Error, result: IPaymentRetrieveResult) => void): void; +} + +export interface IPaymentItem { + update(data: IPaymentItemRequestData, callback: (err: Error, result: IPaymentItemResult) => void): void; +} + +export interface IPeccoInitialize { + create(data: IPeccoInitializeRequestData, callback: (err: Error, result: IPeccoInitializeResult) => void): void; +} + +export interface IPeccoPayment { + create(data: IPeccoPaymentRequestData, callback: (err: Error, result: IPeccoPaymentResult) => void): void; +} + +export interface IRefund { + create(data: IRefundRequestData, callback: (err: Error, result: IRefundResult) => void): void; +} + +export interface IRefundToBalance { + create(data: IRefundToBalanceRequestData, callback: (err: Error, result: IRefundToBalanceResult) => void): void; +} + +export interface IPayoutCompletedTransactionListRetrieve { + retrieve(data: IPayoutCompletedTransactionListRetrieveRequestData, callback: (err: Error, result: IPayoutCompletedTransactionListRetrieveResult) => void): void; +} + +export interface IBouncedBackTransactionListRetrieve { + retrieve(data: IBouncedBackTransactionListRetrieveRequestData, callback: (err: Error, result: IBouncedBackTransactionListRetrieveResult) => void): void; +} + +export interface ISubMerchant { + create(data: ISubMerchantCreateRequestData, callback: (err: Error, result: ISubMerchantCreateResult) => void): void; + update(data: ISubMerchantUpdateRequestData, callback: (err: Error, result: ISubMerchantUpdateResult) => void): void; + retrieve(data: ISubMerchantRetrieveRequestData, callback: (err: Error, result: ISubMerchantRetrieveResult) => void): void; +} + +export interface IThreeDSInitialize { + create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: IThreeDSInitializePaymentResult) => void): void; +} + +export interface IThreedsPayment { + create(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IThreeDSPaymentCompleteResult) => void): void; +} + +export interface ISettlementToBalance { + create(data: ISettlementToBalanceRequestData, callback: (err: Error, result: ISettlementToBalanceResult) => void): void; +} + +export interface ISubscriptionProduct { + create(data: ISubscriptionProductCreateRequestData, callback: (err: Error, result: ISubscriptionProductCreateResult) => void): void; + update(data: ISubscriptionProductUpdateRequestData, callback: (err: Error, result: ISubscriptionProductUpdateResult) => void): void; + retrieve(data: ISubscriptionProductRetrieveRequestData, callback: (err: Error, result: ISubscriptionProductRetrieveResult) => void): void; + retrieveList(data: ISubscriptionProductRetrieveListRequestData, callback: (err: Error, result: ISubscriptionProductRetrieveListResult) => void): void; +} + +export interface ISubscriptionPricingPlan { + create(data: ISubscriptionPricingPlanCreateRequestData, callback: (err: Error, result: ISubscriptionPricingPlanCreateResult) => void): void; + update(data: ISubscriptionPricingPlanUpdateRequestData, callback: (err: Error, result: ISubscriptionPricingPlanUpdateResult) => void): void; + retrieve(data: ISubscriptionPricingPlanRetrieveRequestData, callback: (err: Error, result: ISubscriptionPricingPlanRetrieveResult) => void): void; + retrieveList(data: ISubscriptionPricingPlanRetrieveListRequestData, callback: (err: Error, result: ISubscriptionPricingPlanRetrieveListResult) => void): void; +} + +export interface ISubscriptionCustomer { + create(data: ISubscriptionCustomerCreateRequestData, callback: (err: Error, result: ISubscriptionCustomerCreateResult) => void): void; + update(data: ISubscriptionCustomerUpdateRequestData, callback: (err: Error, result: ISubscriptionCustomerUpdateResult) => void): void; + retrieve(data: ISubscriptionCustomerRetrieveRequestData, callback: (err: Error, result: ISubscriptionCustomerRetrieveResult) => void): void; + retrieveList(data: ISubscriptionCustomerRetrieveListRequestData, callback: (err: Error, result: ISubscriptionCustomerRetrieveListResult) => void): void; +} + +export interface ISubscriptionCard { + update(data: ISubscriptionCardUpdateRequestData, callback: (err: Error, result: ISubscriptionCardUpdateResult) => void): void; + updateWithSubscriptionReferenceCode(data: ISubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, callback: (err: Error, result: ISubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void): void; +} + +export interface ISubscriptionPayment { + retry(data: ISubscriptionPaymentRetryRequestData, callback: (err: Error, result: ISubscriptionPaymentRetryResult) => void): void; +} + +export interface ISubscription { + cancel(data: ISubscriptionCancelRequestData, callback: (err: Error, result: ISubscriptionCancelResult) => void): void; + activate(data: ISubscriptionActivateRequestData, callback: (err: Error, result: ISubscriptionActivateResult) => void): void; + upgrade(data: ISubscriptionUpgradeRequestData, callback: (err: Error, result: ISubscriptionUpgradeResult) => void): void; + retrieve(data: ISubscriptionRetrieveRequestData, callback: (err: Error, result: ISubscriptionRetrieveResult) => void): void; + search(data: ISubscriptionSearchRequestData, callback: (err: Error, result: ISubscriptionSearchResult) => void): void; + initialize(data: ISubscriptionInitializeRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormInitializeResult) => void): void; +} + +export interface ISubscriptionCheckoutForm { + initialize(data: ISubscriptionCheckoutFormInitializeRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormInitializeResult) => void): void; + retrieve(data: ISubscriptionCheckoutFormRetrieveRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormRetrieveResult) => void): void; +} + +export interface ISubscriptionExistingCustomer { + initialize(data: ISubscriptionExistingCustomerInitializeRequestData, callback: (err: Error, result: ISubscriptionExistingCustomerInitializeResult) => void): void; +} + +/* MODULE */ +declare module "iyzipay" { + + namespace Iyzipay { + + /* MODULE ENDS */ + const LOCALE: ILOCALE; + const PAYMENT_GROUP: IPAYMENT_GROUP; + const BASKET_ITEM_TYPE: IBASKET_ITEM_TYPE; + const PAYMENT_CHANNEL: IPAYMENT_CHANNEL; + const SUB_MERCHANT_TYPE: ISUB_MERCHANT_TYPE; + const CURRENCY: ICURRENCY; + const APM_TYPE: IAPM_TYPE; + const REFUND_REASON: IREFUND_REASON; + const PLAN_PAYMENT_TYPE: IPLAN_PAYMENT_TYPE; + const SUBSCRIPTION_PRICING_PLAN_INTERVAL: ISUBSCRIPTION_PRICING_PLAN_INTERVAL; + const SUBSCRIPTION_UPGRADE_PERIOD: ISUBSCRIPTION_UPGRADE_PERIOD; + const SUBSCRIPTION_STATUS: ISUBSCRIPTION_STATUS; + const SUBSCRIPTION_INITIAL_STATUS: ISUBSCRIPTION_INITIAL_STATUS; + } + + // Define Iyzipay as a class + class Iyzipay { + constructor(options?: IConfigOptions); + + // If Iyzipay has methods, define them here. Example: + // someMethod(): void; + + /* MODULE */ + apiTest: IApiTest; + approval: IApproval; + disapproval: IDisapproval; + bkmInitialize: IBKMInitialize; + bkm: IBKM; + cancel: ICancel; + card: ICard; + cardList: ICardList; + checkoutFormInitialize: ICheckOutFormInitialize; + checkoutForm: ICheckOutForm; + universalCardStorageInitialize: IUniversalCardStorageInitialize; + installmentInfo: IInstallmentInfo; + payment: IPayment; + paymentItem: IPaymentItem; + peccoInitialize: IPeccoInitialize; + peccoPayment: IPeccoPayment; + refund: IRefund; + refundToBalance: IRefundToBalance; + payoutCompletedTransactionListRetrieve: IPayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: IBouncedBackTransactionListRetrieve; + subMerchant: ISubMerchant; + threedsInitialize: IThreeDSInitialize; + threedsPayment: IThreedsPayment; + + settlementToBalance: ISettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: ISubscriptionProduct; + subscriptionPricingPlan: ISubscriptionPricingPlan; + subscriptionCustomer: ISubscriptionCustomer; + subscriptionCard: ISubscriptionCard; + subscriptionPayment: ISubscriptionPayment; + subscription: ISubscription; + subscriptionCheckoutForm: ISubscriptionCheckoutForm; + subscriptionExistingCustomer: ISubscriptionExistingCustomer; + + } + + export default Iyzipay; +} \ No newline at end of file From 98589db6dd5b380fb9358ab743cbbb6598a5c29c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Thu, 25 Jan 2024 23:54:01 +0300 Subject: [PATCH 02/11] TypeScript Support Updated --- index.d.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/index.d.ts b/index.d.ts index d81e9c6..cf41ec8 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1444,8 +1444,6 @@ export interface ISubscriptionExistingCustomer { declare module "iyzipay" { namespace Iyzipay { - - /* MODULE ENDS */ const LOCALE: ILOCALE; const PAYMENT_GROUP: IPAYMENT_GROUP; const BASKET_ITEM_TYPE: IBASKET_ITEM_TYPE; @@ -1461,14 +1459,8 @@ declare module "iyzipay" { const SUBSCRIPTION_INITIAL_STATUS: ISUBSCRIPTION_INITIAL_STATUS; } - // Define Iyzipay as a class class Iyzipay { constructor(options?: IConfigOptions); - - // If Iyzipay has methods, define them here. Example: - // someMethod(): void; - - /* MODULE */ apiTest: IApiTest; approval: IApproval; disapproval: IDisapproval; From 6627ff5481605130bd4e3fec30cd698d6cd0fceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Fri, 26 Jan 2024 01:53:18 +0300 Subject: [PATCH 03/11] Small adjustment regarding declare module and namespace exporting Small adjustment regarding declare module and namespace exporting --- index.d.ts | 204 ++++++++++++++++++++++++++--------------------------- 1 file changed, 101 insertions(+), 103 deletions(-) diff --git a/index.d.ts b/index.d.ts index cf41ec8..eed19ab 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,3 +1,5 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + /** * author: Can Gökçeaslan * description: This peace of code is a typescript definition file for iyzipay nodejs sdk. @@ -8,50 +10,50 @@ /* ENUMARATIONS */ -type LOCALE = 'tr' | 'en'; +export type LOCALE = 'tr' | 'en'; -type PAYMENT_GROUP = 'PRODUCT' | 'LISTING' | 'SUBSCRIPTION'; +export type PAYMENT_GROUP = 'PRODUCT' | 'LISTING' | 'SUBSCRIPTION'; -type BASKET_ITEM_TYPE = 'PHYSICAL' | 'VIRTUAL'; +export type BASKET_ITEM_TYPE = 'PHYSICAL' | 'VIRTUAL'; -type PAYMENT_CHANNEL = 'MOBILE' | 'WEB' | 'MOBILE_WEB' | 'MOBILE_IOS' | 'MOBILE_ANDROID' | 'MOBILE_WINDOWS' | 'MOBILE_TABLET' | 'MOBILE_PHONE'; +export type PAYMENT_CHANNEL = 'MOBILE' | 'WEB' | 'MOBILE_WEB' | 'MOBILE_IOS' | 'MOBILE_ANDROID' | 'MOBILE_WINDOWS' | 'MOBILE_TABLET' | 'MOBILE_PHONE'; -type SUB_MERCHANT_TYPE = 'PERSONAL' | 'PRIVATE_COMPANY' | 'LIMITED_OR_JOINT_STOCK_COMPANY'; +export type SUB_MERCHANT_TYPE = 'PERSONAL' | 'PRIVATE_COMPANY' | 'LIMITED_OR_JOINT_STOCK_COMPANY'; -type CURRENCY = 'TRY' | 'EUR' | 'USD' | 'IRR' | 'GBP' | 'NOK' | 'RUB' | 'CHF'; +export type CURRENCY = 'TRY' | 'EUR' | 'USD' | 'IRR' | 'GBP' | 'NOK' | 'RUB' | 'CHF'; -type APM_TYPE = 'SOFORT' | 'IDEAL' | 'QIWI' | 'GIROPAY'; +export type APM_TYPE = 'SOFORT' | 'IDEAL' | 'QIWI' | 'GIROPAY'; -type REFUND_REASON = 'double_payment' | 'buyer_request' | 'fraud' | 'other'; +export type REFUND_REASON = 'double_payment' | 'buyer_request' | 'fraud' | 'other'; -type PLAN_PAYMENT_TYPE = "RECURRING"; +export type PLAN_PAYMENT_TYPE = "RECURRING"; -type SUBSCRIPTION_PRICING_PLAN_INTERVAL = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY'; +export type SUBSCRIPTION_PRICING_PLAN_INTERVAL = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY'; -type SUBSCRIPTION_UPGRADE_PERIOD = 'NOW'; +export type SUBSCRIPTION_UPGRADE_PERIOD = 'NOW'; -type SUBSCRIPTION_STATUS = 'EXPIRED' | 'UNPAID' | 'CANCELED' | 'ACTIVE' | 'PENDING' | 'UPGRADED'; +export type SUBSCRIPTION_STATUS = 'EXPIRED' | 'UNPAID' | 'CANCELED' | 'ACTIVE' | 'PENDING' | 'UPGRADED'; -type SUBSCRIPTION_INITIAL_STATUS = 'ACTIVE' | 'PENDING'; +export type SUBSCRIPTION_INITIAL_STATUS = 'ACTIVE' | 'PENDING'; /* INTERFACES */ -interface ILOCALE { +export interface ILOCALE { TR: 'tr', EN: 'en' } -interface IPAYMENT_GROUP { +export interface IPAYMENT_GROUP { PRODUCT: 'PRODUCT', LISTING: 'LISTING', SUBSCRIPTION: 'SUBSCRIPTION' } -interface IBASKET_ITEM_TYPE { +export interface IBASKET_ITEM_TYPE { PHYSICAL: 'PHYSICAL', VIRTUAL: 'VIRTUAL' } -interface IPAYMENT_CHANNEL { +export interface IPAYMENT_CHANNEL { MOBILE: 'MOBILE', WEB: 'WEB', MOBILE_WEB: 'MOBILE_WEB', @@ -62,13 +64,13 @@ interface IPAYMENT_CHANNEL { MOBILE_PHONE: 'MOBILE_PHONE' } -interface ISUB_MERCHANT_TYPE { +export interface ISUB_MERCHANT_TYPE { PERSONAL: 'PERSONAL', PRIVATE_COMPANY: 'PRIVATE_COMPANY', LIMITED_OR_JOINT_STOCK_COMPANY: 'LIMITED_OR_JOINT_STOCK_COMPANY' } -interface ICURRENCY { +export interface ICURRENCY { TRY: 'TRY', EUR: 'EUR', USD: 'USD', @@ -79,36 +81,36 @@ interface ICURRENCY { CHF: 'CHF' } -interface IAPM_TYPE { +export interface IAPM_TYPE { SOFORT: 'SOFORT', IDEAL: 'IDEAL', QIWI: 'QIWI', GIROPAY: 'GIROPAY' } -interface IREFUND_REASON { +export interface IREFUND_REASON { DOUBLE_PAYMENT: 'double_payment', BUYER_REQUEST: 'buyer_request', FRAUD: 'fraud', OTHER: 'other' } -interface IPLAN_PAYMENT_TYPE { +export interface IPLAN_PAYMENT_TYPE { RECURRING: "RECURRING" } -interface ISUBSCRIPTION_PRICING_PLAN_INTERVAL { +export interface ISUBSCRIPTION_PRICING_PLAN_INTERVAL { DAILY: 'DAILY', WEEKLY: 'WEEKLY', MONTHLY: 'MONTHLY', YEARLY: 'YEARLY' } -interface ISUBSCRIPTION_UPGRADE_PERIOD { +export interface ISUBSCRIPTION_UPGRADE_PERIOD { NOW: 'NOW' } -interface ISUBSCRIPTION_STATUS { +export interface ISUBSCRIPTION_STATUS { EXPIRED: 'EXPIRED', UNPAID: 'UNPAID', CANCELED: 'CANCELED', @@ -117,7 +119,7 @@ interface ISUBSCRIPTION_STATUS { UPGRADED: 'UPGRADED' } -interface ISUBSCRIPTION_INITIAL_STATUS { +export interface ISUBSCRIPTION_INITIAL_STATUS { ACTIVE: 'ACTIVE', PENDING: 'PENDING' } @@ -350,7 +352,7 @@ export interface ISavePaymentCardResult { cardBankName: string; } -export interface ICheckoutFormInitializeRequestData extends IThreeDSInitializePaymentRequestData { } +//export interface ICheckoutFormInitializeRequestData extends IThreeDSInitializePaymentRequestData { } export interface ICheckoutFormInitialResult { status: string; @@ -412,7 +414,7 @@ export interface IInstallmentInfoRequestData { binNumber: string; } -interface IInstallmentDetail { +export interface IInstallmentDetail { installmentNumber: number; totalPrice: number | string; installmentPrice: number | string; @@ -483,7 +485,7 @@ export interface IPaymentRetrieveRequestData { paymentConversationId?: string; } -export interface IPaymentRetrieveResult extends IPaymentResult { } +//export interface IPaymentRetrieveResult extends IPaymentResult { } export interface IPaymentItemRequestData { paymentTransactionId: string; @@ -614,16 +616,16 @@ export interface IPayoutCompletedTransactionListRetrieveRequestData { count?: number; } -interface IPayoutCompletedTransaction extends IPaymentResult { +/* export interface IPayoutCompletedTransaction extends IPaymentResult { -} +} */ export interface IPayoutCompletedTransactionListRetrieveResult { status: string; locale?: LOCALE; systemTime: number; conversationId?: string; - payoutCompletedTransactionList: IPayoutCompletedTransaction[]; + payoutCompletedTransactionList: IPaymentResult[]; } export interface ISubMerchantCreateRequestData { @@ -735,16 +737,16 @@ export interface IBouncedBackTransactionListRetrieveRequestData { count?: number; } -interface IBouncedBackTransaction extends IPaymentResult { +/* export interface IBouncedBackTransaction extends IPaymentResult { -} +} */ export interface IBouncedBackTransactionListRetrieveResult { status: string; locale?: LOCALE; systemTime: number; conversationId?: string; - bouncedBackTransactionList: IBouncedBackTransaction[]; + bouncedBackTransactionList: IPaymentResult[]; } @@ -767,7 +769,7 @@ export interface IThreeDSPaymentCompleteRequestData { conversationData?: string; } -export interface IThreeDSPaymentCompleteResult extends IPaymentResult { } +//export interface IThreeDSPaymentCompleteResult extends IPaymentResult { } export interface ISettlementToBalanceRequestData { locale?: LOCALE; @@ -846,7 +848,7 @@ export interface ISubscriptionProductRetrieveListRequestData { count?: number; } -interface ISubscriptionProductItem { +export interface ISubscriptionProductItem { productReferenceCode: string; name: string; description: string; @@ -944,7 +946,7 @@ export interface ISubscriptionPricingPlanRetrieveListRequestData { count?: number; } -interface ISubscriptionPricingPlanItem { +export interface ISubscriptionPricingPlanItem { pricingPlanReferenceCode: string; name: string; price: number | string; @@ -1046,7 +1048,7 @@ export interface ISubscriptionCustomerRetrieveListRequestData { count?: number; } -interface ISubscriptionCustomerItem { +export interface ISubscriptionCustomerItem { customerReferenceCode: string; name: string; surname: string; @@ -1111,7 +1113,7 @@ export interface ISubscriptionPaymentRetryResult { referenceCode: string; } -interface ISubscriptionCancelRequestData { +export interface ISubscriptionCancelRequestData { locale?: LOCALE; conversationId?: string; subscriptionReferenceCode: string; @@ -1326,7 +1328,7 @@ export interface ICardList { } export interface ICheckOutFormInitialize { - create(data: ICheckoutFormInitializeRequestData, callback: (err: Error, result: ICheckoutFormInitialResult) => void): void; + create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: ICheckoutFormInitialResult) => void): void; } export interface ICheckOutForm { @@ -1343,7 +1345,7 @@ export interface IInstallmentInfo { export interface IPayment { create(data: IPaymentRequestData, callback: (err: Error, result: IPaymentResult) => void): void; - retrieve(data: IPaymentRetrieveRequestData, callback: (err: Error, result: IPaymentRetrieveResult) => void): void; + retrieve(data: IPaymentRetrieveRequestData, callback: (err: Error, result: IPaymentResult) => void): void; } export interface IPaymentItem { @@ -1385,7 +1387,7 @@ export interface IThreeDSInitialize { } export interface IThreedsPayment { - create(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IThreeDSPaymentCompleteResult) => void): void; + create(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IPaymentResult) => void): void; } export interface ISettlementToBalance { @@ -1440,63 +1442,59 @@ export interface ISubscriptionExistingCustomer { initialize(data: ISubscriptionExistingCustomerInitializeRequestData, callback: (err: Error, result: ISubscriptionExistingCustomerInitializeResult) => void): void; } -/* MODULE */ -declare module "iyzipay" { - - namespace Iyzipay { - const LOCALE: ILOCALE; - const PAYMENT_GROUP: IPAYMENT_GROUP; - const BASKET_ITEM_TYPE: IBASKET_ITEM_TYPE; - const PAYMENT_CHANNEL: IPAYMENT_CHANNEL; - const SUB_MERCHANT_TYPE: ISUB_MERCHANT_TYPE; - const CURRENCY: ICURRENCY; - const APM_TYPE: IAPM_TYPE; - const REFUND_REASON: IREFUND_REASON; - const PLAN_PAYMENT_TYPE: IPLAN_PAYMENT_TYPE; - const SUBSCRIPTION_PRICING_PLAN_INTERVAL: ISUBSCRIPTION_PRICING_PLAN_INTERVAL; - const SUBSCRIPTION_UPGRADE_PERIOD: ISUBSCRIPTION_UPGRADE_PERIOD; - const SUBSCRIPTION_STATUS: ISUBSCRIPTION_STATUS; - const SUBSCRIPTION_INITIAL_STATUS: ISUBSCRIPTION_INITIAL_STATUS; - } - - class Iyzipay { - constructor(options?: IConfigOptions); - apiTest: IApiTest; - approval: IApproval; - disapproval: IDisapproval; - bkmInitialize: IBKMInitialize; - bkm: IBKM; - cancel: ICancel; - card: ICard; - cardList: ICardList; - checkoutFormInitialize: ICheckOutFormInitialize; - checkoutForm: ICheckOutForm; - universalCardStorageInitialize: IUniversalCardStorageInitialize; - installmentInfo: IInstallmentInfo; - payment: IPayment; - paymentItem: IPaymentItem; - peccoInitialize: IPeccoInitialize; - peccoPayment: IPeccoPayment; - refund: IRefund; - refundToBalance: IRefundToBalance; - payoutCompletedTransactionListRetrieve: IPayoutCompletedTransactionListRetrieve; - bouncedBackTransactionListRetrieve: IBouncedBackTransactionListRetrieve; - subMerchant: ISubMerchant; - threedsInitialize: IThreeDSInitialize; - threedsPayment: IThreedsPayment; - - settlementToBalance: ISettlementToBalance; - /* SUBSCRIPTION */ - subscriptionProduct: ISubscriptionProduct; - subscriptionPricingPlan: ISubscriptionPricingPlan; - subscriptionCustomer: ISubscriptionCustomer; - subscriptionCard: ISubscriptionCard; - subscriptionPayment: ISubscriptionPayment; - subscription: ISubscription; - subscriptionCheckoutForm: ISubscriptionCheckoutForm; - subscriptionExistingCustomer: ISubscriptionExistingCustomer; - - } - - export default Iyzipay; -} \ No newline at end of file +export class Iyzipay { + constructor(options?: IConfigOptions); + apiTest: IApiTest; + approval: IApproval; + disapproval: IDisapproval; + bkmInitialize: IBKMInitialize; + bkm: IBKM; + cancel: ICancel; + card: ICard; + cardList: ICardList; + checkoutFormInitialize: ICheckOutFormInitialize; + checkoutForm: ICheckOutForm; + universalCardStorageInitialize: IUniversalCardStorageInitialize; + installmentInfo: IInstallmentInfo; + payment: IPayment; + paymentItem: IPaymentItem; + peccoInitialize: IPeccoInitialize; + peccoPayment: IPeccoPayment; + refund: IRefund; + refundToBalance: IRefundToBalance; + payoutCompletedTransactionListRetrieve: IPayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: IBouncedBackTransactionListRetrieve; + subMerchant: ISubMerchant; + threedsInitialize: IThreeDSInitialize; + threedsPayment: IThreedsPayment; + + settlementToBalance: ISettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: ISubscriptionProduct; + subscriptionPricingPlan: ISubscriptionPricingPlan; + subscriptionCustomer: ISubscriptionCustomer; + subscriptionCard: ISubscriptionCard; + subscriptionPayment: ISubscriptionPayment; + subscription: ISubscription; + subscriptionCheckoutForm: ISubscriptionCheckoutForm; + subscriptionExistingCustomer: ISubscriptionExistingCustomer; +} + +export namespace Iyzipay { + const LOCALE: ILOCALE; + const PAYMENT_GROUP: IPAYMENT_GROUP; + const BASKET_ITEM_TYPE: IBASKET_ITEM_TYPE; + const PAYMENT_CHANNEL: IPAYMENT_CHANNEL; + const SUB_MERCHANT_TYPE: ISUB_MERCHANT_TYPE; + const CURRENCY: ICURRENCY; + const APM_TYPE: IAPM_TYPE; + const REFUND_REASON: IREFUND_REASON; + const PLAN_PAYMENT_TYPE: IPLAN_PAYMENT_TYPE; + const SUBSCRIPTION_PRICING_PLAN_INTERVAL: ISUBSCRIPTION_PRICING_PLAN_INTERVAL; + const SUBSCRIPTION_UPGRADE_PERIOD: ISUBSCRIPTION_UPGRADE_PERIOD; + const SUBSCRIPTION_STATUS: ISUBSCRIPTION_STATUS; + const SUBSCRIPTION_INITIAL_STATUS: ISUBSCRIPTION_INITIAL_STATUS; +} + + +export default Iyzipay; \ No newline at end of file From da2f24863d87211bfc9712bdf8aea98e0ce2944f Mon Sep 17 00:00:00 2001 From: cangokceaslan Date: Wed, 31 Jan 2024 01:48:27 +0300 Subject: [PATCH 04/11] Upgraded Interface Names and Moduling Declaration --- index.d.ts | 1218 ++++++++++++++++++++++++++++------------------------ 1 file changed, 655 insertions(+), 563 deletions(-) diff --git a/index.d.ts b/index.d.ts index eed19ab..9e56771 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,137 +1,133 @@ -/* eslint-disable @typescript-eslint/naming-convention */ +type Locale = "TR" | "EN"; -/** - * author: Can Gökçeaslan - * description: This peace of code is a typescript definition file for iyzipay nodejs sdk. - * website: https://www.cangokceaslan.com - * github: https://www.github.com/cangokceaslan - * npm: https://www.npmjs.com/package/@types/iyzipay -*/ +type PaymentGroup = "PRODUCT" | "LISTING" | "SUBSCRIPTION"; +type BasketItemType = "PHYSICAL" | "VIRTUAL"; -/* ENUMARATIONS */ -export type LOCALE = 'tr' | 'en'; +type PaymentChannel = + | "MOBILE" + | "WEB" + | "MOBILE_WEB" + | "MOBILE_IOS" + | "MOBILE_ANDROID" + | "MOBILE_WINDOWS" + | "MOBILE_TABLET" + | "MOBILE_PHONE"; -export type PAYMENT_GROUP = 'PRODUCT' | 'LISTING' | 'SUBSCRIPTION'; +type SubMerchantType = "PERSONAL" | "PRIVATE_COMPANY" | "LIMITED_OR_JOINT_STOCK_COMPANY"; -export type BASKET_ITEM_TYPE = 'PHYSICAL' | 'VIRTUAL'; +type Currency = "TRY" | "EUR" | "USD" | "IRR" | "GBP" | "NOK" | "RUB" | "CHF"; -export type PAYMENT_CHANNEL = 'MOBILE' | 'WEB' | 'MOBILE_WEB' | 'MOBILE_IOS' | 'MOBILE_ANDROID' | 'MOBILE_WINDOWS' | 'MOBILE_TABLET' | 'MOBILE_PHONE'; +type ApmType = "SOFORT" | "IDEAL" | "QIWI" | "GIROPAY"; -export type SUB_MERCHANT_TYPE = 'PERSONAL' | 'PRIVATE_COMPANY' | 'LIMITED_OR_JOINT_STOCK_COMPANY'; +type RefundReason = "DOUBLE_PAYMENT" | "BUYER_REQUEST" | "FRAUD" | "OTHER"; -export type CURRENCY = 'TRY' | 'EUR' | 'USD' | 'IRR' | 'GBP' | 'NOK' | 'RUB' | 'CHF'; +type PlanPaymentType = "RECURRING"; -export type APM_TYPE = 'SOFORT' | 'IDEAL' | 'QIWI' | 'GIROPAY'; +type SubscriptionPricingPlanInterval = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY"; -export type REFUND_REASON = 'double_payment' | 'buyer_request' | 'fraud' | 'other'; +type SubscriptionUpgradePeriod = "NOW"; -export type PLAN_PAYMENT_TYPE = "RECURRING"; +type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDING" | "UPGRADED"; -export type SUBSCRIPTION_PRICING_PLAN_INTERVAL = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY'; - -export type SUBSCRIPTION_UPGRADE_PERIOD = 'NOW'; - -export type SUBSCRIPTION_STATUS = 'EXPIRED' | 'UNPAID' | 'CANCELED' | 'ACTIVE' | 'PENDING' | 'UPGRADED'; - -export type SUBSCRIPTION_INITIAL_STATUS = 'ACTIVE' | 'PENDING'; +type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; /* INTERFACES */ -export interface ILOCALE { - TR: 'tr', - EN: 'en' +interface Ilocale { + TR: "TR"; + EN: "EN"; } -export interface IPAYMENT_GROUP { - PRODUCT: 'PRODUCT', - LISTING: 'LISTING', - SUBSCRIPTION: 'SUBSCRIPTION' +interface IpaymentGroup { + PRODUCT: "PRODUCT"; + LISTING: "LISTING"; + SUBSCRIPTION: "SUBSCRIPTION"; } -export interface IBASKET_ITEM_TYPE { - PHYSICAL: 'PHYSICAL', - VIRTUAL: 'VIRTUAL' +interface IbasketItemType { + PHYSICAL: "PHYSICAL"; + VIRTUAL: "VIRTUAL"; } -export interface IPAYMENT_CHANNEL { - MOBILE: 'MOBILE', - WEB: 'WEB', - MOBILE_WEB: 'MOBILE_WEB', - MOBILE_IOS: 'MOBILE_IOS', - MOBILE_ANDROID: 'MOBILE_ANDROID', - MOBILE_WINDOWS: 'MOBILE_WINDOWS', - MOBILE_TABLET: 'MOBILE_TABLET', - MOBILE_PHONE: 'MOBILE_PHONE' +interface IpaymentChannel { + MOBILE: "MOBILE"; + WEB: "WEB"; + MOBILE_WEB: "MOBILE_WEB"; + MOBILE_IOS: "MOBILE_IOS"; + MOBILE_ANDROID: "MOBILE_ANDROID"; + MOBILE_WINDOWS: "MOBILE_WINDOWS"; + MOBILE_TABLET: "MOBILE_TABLET"; + MOBILE_PHONE: "MOBILE_PHONE"; } -export interface ISUB_MERCHANT_TYPE { - PERSONAL: 'PERSONAL', - PRIVATE_COMPANY: 'PRIVATE_COMPANY', - LIMITED_OR_JOINT_STOCK_COMPANY: 'LIMITED_OR_JOINT_STOCK_COMPANY' +interface IsubMerchantType { + PERSONAL: "PERSONAL"; + PRIVATE_COMPANY: "PRIVATE_COMPANY"; + LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; } -export interface ICURRENCY { - TRY: 'TRY', - EUR: 'EUR', - USD: 'USD', - IRR: 'IRR', - GBP: 'GBP', - NOK: 'NOK', - RUB: 'RUB', - CHF: 'CHF' +interface Icurrency { + TRY: "TRY"; + EUR: "EUR"; + USD: "USD"; + IRR: "IRR"; + GBP: "GBP"; + NOK: "NOK"; + RUB: "RUB"; + CHF: "CHF"; } -export interface IAPM_TYPE { - SOFORT: 'SOFORT', - IDEAL: 'IDEAL', - QIWI: 'QIWI', - GIROPAY: 'GIROPAY' +interface IapmType { + SOFORT: "SOFORT"; + IDEAL: "IDEAL"; + QIWI: "QIWI"; + GIROPAY: "GIROPAY"; } -export interface IREFUND_REASON { - DOUBLE_PAYMENT: 'double_payment', - BUYER_REQUEST: 'buyer_request', - FRAUD: 'fraud', - OTHER: 'other' +interface IrefundReason { + DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; + BUYER_REQUEST: "BUYER_REQUEST"; + FRAUD: "FRAUD"; + OTHER: "OTHER"; } -export interface IPLAN_PAYMENT_TYPE { - RECURRING: "RECURRING" +interface IplanPaymentType { + RECURRING: "RECURRING"; } -export interface ISUBSCRIPTION_PRICING_PLAN_INTERVAL { - DAILY: 'DAILY', - WEEKLY: 'WEEKLY', - MONTHLY: 'MONTHLY', - YEARLY: 'YEARLY' +interface IsubscriptionPricingPlanInterval { + DAILY: "DAILY"; + WEEKLY: "WEEKLY"; + MONTHLY: "MONTHLY"; + YEARLY: "YEARLY"; } -export interface ISUBSCRIPTION_UPGRADE_PERIOD { - NOW: 'NOW' +interface IsubscriptionUpgradePeriod { + NOW: "NOW"; } -export interface ISUBSCRIPTION_STATUS { - EXPIRED: 'EXPIRED', - UNPAID: 'UNPAID', - CANCELED: 'CANCELED', - ACTIVE: 'ACTIVE', - PENDING: 'PENDING', - UPGRADED: 'UPGRADED' +interface IsubscriptionStatus { + EXPIRED: "EXPIRED"; + UNPAID: "UNPAID"; + CANCELED: "CANCELED"; + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; + UPGRADED: "UPGRADED"; } -export interface ISUBSCRIPTION_INITIAL_STATUS { - ACTIVE: 'ACTIVE', - PENDING: 'PENDING' +interface IsubscriptionInitialStatus { + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; } /* GENERIC INTERFACES */ -export interface IConfigOptions { +interface ConfigOptions { apiKey: string; secretKey: string; uri: string; } -export interface IPaymentCard { +interface PaymentCard { cardHolderName: string; cardNumber: string; expireMonth: string; @@ -142,14 +138,14 @@ export interface IPaymentCard { cardAlias: string; } -export interface ISavedPaymentCard { +interface SavedPaymentCard { cardToken?: string; cardUserKey: string; ucsToken?: string; consumerToken?: string; } -export interface ISavedPaymentCardDetail { +interface SavedPaymentCardDetail { cardToken: string; cardAlias: string; binNumber: string; @@ -161,7 +157,7 @@ export interface ISavedPaymentCardDetail { cardBankName: string; } -export interface IBuyerDetails { +interface BuyerDetails { id: string; name: string; surname: string; @@ -177,7 +173,7 @@ export interface IBuyerDetails { zipCode?: string; } -export interface IAddressDetails { +interface AddressDetails { contactName: string; city: string; country: string; @@ -185,19 +181,19 @@ export interface IAddressDetails { zipCode?: string; } -export interface IBasketItem { +interface BasketItem { id: string; name: string; category1: string; category2?: string; - itemType: BASKET_ITEM_TYPE; + itemType: BasketItemType; price: number | string; subMerchantPrice?: number | string; subMerchantKey?: string; } /* Result Parts */ -export interface IConvertedPayout { +interface ConvertedPayout { paidPrice: number | string; iyzicoCommissionRateAmount: number; iyzicoCommissionFee: number; @@ -207,10 +203,10 @@ export interface IConvertedPayout { merchantPayoutAmount: number; iyziConversionRate: number; iyziConversionRateAmount: number; - currency: CURRENCY; + currency: Currency; } -export interface IItemTransaction { +interface ItemTransaction { itemId: string; paymentTransactionId: string; transactionStatus: number; @@ -228,46 +224,45 @@ export interface IItemTransaction { subMerchantPayoutRate: number; subMerchantPayoutAmount: number; merchantPayoutAmount: number; - convertedPayout: IConvertedPayout; + convertedPayout: ConvertedPayout; } - /* REQUEST - RESULT INTERFACES */ -export interface IApprovalPaymentRequestData { - locale?: LOCALE; +interface ApprovalPaymentRequestData { + locale?: Locale; conversationId?: string; paymentTransactionId: string; } -export interface IApprovalPaymentResult { +interface ApprovalPaymentResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; paymentId: string; } -export interface IApiTestRequestData { - locale?: LOCALE; +interface ApiTestRequestData { + locale?: Locale; conversationId?: string; } -export interface IApiTestResult { +interface ApiTestResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; } -export interface IBinNumberRequestData { - locale?: LOCALE; +interface BinNumberRequestData { + locale?: Locale; conversationId?: string; binNumber: string; } -export interface IBinNumberResult { +interface BinNumberResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; binNumber: string; @@ -278,64 +273,63 @@ export interface IBinNumberResult { bankCode: number; } -export interface ICancelPaymentRequestData { - locale?: LOCALE; +interface CancelPaymentRequestData { + locale?: Locale; conversationId?: string; paymentId: string; ip: string; - reason?: REFUND_REASON; + reason?: RefundReason; description?: string; } -export interface ICancelPaymentResult { +interface CancelPaymentResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; paymentId: string; } -export interface ISavePaymentCardRequestData { - locale?: LOCALE; +interface SavePaymentCardRequestData { + locale?: Locale; conversationId?: string; email: string; externalId?: string; cardUserKey?: string; - card: IPaymentCard; + card: PaymentCard; } -export interface IListUserCardsRequestData { - locale?: LOCALE; +interface ListUserCardsRequestData { + locale?: Locale; conversationId?: string; cardUserKey: string; } -export interface IDeleteUserCardRequestData { - locale?: LOCALE; +interface DeleteUserCardRequestData { + locale?: Locale; conversationId?: string; cardUserKey: string; cardToken: string; } - -export interface IListUserCardsResult { +interface ListUserCardsResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - cardDetails: ISavedPaymentCardDetail[]; + cardDetails: SavedPaymentCardDetail[]; } -export interface IDeleteUserCardResult { +interface DeleteUserCardResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; } -export interface ISavePaymentCardResult { +interface SavePaymentCardResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; externalId?: string; @@ -352,26 +346,26 @@ export interface ISavePaymentCardResult { cardBankName: string; } -//export interface ICheckoutFormInitializeRequestData extends IThreeDSInitializePaymentRequestData { } +// interface ICheckoutFormInitializeRequestData extends ThreeDSInitializePaymentRequestData { } -export interface ICheckoutFormInitialResult { +interface CheckoutFormInitialResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; checkoutFormContent: string; } -export interface ICheckoutFormRetrieveRequestData { - locale?: LOCALE; +interface CheckoutFormRetrieveRequestData { + locale?: Locale; conversationId?: string; token: string; } -export interface ICheckoutFormRetrieveResult { +interface CheckoutFormRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; @@ -379,78 +373,78 @@ export interface ICheckoutFormRetrieveResult { fraudStatus: number; price: number | string; paidPrice: number | string; - currency: CURRENCY; + currency: Currency; installment: number; basketId: string; paymentId: string; - paymentItems: IItemTransaction[]; - paymentCard: ISavedPaymentCardDetail; - buyer: IBuyerDetails; - shippingAddress: IAddressDetails; - billingAddress: IAddressDetails; - basketItems: IBasketItem[]; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; } -export interface IUniversalCardStorageInitializeRequestData { - locale?: LOCALE; +interface UniversalCardStorageInitializeRequestData { + locale?: Locale; conversationId?: string; gsmNumber: string; email: string; } -export interface IUniversalCardStorageInitializeResult { +interface UniversalCardStorageInitializeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; callbackUrl: string; } -export interface IInstallmentInfoRequestData { - locale?: LOCALE; +interface InstallmentInfoRequestData { + locale?: Locale; conversationId?: string; price: number | string; binNumber: string; } -export interface IInstallmentDetail { +interface InstallmentDetail { installmentNumber: number; totalPrice: number | string; installmentPrice: number | string; installmentRate: number; } -export interface IInstallmentInfoResult { +interface InstallmentInfoResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; binNumber: string; price: number | string; - installmentDetails: IInstallmentDetail[]; + installmentDetails: InstallmentDetail[]; } -export interface IPaymentRequestData { - locale?: LOCALE; +interface PaymentRequestData { + locale?: Locale; conversationId?: string; price: number | string; paidPrice: number | string; - currency?: CURRENCY; + currency?: Currency; installments: number; basketId?: string; - paymentChannel?: PAYMENT_CHANNEL; - paymentGroup?: PAYMENT_GROUP; - paymentCard: ISavedPaymentCard | IPaymentCard; - buyer: IBuyerDetails; - shippingAddress: IAddressDetails; - billingAddress: IAddressDetails; - basketItems: IBasketItem[]; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + paymentCard: SavedPaymentCard | PaymentCard; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; } -export interface IPaymentResult { +interface PaymentResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; price: number | string; @@ -470,30 +464,30 @@ export interface IPaymentResult { binNumber: string; lastFourDigits: string; basketId: string; - currency: CURRENCY; - itemTransactions: IItemTransaction[]; + currency: Currency; + itemTransactions: ItemTransaction[]; authCode: string; phase: string; mdStatus: string; hostReference: string; } -export interface IPaymentRetrieveRequestData { - locale?: LOCALE; +interface PaymentRetrieveRequestData { + locale?: Locale; conversationId?: string; paymentId: string; paymentConversationId?: string; } -//export interface IPaymentRetrieveResult extends IPaymentResult { } +// interface PaymentRetrieveResult extends PaymentResult { } -export interface IPaymentItemRequestData { +interface PaymentItemRequestData { paymentTransactionId: string; subMerchantKey?: string; subMerchantPrice?: number | string; } -export interface IPaymentItemResult { +interface PaymentItemResult { itemId: string; paymentTransactionId: string; transactionStatus: number; @@ -511,44 +505,44 @@ export interface IPaymentItemResult { subMerchantPayoutRate: number; subMerchantPayoutAmount: number; merchantPayoutAmount: number; - convertedPayout: IConvertedPayout; + convertedPayout: ConvertedPayout; } -export interface IPeccoInitializeRequestData { - locale?: LOCALE; +interface PeccoInitializeRequestData { + locale?: Locale; conversationId?: string; price: number | string; paidPrice: number | string; - currency?: CURRENCY; + currency?: Currency; installments: number; basketId?: string; - paymentChannel?: PAYMENT_CHANNEL; - paymentGroup?: PAYMENT_GROUP; - buyer: IBuyerDetails; - shippingAddress: IAddressDetails; - billingAddress: IAddressDetails; - basketItems: IBasketItem[]; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; callbackUrl: string; } -export interface IPeccoInitializeResult { +interface PeccoInitializeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; checkoutFormContent: string; } -export interface IPeccoPaymentRequestData { - locale?: LOCALE; +interface PeccoPaymentRequestData { + locale?: Locale; conversationId?: string; token: string; } -export interface IPeccoPaymentResult { +interface PeccoPaymentResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; @@ -556,83 +550,83 @@ export interface IPeccoPaymentResult { fraudStatus: number; price: number | string; paidPrice: number | string; - currency: CURRENCY; + currency: Currency; installment: number; basketId: string; paymentId: string; - paymentItems: IItemTransaction[]; - paymentCard: ISavedPaymentCardDetail; - buyer: IBuyerDetails; - shippingAddress: IAddressDetails; - billingAddress: IAddressDetails; - basketItems: IBasketItem[]; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; } -export interface IRefundRequestData { - locale?: LOCALE; +interface RefundRequestData { + locale?: Locale; conversationId?: string; paymentTransactionId: string; price: number | string; ip: string; - currency: CURRENCY; - reason?: REFUND_REASON; + currency: Currency; + reason?: RefundReason; description?: string; } -export interface IRefundResult { +interface RefundResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; paymentId: string; price: number | string; - currency: CURRENCY; + currency: Currency; hostReference?: string; } -export interface IRefundToBalanceRequestData { - locale?: LOCALE; +interface RefundToBalanceRequestData { + locale?: Locale; conversationId?: string; paymentId: string; callbackUrl: string; } -export interface IRefundToBalanceResult { +interface RefundToBalanceResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; paymentId: string; price: number | string; - currency: CURRENCY; + currency: Currency; hostReference?: string; } -export interface IPayoutCompletedTransactionListRetrieveRequestData { - locale?: LOCALE; +interface PayoutCompletedTransactionListRetrieveRequestData { + locale?: Locale; conversationId?: string; date: string; page?: number; count?: number; } -/* export interface IPayoutCompletedTransaction extends IPaymentResult { +/* interface IPayoutCompletedTransaction extends PaymentResult { } */ -export interface IPayoutCompletedTransactionListRetrieveResult { +interface PayoutCompletedTransactionListRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - payoutCompletedTransactionList: IPaymentResult[]; + payoutCompletedTransactionList: PaymentResult[]; } -export interface ISubMerchantCreateRequestData { - locale?: LOCALE; +interface SubMerchantCreateRequestData { + locale?: Locale; conversationId?: string; subMerchantExternalId: string; - subMerchantType: SUB_MERCHANT_TYPE; + subMerchantType: SubMerchantType; address: string; taxOffice?: string; legalCompanyTitle?: string; @@ -643,16 +637,16 @@ export interface ISubMerchantCreateRequestData { name: string; iban: string; identityNumber: string; - currency: CURRENCY; + currency: Currency; } -export interface ISubMerchantCreateResult { +interface SubMerchantCreateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; subMerchantKey: string; - subMerchantType: SUB_MERCHANT_TYPE; + subMerchantType: SubMerchantType; address: string; taxOffice?: string; legalCompanyTitle?: string; @@ -663,11 +657,11 @@ export interface ISubMerchantCreateResult { name: string; iban: string; identityNumber: string; - currency: CURRENCY; + currency: Currency; } -export interface ISubMerchantUpdateRequestData { - locale?: LOCALE; +interface SubMerchantUpdateRequestData { + locale?: Locale; conversationId?: string; subMerchantKey: string; address?: string; @@ -680,16 +674,16 @@ export interface ISubMerchantUpdateRequestData { name?: string; iban?: string; identityNumber?: string; - currency?: CURRENCY; + currency?: Currency; } -export interface ISubMerchantUpdateResult { +interface SubMerchantUpdateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; subMerchantKey: string; - subMerchantType: SUB_MERCHANT_TYPE; + subMerchantType: SubMerchantType; address: string; taxOffice?: string; legalCompanyTitle?: string; @@ -700,22 +694,22 @@ export interface ISubMerchantUpdateResult { name: string; iban: string; identityNumber: string; - currency: CURRENCY; + currency: Currency; } -export interface ISubMerchantRetrieveRequestData { - locale?: LOCALE; +interface SubMerchantRetrieveRequestData { + locale?: Locale; conversationId?: string; subMerchantExternalId: string; } -export interface ISubMerchantRetrieveResult { +interface SubMerchantRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; subMerchantKey: string; - subMerchantType: SUB_MERCHANT_TYPE; + subMerchantType: SubMerchantType; address: string; taxOffice?: string; legalCompanyTitle?: string; @@ -726,80 +720,79 @@ export interface ISubMerchantRetrieveResult { name: string; iban: string; identityNumber: string; - currency: CURRENCY; + currency: Currency; } -export interface IBouncedBackTransactionListRetrieveRequestData { - locale?: LOCALE; +interface BouncedBackTransactionListRetrieveRequestData { + locale?: Locale; conversationId?: string; date: string; page?: number; count?: number; } -/* export interface IBouncedBackTransaction extends IPaymentResult { +/* interface IBouncedBackTransaction extends PaymentResult { } */ -export interface IBouncedBackTransactionListRetrieveResult { +interface BouncedBackTransactionListRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - bouncedBackTransactionList: IPaymentResult[]; + bouncedBackTransactionList: PaymentResult[]; } - -export interface IThreeDSInitializePaymentRequestData extends IPaymentRequestData { +interface ThreeDSInitializePaymentRequestData extends PaymentRequestData { callbackUrl: string; } -export interface IThreeDSInitializePaymentResult { +interface ThreeDSInitializePaymentResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; threeDSHtmlContent: string; } -export interface IThreeDSPaymentCompleteRequestData { - locale?: LOCALE; +interface ThreeDSPaymentCompleteRequestData { + locale?: Locale; conversationId?: string; paymentId: string; conversationData?: string; } -//export interface IThreeDSPaymentCompleteResult extends IPaymentResult { } +// interface IThreeDSPaymentCompleteResult extends PaymentResult { } -export interface ISettlementToBalanceRequestData { - locale?: LOCALE; +interface SettlementToBalanceRequestData { + locale?: Locale; conversationId?: string; subMerchantKey: string; callbackUrl?: string; price: number | string; } -export interface ISettlementToBalanceResult { +interface SettlementToBalanceResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; subMerchantKey: string; price: number | string; - currency: CURRENCY; + currency: Currency; hostReference?: string; } -export interface ISubscriptionProductCreateRequestData { - locale?: LOCALE; +interface SubscriptionProductCreateRequestData { + locale?: Locale; conversationId?: string; name: string; description?: string; } -export interface ISubscriptionProductCreateResult { +interface SubscriptionProductCreateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; @@ -807,17 +800,17 @@ export interface ISubscriptionProductCreateResult { description: string; } -export interface ISubscriptionProductUpdateRequestData { - locale?: LOCALE; +interface SubscriptionProductUpdateRequestData { + locale?: Locale; conversationId?: string; productReferenceCode: string; name?: string; description?: string; } -export interface ISubscriptionProductUpdateResult { +interface SubscriptionProductUpdateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; @@ -825,15 +818,15 @@ export interface ISubscriptionProductUpdateResult { description: string; } -export interface ISubscriptionProductRetrieveRequestData { - locale?: LOCALE; +interface SubscriptionProductRetrieveRequestData { + locale?: Locale; conversationId?: string; productReferenceCode: string; } -export interface ISubscriptionProductRetrieveResult { +interface SubscriptionProductRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; @@ -841,146 +834,144 @@ export interface ISubscriptionProductRetrieveResult { description: string; } -export interface ISubscriptionProductRetrieveListRequestData { - locale?: LOCALE; +interface SubscriptionProductRetrieveListRequestData { + locale?: Locale; conversationId?: string; page?: number; count?: number; } -export interface ISubscriptionProductItem { +interface SubscriptionProductItem { productReferenceCode: string; name: string; description: string; } -export interface ISubscriptionProductRetrieveListResult { +interface SubscriptionProductRetrieveListResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - items: ISubscriptionProductItem[]; + items: SubscriptionProductItem[]; } - -export interface ISubscriptionPricingPlanCreateRequestData { - locale?: LOCALE; +interface SubscriptionPricingPlanCreateRequestData { + locale?: Locale; conversationId?: string; productReferenceCode: string; name: string; price: number | string; - currencyCode: CURRENCY; - paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; paymentIntervalCount: number; trialPeriodDays?: number; - planPaymentType?: PLAN_PAYMENT_TYPE; + planPaymentType?: PlanPaymentType; } -export interface ISubscriptionPricingPlanCreateResult { +interface SubscriptionPricingPlanCreateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; pricingPlanReferenceCode: string; name: string; price: number | string; - currencyCode: CURRENCY; - paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; paymentIntervalCount: number; trialPeriodDays?: number; - planPaymentType?: PLAN_PAYMENT_TYPE; + planPaymentType?: PlanPaymentType; } -export interface ISubscriptionPricingPlanUpdateRequestData { - locale?: LOCALE; +interface SubscriptionPricingPlanUpdateRequestData { + locale?: Locale; conversationId?: string; pricingPlanReferenceCode: string; name?: string; trialPeriodDays?: number; } -export interface ISubscriptionPricingPlanUpdateResult { +interface SubscriptionPricingPlanUpdateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; pricingPlanReferenceCode: string; name: string; price: number | string; - currencyCode: CURRENCY; - paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; paymentIntervalCount: number; trialPeriodDays?: number; - planPaymentType?: PLAN_PAYMENT_TYPE; + planPaymentType?: PlanPaymentType; } -export interface ISubscriptionPricingPlanRetrieveRequestData { - locale?: LOCALE; +interface SubscriptionPricingPlanRetrieveRequestData { + locale?: Locale; conversationId?: string; pricingPlanReferenceCode: string; } -export interface ISubscriptionPricingPlanRetrieveResult { +interface SubscriptionPricingPlanRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; productReferenceCode: string; pricingPlanReferenceCode: string; name: string; price: number | string; - currencyCode: CURRENCY; - paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; paymentIntervalCount: number; trialPeriodDays?: number; - planPaymentType?: PLAN_PAYMENT_TYPE; + planPaymentType?: PlanPaymentType; } -export interface ISubscriptionPricingPlanRetrieveListRequestData { - locale?: LOCALE; +interface SubscriptionPricingPlanRetrieveListRequestData { + locale?: Locale; conversationId?: string; productReferenceCode: string; page?: number; count?: number; } -export interface ISubscriptionPricingPlanItem { +interface SubscriptionPricingPlanItem { pricingPlanReferenceCode: string; name: string; price: number | string; - currencyCode: CURRENCY; - paymentInterval: SUBSCRIPTION_PRICING_PLAN_INTERVAL; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; paymentIntervalCount: number; trialPeriodDays?: number; - planPaymentType?: PLAN_PAYMENT_TYPE; + planPaymentType?: PlanPaymentType; } -export interface ISubscriptionPricingPlanRetrieveListResult { +interface SubscriptionPricingPlanRetrieveListResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - items: ISubscriptionPricingPlanItem[]; + items: SubscriptionPricingPlanItem[]; } -export interface ISubscriptionCustomerCreateRequestData { - locale?: LOCALE; +interface SubscriptionCustomerCreateRequestData { + locale?: Locale; conversationId?: string; name: string; surname: string; identityNumber: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } - -export interface ISubscriptionCustomerCreateResult { +interface SubscriptionCustomerCreateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; customerReferenceCode: string; @@ -989,25 +980,25 @@ export interface ISubscriptionCustomerCreateResult { identityNumber: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } -export interface ISubscriptionCustomerUpdateRequestData { - locale?: LOCALE; +interface SubscriptionCustomerUpdateRequestData { + locale?: Locale; conversationId?: string; customerReferenceCode: string; name?: string; surname?: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } -export interface ISubscriptionCustomerUpdateResult { +interface SubscriptionCustomerUpdateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; customerReferenceCode: string; @@ -1016,19 +1007,19 @@ export interface ISubscriptionCustomerUpdateResult { identityNumber: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } -export interface ISubscriptionCustomerRetrieveRequestData { - locale?: LOCALE; +interface SubscriptionCustomerRetrieveRequestData { + locale?: Locale; conversationId?: string; customerReferenceCode: string; } -export interface ISubscriptionCustomerRetrieveResult { +interface SubscriptionCustomerRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; customerReferenceCode: string; @@ -1037,235 +1028,234 @@ export interface ISubscriptionCustomerRetrieveResult { identityNumber: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } -export interface ISubscriptionCustomerRetrieveListRequestData { - locale?: LOCALE; +interface SubscriptionCustomerRetrieveListRequestData { + locale?: Locale; conversationId?: string; page?: number; count?: number; } -export interface ISubscriptionCustomerItem { +interface SubscriptionCustomerItem { customerReferenceCode: string; name: string; surname: string; identityNumber: string; email?: string; gsmNumber?: string; - billingAddress?: IAddressDetails; - shippingAddress?: IAddressDetails; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; } -export interface ISubscriptionCustomerRetrieveListResult { +interface SubscriptionCustomerRetrieveListResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - items: ISubscriptionCustomerItem[]; + items: SubscriptionCustomerItem[]; } -export interface ISubscriptionCardUpdateRequestData { - locale?: LOCALE; +interface SubscriptionCardUpdateRequestData { + locale?: Locale; conversationId?: string; customerReferenceCode: string; callbackUrl: string; } -export interface ISubscriptionCardUpdateResult { +interface SubscriptionCardUpdateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; checkoutFormContent: string; token: string; tokenExpireTime: number; } -export interface ISubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { - locale?: LOCALE; +interface SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { + locale?: Locale; conversationId?: string; subscriptionReferenceCode: string; callbackUrl: string; } -export interface ISubscriptionCardUpdateWithSubscriptionReferenceCodeResult { +interface SubscriptionCardUpdateWithSubscriptionReferenceCodeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; checkoutFormContent: string; token: string; tokenExpireTime: number; } -export interface ISubscriptionPaymentRetryRequestData { - locale?: LOCALE; +interface SubscriptionPaymentRetryRequestData { + locale?: Locale; conversationId?: string; referenceCode: string; } -export interface ISubscriptionPaymentRetryResult { +interface SubscriptionPaymentRetryResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; } -export interface ISubscriptionCancelRequestData { - locale?: LOCALE; +interface SubscriptionCancelRequestData { + locale?: Locale; conversationId?: string; subscriptionReferenceCode: string; } -export interface ISubscriptionCancelResult { +interface SubscriptionCancelResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; } -export interface ISubscriptionActivateRequestData { - locale?: LOCALE; +interface SubscriptionActivateRequestData { + locale?: Locale; conversationId?: string; subscriptionReferenceCode: string; } -export interface ISubscriptionActivateResult { +interface SubscriptionActivateResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; } -export interface ISubscriptionUpgradeRequestData { - locale?: LOCALE; +interface SubscriptionUpgradeRequestData { + locale?: Locale; conversationId?: string; subscriptionReferenceCode: string; newPricingPlanReferenceCode: string; - upgradePeriod?: SUBSCRIPTION_UPGRADE_PERIOD; + upgradePeriod?: SubscriptionUpgradePeriod; useTrial?: boolean; } -export interface ISubscriptionUpgradeResult { +interface SubscriptionUpgradeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; } -export interface ISubscriptionRetrieveRequestData { - locale?: LOCALE; +interface SubscriptionRetrieveRequestData { + locale?: Locale; conversationId?: string; subscriptionReferenceCode: string; } -export interface ISubscriptionRetrieveResult { +interface SubscriptionRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; parentReferenceCode: string; pricingPlanReferenceCode: string; customerReferenceCode: string; - subscriptionStatus: SUBSCRIPTION_STATUS; - subscriptionInitialStatus: SUBSCRIPTION_INITIAL_STATUS; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; subscriptionCreatedDate: string; subscriptionStartDate: string; subscriptionEndDate: string; trialStartDate?: string; trialEndDate?: string; - customer: ISubscriptionCustomerItem; - pricingPlan: ISubscriptionPricingPlanItem; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; } -export interface ISubscriptionSearchRequestData { - locale?: LOCALE; +interface SubscriptionSearchRequestData { + locale?: Locale; conversationId?: string; parentReferenceCode?: string; subscriptionReferenceCode?: string; customerReferenceCode?: string; - subscriptionStatus?: SUBSCRIPTION_STATUS; + subscriptionStatus?: SubscriptionStatus; subscriptionCreatedStartDate?: string; subscriptionCreatedEndDate?: string; page?: number; count?: number; } -export interface ISubscriptionItem { +interface SubscriptionItem { referenceCode: string; parentReferenceCode: string; pricingPlanReferenceCode: string; customerReferenceCode: string; - subscriptionStatus: SUBSCRIPTION_STATUS; - subscriptionInitialStatus: SUBSCRIPTION_INITIAL_STATUS; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; subscriptionCreatedDate: string; subscriptionStartDate: string; subscriptionEndDate: string; trialStartDate?: string; trialEndDate?: string; - customer: ISubscriptionCustomerItem; - pricingPlan: ISubscriptionPricingPlanItem; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; } -export interface ISubscriptionSearchResult { +interface SubscriptionSearchResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; - items: ISubscriptionItem[]; + items: SubscriptionItem[]; } -export interface ISubscriptionInitializeRequestData { - locale?: LOCALE; +interface SubscriptionInitializeRequestData { + locale?: Locale; conversationId?: string; callbackUrl: string; pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SUBSCRIPTION_INITIAL_STATUS; - customer: ISubscriptionCustomerCreateRequestData; - paymentCard?: ISavedPaymentCard | IPaymentCard; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; + paymentCard?: SavedPaymentCard | PaymentCard; } - -export interface ISubscriptionCheckoutFormInitializeRequestData { - locale?: LOCALE; +interface SubscriptionCheckoutFormInitializeRequestData { + locale?: Locale; conversationId?: string; callbackUrl: string; pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SUBSCRIPTION_INITIAL_STATUS; - customer: ISubscriptionCustomerCreateRequestData; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; } -export interface ISubscriptionCheckoutFormInitializeResult { +interface SubscriptionCheckoutFormInitializeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; checkoutFormContent: string; } -export interface ISubscriptionCheckoutFormRetrieveRequestData { - locale?: LOCALE; +interface SubscriptionCheckoutFormRetrieveRequestData { + locale?: Locale; conversationId?: string; token: string; } -export interface ISubscriptionCheckoutFormRetrieveResult { +interface SubscriptionCheckoutFormRetrieveResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; referenceCode: string; parentReferenceCode: string; pricingPlanReferenceCode: string; customerReferenceCode: string; - subscriptionStatus: SUBSCRIPTION_STATUS; + subscriptionStatus: SubscriptionStatus; trialDays?: number; trialStartDate?: string; trialEndDate?: string; @@ -1273,228 +1263,330 @@ export interface ISubscriptionCheckoutFormRetrieveResult { startDate: string; } -export interface ISubscriptionExistingCustomerInitializeRequestData { - locale?: LOCALE; +interface SubscriptionExistingCustomerInitializeRequestData { + locale?: Locale; conversationId?: string; pricingPlanReferenceCode: string; customerReferenceCode: string; } -export interface ISubscriptionExistingCustomerInitializeResult { +interface SubscriptionExistingCustomerInitializeResult { status: string; - locale?: LOCALE; + locale?: Locale; systemTime: number; conversationId?: string; token: string; } /* NAMESPACE INTERFACES */ -export interface IApiTest { - retrieve(data: IApiTestRequestData, callback: (err: Error, result: IApiTestResult) => void): void; -} - -export interface IBinNumber { - retrieve(data: IBinNumberRequestData, callback: (err: Error, result: IBinNumberResult) => void): void; -} - -export interface IApproval { - create(data: IApprovalPaymentRequestData, callback: (err: Error, result: IApprovalPaymentResult) => void): void; -} - -export interface IDisapproval { - create(data: IApprovalPaymentRequestData, callback: (err: Error, result: IApprovalPaymentResult) => void): void; +interface ApiTest { + retrieve(data: ApiTestRequestData, callback: (err: Error, result: ApiTestResult) => void): void; } -export interface IBKMInitialize { - create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: IThreeDSInitializePaymentResult) => void): void; +interface BinNumber { + retrieve(data: BinNumberRequestData, callback: (err: Error, result: BinNumberResult) => void): void; } -export interface IBKM { - retrieve(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IThreeDSPaymentCompleteRequestData) => void): void; +interface Approval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; } -export interface ICancel { - create(data: ICancelPaymentRequestData, callback: (err: Error, result: ICancelPaymentResult) => void): void; +interface Disapproval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; } - -export interface ICard { - create(data: ISavePaymentCardRequestData, callback: (err: Error, result: ISavePaymentCardResult) => void): void; - delete(data: IDeleteUserCardRequestData, callback: (err: Error, result: IDeleteUserCardResult) => void): void; +interface BKMInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; } -export interface ICardList { - retreive(data: IListUserCardsRequestData, callback: (err: Error, result: IListUserCardsResult) => void): void; +interface Ibkm { + retrieve( + data: ThreeDSPaymentCompleteRequestData, + callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, + ): void; } -export interface ICheckOutFormInitialize { - create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: ICheckoutFormInitialResult) => void): void; +interface Cancel { + create(data: CancelPaymentRequestData, callback: (err: Error, result: CancelPaymentResult) => void): void; } -export interface ICheckOutForm { - retrieve(data: ICheckoutFormRetrieveRequestData, callback: (err: Error, result: ICheckoutFormRetrieveResult) => void): void; +interface Card { + create(data: SavePaymentCardRequestData, callback: (err: Error, result: SavePaymentCardResult) => void): void; + delete(data: DeleteUserCardRequestData, callback: (err: Error, result: DeleteUserCardResult) => void): void; } -export interface IUniversalCardStorageInitialize { - retrieve(data: IUniversalCardStorageInitializeRequestData, callback: (err: Error, result: IUniversalCardStorageInitializeResult) => void): void; +interface CardList { + retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; } -export interface IInstallmentInfo { - retrieve(data: IInstallmentInfoRequestData, callback: (err: Error, result: IInstallmentInfoResult) => void): void; +interface CheckOutFormInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: CheckoutFormInitialResult) => void, + ): void; } -export interface IPayment { - create(data: IPaymentRequestData, callback: (err: Error, result: IPaymentResult) => void): void; - retrieve(data: IPaymentRetrieveRequestData, callback: (err: Error, result: IPaymentResult) => void): void; +interface CheckOutForm { + retrieve( + data: CheckoutFormRetrieveRequestData, + callback: (err: Error, result: CheckoutFormRetrieveResult) => void, + ): void; } -export interface IPaymentItem { - update(data: IPaymentItemRequestData, callback: (err: Error, result: IPaymentItemResult) => void): void; +interface UniversalCardStorageInitialize { + retrieve( + data: UniversalCardStorageInitializeRequestData, + callback: (err: Error, result: UniversalCardStorageInitializeResult) => void, + ): void; } -export interface IPeccoInitialize { - create(data: IPeccoInitializeRequestData, callback: (err: Error, result: IPeccoInitializeResult) => void): void; +interface InstallmentInfo { + retrieve(data: InstallmentInfoRequestData, callback: (err: Error, result: InstallmentInfoResult) => void): void; } -export interface IPeccoPayment { - create(data: IPeccoPaymentRequestData, callback: (err: Error, result: IPeccoPaymentResult) => void): void; +interface Payment { + create(data: PaymentRequestData, callback: (err: Error, result: PaymentResult) => void): void; + retrieve(data: PaymentRetrieveRequestData, callback: (err: Error, result: PaymentResult) => void): void; } -export interface IRefund { - create(data: IRefundRequestData, callback: (err: Error, result: IRefundResult) => void): void; +interface PaymentItem { + update(data: PaymentItemRequestData, callback: (err: Error, result: PaymentItemResult) => void): void; } -export interface IRefundToBalance { - create(data: IRefundToBalanceRequestData, callback: (err: Error, result: IRefundToBalanceResult) => void): void; +interface PeccoInitialize { + create(data: PeccoInitializeRequestData, callback: (err: Error, result: PeccoInitializeResult) => void): void; } -export interface IPayoutCompletedTransactionListRetrieve { - retrieve(data: IPayoutCompletedTransactionListRetrieveRequestData, callback: (err: Error, result: IPayoutCompletedTransactionListRetrieveResult) => void): void; +interface PeccoPayment { + create(data: PeccoPaymentRequestData, callback: (err: Error, result: PeccoPaymentResult) => void): void; } -export interface IBouncedBackTransactionListRetrieve { - retrieve(data: IBouncedBackTransactionListRetrieveRequestData, callback: (err: Error, result: IBouncedBackTransactionListRetrieveResult) => void): void; +interface Refund { + create(data: RefundRequestData, callback: (err: Error, result: RefundResult) => void): void; } -export interface ISubMerchant { - create(data: ISubMerchantCreateRequestData, callback: (err: Error, result: ISubMerchantCreateResult) => void): void; - update(data: ISubMerchantUpdateRequestData, callback: (err: Error, result: ISubMerchantUpdateResult) => void): void; - retrieve(data: ISubMerchantRetrieveRequestData, callback: (err: Error, result: ISubMerchantRetrieveResult) => void): void; +interface RefundToBalance { + create(data: RefundToBalanceRequestData, callback: (err: Error, result: RefundToBalanceResult) => void): void; } -export interface IThreeDSInitialize { - create(data: IThreeDSInitializePaymentRequestData, callback: (err: Error, result: IThreeDSInitializePaymentResult) => void): void; +interface PayoutCompletedTransactionListRetrieve { + retrieve( + data: PayoutCompletedTransactionListRetrieveRequestData, + callback: (err: Error, result: PayoutCompletedTransactionListRetrieveResult) => void, + ): void; } -export interface IThreedsPayment { - create(data: IThreeDSPaymentCompleteRequestData, callback: (err: Error, result: IPaymentResult) => void): void; +interface BouncedBackTransactionListRetrieve { + retrieve( + data: BouncedBackTransactionListRetrieveRequestData, + callback: (err: Error, result: BouncedBackTransactionListRetrieveResult) => void, + ): void; } -export interface ISettlementToBalance { - create(data: ISettlementToBalanceRequestData, callback: (err: Error, result: ISettlementToBalanceResult) => void): void; +interface SubMerchant { + create(data: SubMerchantCreateRequestData, callback: (err: Error, result: SubMerchantCreateResult) => void): void; + update(data: SubMerchantUpdateRequestData, callback: (err: Error, result: SubMerchantUpdateResult) => void): void; + retrieve( + data: SubMerchantRetrieveRequestData, + callback: (err: Error, result: SubMerchantRetrieveResult) => void, + ): void; } -export interface ISubscriptionProduct { - create(data: ISubscriptionProductCreateRequestData, callback: (err: Error, result: ISubscriptionProductCreateResult) => void): void; - update(data: ISubscriptionProductUpdateRequestData, callback: (err: Error, result: ISubscriptionProductUpdateResult) => void): void; - retrieve(data: ISubscriptionProductRetrieveRequestData, callback: (err: Error, result: ISubscriptionProductRetrieveResult) => void): void; - retrieveList(data: ISubscriptionProductRetrieveListRequestData, callback: (err: Error, result: ISubscriptionProductRetrieveListResult) => void): void; +interface ThreeDSInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; } -export interface ISubscriptionPricingPlan { - create(data: ISubscriptionPricingPlanCreateRequestData, callback: (err: Error, result: ISubscriptionPricingPlanCreateResult) => void): void; - update(data: ISubscriptionPricingPlanUpdateRequestData, callback: (err: Error, result: ISubscriptionPricingPlanUpdateResult) => void): void; - retrieve(data: ISubscriptionPricingPlanRetrieveRequestData, callback: (err: Error, result: ISubscriptionPricingPlanRetrieveResult) => void): void; - retrieveList(data: ISubscriptionPricingPlanRetrieveListRequestData, callback: (err: Error, result: ISubscriptionPricingPlanRetrieveListResult) => void): void; -} - -export interface ISubscriptionCustomer { - create(data: ISubscriptionCustomerCreateRequestData, callback: (err: Error, result: ISubscriptionCustomerCreateResult) => void): void; - update(data: ISubscriptionCustomerUpdateRequestData, callback: (err: Error, result: ISubscriptionCustomerUpdateResult) => void): void; - retrieve(data: ISubscriptionCustomerRetrieveRequestData, callback: (err: Error, result: ISubscriptionCustomerRetrieveResult) => void): void; - retrieveList(data: ISubscriptionCustomerRetrieveListRequestData, callback: (err: Error, result: ISubscriptionCustomerRetrieveListResult) => void): void; -} - -export interface ISubscriptionCard { - update(data: ISubscriptionCardUpdateRequestData, callback: (err: Error, result: ISubscriptionCardUpdateResult) => void): void; - updateWithSubscriptionReferenceCode(data: ISubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, callback: (err: Error, result: ISubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void): void; -} - -export interface ISubscriptionPayment { - retry(data: ISubscriptionPaymentRetryRequestData, callback: (err: Error, result: ISubscriptionPaymentRetryResult) => void): void; -} - -export interface ISubscription { - cancel(data: ISubscriptionCancelRequestData, callback: (err: Error, result: ISubscriptionCancelResult) => void): void; - activate(data: ISubscriptionActivateRequestData, callback: (err: Error, result: ISubscriptionActivateResult) => void): void; - upgrade(data: ISubscriptionUpgradeRequestData, callback: (err: Error, result: ISubscriptionUpgradeResult) => void): void; - retrieve(data: ISubscriptionRetrieveRequestData, callback: (err: Error, result: ISubscriptionRetrieveResult) => void): void; - search(data: ISubscriptionSearchRequestData, callback: (err: Error, result: ISubscriptionSearchResult) => void): void; - initialize(data: ISubscriptionInitializeRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormInitializeResult) => void): void; -} - -export interface ISubscriptionCheckoutForm { - initialize(data: ISubscriptionCheckoutFormInitializeRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormInitializeResult) => void): void; - retrieve(data: ISubscriptionCheckoutFormRetrieveRequestData, callback: (err: Error, result: ISubscriptionCheckoutFormRetrieveResult) => void): void; -} - -export interface ISubscriptionExistingCustomer { - initialize(data: ISubscriptionExistingCustomerInitializeRequestData, callback: (err: Error, result: ISubscriptionExistingCustomerInitializeResult) => void): void; -} - -export class Iyzipay { - constructor(options?: IConfigOptions); - apiTest: IApiTest; - approval: IApproval; - disapproval: IDisapproval; - bkmInitialize: IBKMInitialize; - bkm: IBKM; - cancel: ICancel; - card: ICard; - cardList: ICardList; - checkoutFormInitialize: ICheckOutFormInitialize; - checkoutForm: ICheckOutForm; - universalCardStorageInitialize: IUniversalCardStorageInitialize; - installmentInfo: IInstallmentInfo; - payment: IPayment; - paymentItem: IPaymentItem; - peccoInitialize: IPeccoInitialize; - peccoPayment: IPeccoPayment; - refund: IRefund; - refundToBalance: IRefundToBalance; - payoutCompletedTransactionListRetrieve: IPayoutCompletedTransactionListRetrieve; - bouncedBackTransactionListRetrieve: IBouncedBackTransactionListRetrieve; - subMerchant: ISubMerchant; - threedsInitialize: IThreeDSInitialize; - threedsPayment: IThreedsPayment; - - settlementToBalance: ISettlementToBalance; - /* SUBSCRIPTION */ - subscriptionProduct: ISubscriptionProduct; - subscriptionPricingPlan: ISubscriptionPricingPlan; - subscriptionCustomer: ISubscriptionCustomer; - subscriptionCard: ISubscriptionCard; - subscriptionPayment: ISubscriptionPayment; - subscription: ISubscription; - subscriptionCheckoutForm: ISubscriptionCheckoutForm; - subscriptionExistingCustomer: ISubscriptionExistingCustomer; +interface ThreedsPayment { + create(data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: PaymentResult) => void): void; } -export namespace Iyzipay { - const LOCALE: ILOCALE; - const PAYMENT_GROUP: IPAYMENT_GROUP; - const BASKET_ITEM_TYPE: IBASKET_ITEM_TYPE; - const PAYMENT_CHANNEL: IPAYMENT_CHANNEL; - const SUB_MERCHANT_TYPE: ISUB_MERCHANT_TYPE; - const CURRENCY: ICURRENCY; - const APM_TYPE: IAPM_TYPE; - const REFUND_REASON: IREFUND_REASON; - const PLAN_PAYMENT_TYPE: IPLAN_PAYMENT_TYPE; - const SUBSCRIPTION_PRICING_PLAN_INTERVAL: ISUBSCRIPTION_PRICING_PLAN_INTERVAL; - const SUBSCRIPTION_UPGRADE_PERIOD: ISUBSCRIPTION_UPGRADE_PERIOD; - const SUBSCRIPTION_STATUS: ISUBSCRIPTION_STATUS; - const SUBSCRIPTION_INITIAL_STATUS: ISUBSCRIPTION_INITIAL_STATUS; -} - - -export default Iyzipay; \ No newline at end of file +interface SettlementToBalance { + create( + data: SettlementToBalanceRequestData, + callback: (err: Error, result: SettlementToBalanceResult) => void, + ): void; +} + +interface SubscriptionProduct { + create( + data: SubscriptionProductCreateRequestData, + callback: (err: Error, result: SubscriptionProductCreateResult) => void, + ): void; + update( + data: SubscriptionProductUpdateRequestData, + callback: (err: Error, result: SubscriptionProductUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionProductRetrieveRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionProductRetrieveListRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveListResult) => void, + ): void; +} + +interface SubscriptionPricingPlan { + create( + data: SubscriptionPricingPlanCreateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanCreateResult) => void, + ): void; + update( + data: SubscriptionPricingPlanUpdateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionPricingPlanRetrieveRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionPricingPlanRetrieveListRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveListResult) => void, + ): void; +} + +interface SubscriptionCustomer { + create( + data: SubscriptionCustomerCreateRequestData, + callback: (err: Error, result: SubscriptionCustomerCreateResult) => void, + ): void; + update( + data: SubscriptionCustomerUpdateRequestData, + callback: (err: Error, result: SubscriptionCustomerUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionCustomerRetrieveRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionCustomerRetrieveListRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveListResult) => void, + ): void; +} + +interface SubscriptionCard { + update( + data: SubscriptionCardUpdateRequestData, + callback: (err: Error, result: SubscriptionCardUpdateResult) => void, + ): void; + updateWithSubscriptionReferenceCode( + data: SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + callback: (err: Error, result: SubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void, + ): void; +} + +interface SubscriptionPayment { + retry( + data: SubscriptionPaymentRetryRequestData, + callback: (err: Error, result: SubscriptionPaymentRetryResult) => void, + ): void; +} + +interface Subscription { + cancel( + data: SubscriptionCancelRequestData, + callback: (err: Error, result: SubscriptionCancelResult) => void, + ): void; + activate( + data: SubscriptionActivateRequestData, + callback: (err: Error, result: SubscriptionActivateResult) => void, + ): void; + upgrade( + data: SubscriptionUpgradeRequestData, + callback: (err: Error, result: SubscriptionUpgradeResult) => void, + ): void; + retrieve( + data: SubscriptionRetrieveRequestData, + callback: (err: Error, result: SubscriptionRetrieveResult) => void, + ): void; + search( + data: SubscriptionSearchRequestData, + callback: (err: Error, result: SubscriptionSearchResult) => void, + ): void; + initialize( + data: SubscriptionInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; +} + +interface SubscriptionCheckoutForm { + initialize( + data: SubscriptionCheckoutFormInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; + retrieve( + data: SubscriptionCheckoutFormRetrieveRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormRetrieveResult) => void, + ): void; +} + +interface SubscriptionExistingCustomer { + initialize( + data: SubscriptionExistingCustomerInitializeRequestData, + callback: (err: Error, result: SubscriptionExistingCustomerInitializeResult) => void, + ): void; +} + +declare module "iyzipay" { + declare class Iyzipay { + constructor(options?: ConfigOptions); + apiTest: ApiTest; + approval: Approval; + disapproval: Disapproval; + binNumber: BinNumber; + bkmInitialize: BKMInitialize; + bkm: Ibkm; + cancel: Cancel; + card: Card; + cardList: CardList; + checkoutFormInitialize: CheckOutFormInitialize; + checkoutForm: CheckOutForm; + universalCardStorageInitialize: UniversalCardStorageInitialize; + installmentInfo: InstallmentInfo; + payment: Payment; + paymentItem: PaymentItem; + peccoInitialize: PeccoInitialize; + peccoPayment: PeccoPayment; + refund: Refund; + refundToBalance: RefundToBalance; + payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; + subMerchant: SubMerchant; + threedsInitialize: ThreeDSInitialize; + threedsPayment: ThreedsPayment; + + settlementToBalance: SettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: SubscriptionProduct; + subscriptionPricingPlan: SubscriptionPricingPlan; + subscriptionCustomer: SubscriptionCustomer; + subscriptionCard: SubscriptionCard; + subscriptionPayment: SubscriptionPayment; + subscription: Subscription; + subscriptionCheckoutForm: SubscriptionCheckoutForm; + subscriptionExistingCustomer: SubscriptionExistingCustomer; + } + + declare namespace Iyzipay { + const Locale: Ilocale; + const PaymentGroup: IpaymentGroup; + const BasketItemType: IbasketItemType; + const PaymentChannel: IpaymentChannel; + const SubMerchantType: IsubMerchantType; + const Currency: Icurrency; + const ApmType: IapmType; + const RefundReason: IrefundReason; + const PlanPaymentType: IplanPaymentType; + const SubscriptionPricingPlanInterval: IsubscriptionPricingPlanInterval; + const SubscriptionUpgradePeriod: IsubscriptionUpgradePeriod; + const SubscriptionStatus: IsubscriptionStatus; + const SubscriptionInitialStatus: IsubscriptionInitialStatus; + } + export = Iyzipay; +} \ No newline at end of file From e36513677da0926fe84da19a8ec31a71b0cdb460 Mon Sep 17 00:00:00 2001 From: cangokceaslan Date: Wed, 31 Jan 2024 03:23:23 +0300 Subject: [PATCH 05/11] Update index.d.ts --- index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.d.ts b/index.d.ts index 9e56771..2b20683 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1534,7 +1534,7 @@ interface SubscriptionExistingCustomer { } declare module "iyzipay" { - declare class Iyzipay { + class Iyzipay { constructor(options?: ConfigOptions); apiTest: ApiTest; approval: Approval; @@ -1573,7 +1573,7 @@ declare module "iyzipay" { subscriptionExistingCustomer: SubscriptionExistingCustomer; } - declare namespace Iyzipay { + namespace Iyzipay { const Locale: Ilocale; const PaymentGroup: IpaymentGroup; const BasketItemType: IbasketItemType; From b9c232899052a2b889f31f5abdf4bec286494b58 Mon Sep 17 00:00:00 2001 From: cangokceaslan Date: Wed, 31 Jan 2024 03:25:58 +0300 Subject: [PATCH 06/11] Default exportation of class with namespace --- index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 2b20683..78d73eb 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1588,5 +1588,5 @@ declare module "iyzipay" { const SubscriptionStatus: IsubscriptionStatus; const SubscriptionInitialStatus: IsubscriptionInitialStatus; } - export = Iyzipay; + export default Iyzipay; } \ No newline at end of file From 35a8b45e845fa179c10253373995bf83ba6474ef Mon Sep 17 00:00:00 2001 From: cangokceaslan Date: Fri, 2 Feb 2024 02:02:37 +0300 Subject: [PATCH 07/11] Upgraded namespace variables There was a small mistake of namespace variable names. Corrected. --- index.d.ts | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/index.d.ts b/index.d.ts index 78d73eb..3739118 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1574,19 +1574,19 @@ declare module "iyzipay" { } namespace Iyzipay { - const Locale: Ilocale; - const PaymentGroup: IpaymentGroup; - const BasketItemType: IbasketItemType; - const PaymentChannel: IpaymentChannel; - const SubMerchantType: IsubMerchantType; - const Currency: Icurrency; - const ApmType: IapmType; - const RefundReason: IrefundReason; - const PlanPaymentType: IplanPaymentType; - const SubscriptionPricingPlanInterval: IsubscriptionPricingPlanInterval; - const SubscriptionUpgradePeriod: IsubscriptionUpgradePeriod; - const SubscriptionStatus: IsubscriptionStatus; - const SubscriptionInitialStatus: IsubscriptionInitialStatus; + const LOCALE: Ilocale; + const PAYMENT_GROUP: IpaymentGroup; + const BASKET_ITEM_TYPE: IbasketItemType; + const PAYMENT_CHANNEL: IpaymentChannel; + const SUB_MERCHANT_TYPE: IsubMerchantType; + const CURRENCY: Icurrency; + const APM_TYPE: IapmType; + const REFUND_REASON: IrefundReason; + const PLAN_PAYMENT_TYPE: IplanPaymentType; + const SUBSCRIPTION_PRICING_PLAN_INTERVAL: IsubscriptionPricingPlanInterval; + const SUBSCRIPTION_UPGRADE_PERIOD: IsubscriptionUpgradePeriod; + const SUBSCRIPTION_STATUS: IsubscriptionStatus; + const SUBSCRIPTION_INITIAL_STATUS: IsubscriptionInitialStatus; } export default Iyzipay; } \ No newline at end of file From bb2a2dfa515dbec45b87e59819644ee51f09c713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Tue, 6 Feb 2024 07:41:41 +0300 Subject: [PATCH 08/11] Exported all interfaces and Deduplicated naming according to @eslint/naming-convention - Exported all interfaces - Deduplicated naming according to @eslint/naming-convention --- index.d.ts | 307 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 234 insertions(+), 73 deletions(-) diff --git a/index.d.ts b/index.d.ts index 3739118..481aa90 100644 --- a/index.d.ts +++ b/index.d.ts @@ -33,23 +33,23 @@ type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDIN type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; /* INTERFACES */ -interface Ilocale { +interface Locales { TR: "TR"; EN: "EN"; } -interface IpaymentGroup { +interface PaymentGroups { PRODUCT: "PRODUCT"; LISTING: "LISTING"; SUBSCRIPTION: "SUBSCRIPTION"; } -interface IbasketItemType { +interface BasketItemTypes { PHYSICAL: "PHYSICAL"; VIRTUAL: "VIRTUAL"; } -interface IpaymentChannel { +interface PaymentChannels { MOBILE: "MOBILE"; WEB: "WEB"; MOBILE_WEB: "MOBILE_WEB"; @@ -60,13 +60,13 @@ interface IpaymentChannel { MOBILE_PHONE: "MOBILE_PHONE"; } -interface IsubMerchantType { +interface SubMerchantTypes { PERSONAL: "PERSONAL"; PRIVATE_COMPANY: "PRIVATE_COMPANY"; LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; } -interface Icurrency { +interface Currencies { TRY: "TRY"; EUR: "EUR"; USD: "USD"; @@ -77,36 +77,36 @@ interface Icurrency { CHF: "CHF"; } -interface IapmType { +interface ApmTypes { SOFORT: "SOFORT"; IDEAL: "IDEAL"; QIWI: "QIWI"; GIROPAY: "GIROPAY"; } -interface IrefundReason { +interface RefundReasons { DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; BUYER_REQUEST: "BUYER_REQUEST"; FRAUD: "FRAUD"; OTHER: "OTHER"; } -interface IplanPaymentType { +interface PlanPaymentTypes { RECURRING: "RECURRING"; } -interface IsubscriptionPricingPlanInterval { +interface SubscriptionPricingPlanIntervals { DAILY: "DAILY"; WEEKLY: "WEEKLY"; MONTHLY: "MONTHLY"; YEARLY: "YEARLY"; } -interface IsubscriptionUpgradePeriod { +interface SubscriptionUpgradePeriods { NOW: "NOW"; } -interface IsubscriptionStatus { +interface SubscriptionStatuses { EXPIRED: "EXPIRED"; UNPAID: "UNPAID"; CANCELED: "CANCELED"; @@ -115,7 +115,7 @@ interface IsubscriptionStatus { UPGRADED: "UPGRADED"; } -interface IsubscriptionInitialStatus { +interface SubscriptionInitialStatuses { ACTIVE: "ACTIVE"; PENDING: "PENDING"; } @@ -162,7 +162,7 @@ interface BuyerDetails { name: string; surname: string; gsmNumber?: string; - email: string; + email?: string; identityNumber: string; lastLoginDate?: string; registrationDate?: string; @@ -1295,14 +1295,14 @@ interface Disapproval { create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; } -interface BKMInitialize { +interface BkmInitialize { create( data: ThreeDSInitializePaymentRequestData, callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, ): void; } -interface Ibkm { +interface Bkm { retrieve( data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, @@ -1533,60 +1533,221 @@ interface SubscriptionExistingCustomer { ): void; } -declare module "iyzipay" { - class Iyzipay { - constructor(options?: ConfigOptions); - apiTest: ApiTest; - approval: Approval; - disapproval: Disapproval; - binNumber: BinNumber; - bkmInitialize: BKMInitialize; - bkm: Ibkm; - cancel: Cancel; - card: Card; - cardList: CardList; - checkoutFormInitialize: CheckOutFormInitialize; - checkoutForm: CheckOutForm; - universalCardStorageInitialize: UniversalCardStorageInitialize; - installmentInfo: InstallmentInfo; - payment: Payment; - paymentItem: PaymentItem; - peccoInitialize: PeccoInitialize; - peccoPayment: PeccoPayment; - refund: Refund; - refundToBalance: RefundToBalance; - payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; - bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; - subMerchant: SubMerchant; - threedsInitialize: ThreeDSInitialize; - threedsPayment: ThreedsPayment; - - settlementToBalance: SettlementToBalance; - /* SUBSCRIPTION */ - subscriptionProduct: SubscriptionProduct; - subscriptionPricingPlan: SubscriptionPricingPlan; - subscriptionCustomer: SubscriptionCustomer; - subscriptionCard: SubscriptionCard; - subscriptionPayment: SubscriptionPayment; - subscription: Subscription; - subscriptionCheckoutForm: SubscriptionCheckoutForm; - subscriptionExistingCustomer: SubscriptionExistingCustomer; - } - - namespace Iyzipay { - const LOCALE: Ilocale; - const PAYMENT_GROUP: IpaymentGroup; - const BASKET_ITEM_TYPE: IbasketItemType; - const PAYMENT_CHANNEL: IpaymentChannel; - const SUB_MERCHANT_TYPE: IsubMerchantType; - const CURRENCY: Icurrency; - const APM_TYPE: IapmType; - const REFUND_REASON: IrefundReason; - const PLAN_PAYMENT_TYPE: IplanPaymentType; - const SUBSCRIPTION_PRICING_PLAN_INTERVAL: IsubscriptionPricingPlanInterval; - const SUBSCRIPTION_UPGRADE_PERIOD: IsubscriptionUpgradePeriod; - const SUBSCRIPTION_STATUS: IsubscriptionStatus; - const SUBSCRIPTION_INITIAL_STATUS: IsubscriptionInitialStatus; - } - export default Iyzipay; -} \ No newline at end of file +declare class Iyzipay { + constructor(options?: ConfigOptions); + apiTest: ApiTest; + approval: Approval; + disapproval: Disapproval; + binNumber: BinNumber; + bkmInitialize: BkmInitialize; + bkm: Bkm; + cancel: Cancel; + card: Card; + cardList: CardList; + checkoutFormInitialize: CheckOutFormInitialize; + checkoutForm: CheckOutForm; + universalCardStorageInitialize: UniversalCardStorageInitialize; + installmentInfo: InstallmentInfo; + payment: Payment; + paymentItem: PaymentItem; + peccoInitialize: PeccoInitialize; + peccoPayment: PeccoPayment; + refund: Refund; + refundToBalance: RefundToBalance; + payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; + subMerchant: SubMerchant; + threedsInitialize: ThreeDSInitialize; + threedsPayment: ThreedsPayment; + + settlementToBalance: SettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: SubscriptionProduct; + subscriptionPricingPlan: SubscriptionPricingPlan; + subscriptionCustomer: SubscriptionCustomer; + subscriptionCard: SubscriptionCard; + subscriptionPayment: SubscriptionPayment; + subscription: Subscription; + subscriptionCheckoutForm: SubscriptionCheckoutForm; + subscriptionExistingCustomer: SubscriptionExistingCustomer; +} + +declare namespace Iyzipay { + export const LOCALE: Locales; + export const PAYMENT_GROUP: PaymentGroups; + export const BASKET_ITEM_TYPE: BasketItemTypes; + export const PAYMENT_CHANNEL: PaymentChannels; + export const SUB_MERCHANT_TYPE: SubMerchantTypes; + export const CURRENCY: Currencies; + export const APM_TYPE: ApmTypes; + export const REFUND_REASON: RefundReasons; + export const PLAN_PAYMENT_TYPE: PlanPaymentTypes; + export const SUBSCRIPTION_PRICING_PLAN_INTERVAL: SubscriptionPricingPlanIntervals; + export const SUBSCRIPTION_UPGRADE_PERIOD: SubscriptionUpgradePeriods; + export const SUBSCRIPTION_STATUS: SubscriptionStatuses; + export const SUBSCRIPTION_INITIAL_STATUS: SubscriptionInitialStatuses; + + /* Config Options Interface */ + export { ConfigOptions }; + + /* ENUM INTERFACES */ + export { + ApmTypes, + BasketItemTypes, + Currencies, + Locales, + PaymentChannels, + PaymentGroups, + PlanPaymentTypes, + RefundReasons, + SubMerchantTypes, + SubscriptionInitialStatuses, + SubscriptionPricingPlanIntervals, + SubscriptionStatuses, + SubscriptionUpgradePeriods, + }; + + /* REQUEST INTERFACES */ + export { + ApiTestRequestData, + ApiTestResult, + ApprovalPaymentRequestData, + ApprovalPaymentResult, + BinNumberRequestData, + BinNumberResult, + BouncedBackTransactionListRetrieveRequestData, + BouncedBackTransactionListRetrieveResult, + CancelPaymentRequestData, + CancelPaymentResult, + CheckoutFormInitialResult, + CheckoutFormRetrieveRequestData, + CheckoutFormRetrieveResult, + DeleteUserCardRequestData, + DeleteUserCardResult, + InstallmentDetail, + InstallmentInfoRequestData, + InstallmentInfoResult, + ListUserCardsRequestData, + ListUserCardsResult, + PaymentItemRequestData, + PaymentItemResult, + PaymentRequestData, + PaymentResult, + PaymentRetrieveRequestData, + PayoutCompletedTransactionListRetrieveRequestData, + PayoutCompletedTransactionListRetrieveResult, + PeccoInitializeRequestData, + PeccoInitializeResult, + PeccoPaymentRequestData, + PeccoPaymentResult, + RefundRequestData, + RefundResult, + RefundToBalanceRequestData, + RefundToBalanceResult, + SavePaymentCardRequestData, + SavePaymentCardResult, + SettlementToBalanceRequestData, + SettlementToBalanceResult, + SubMerchantCreateRequestData, + SubMerchantCreateResult, + SubMerchantRetrieveRequestData, + SubMerchantRetrieveResult, + SubMerchantUpdateRequestData, + SubMerchantUpdateResult, + SubscriptionActivateRequestData, + SubscriptionActivateResult, + SubscriptionCancelRequestData, + SubscriptionCancelResult, + SubscriptionCardUpdateRequestData, + SubscriptionCardUpdateResult, + SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + SubscriptionCardUpdateWithSubscriptionReferenceCodeResult, + SubscriptionCheckoutFormInitializeRequestData, + SubscriptionCheckoutFormInitializeResult, + SubscriptionCheckoutFormRetrieveRequestData, + SubscriptionCheckoutFormRetrieveResult, + SubscriptionCustomerCreateRequestData, + SubscriptionCustomerCreateResult, + SubscriptionCustomerItem, + SubscriptionCustomerRetrieveListRequestData, + SubscriptionCustomerRetrieveListResult, + SubscriptionCustomerRetrieveRequestData, + SubscriptionCustomerRetrieveResult, + SubscriptionCustomerUpdateRequestData, + SubscriptionCustomerUpdateResult, + SubscriptionExistingCustomerInitializeRequestData, + SubscriptionExistingCustomerInitializeResult, + SubscriptionInitializeRequestData, + SubscriptionItem, + SubscriptionPaymentRetryRequestData, + SubscriptionPaymentRetryResult, + SubscriptionPricingPlanCreateRequestData, + SubscriptionPricingPlanCreateResult, + SubscriptionPricingPlanItem, + SubscriptionPricingPlanRetrieveListRequestData, + SubscriptionPricingPlanRetrieveListResult, + SubscriptionPricingPlanRetrieveRequestData, + SubscriptionPricingPlanRetrieveResult, + SubscriptionPricingPlanUpdateRequestData, + SubscriptionPricingPlanUpdateResult, + SubscriptionProductCreateRequestData, + SubscriptionProductCreateResult, + SubscriptionProductItem, + SubscriptionProductRetrieveListRequestData, + SubscriptionProductRetrieveListResult, + SubscriptionProductRetrieveRequestData, + SubscriptionProductRetrieveResult, + SubscriptionProductUpdateRequestData, + SubscriptionProductUpdateResult, + SubscriptionRetrieveRequestData, + SubscriptionRetrieveResult, + SubscriptionSearchRequestData, + SubscriptionSearchResult, + SubscriptionUpgradeRequestData, + SubscriptionUpgradeResult, + ThreeDSInitializePaymentRequestData, + ThreeDSInitializePaymentResult, + ThreeDSPaymentCompleteRequestData, + UniversalCardStorageInitializeRequestData, + UniversalCardStorageInitializeResult, + }; + + /* NAMESPACE MODULES' INTERFACES */ + export { + ApiTest, + Approval, + BinNumber, + Bkm, + BkmInitialize, + BouncedBackTransactionListRetrieve, + Cancel, + Card, + CardList, + CheckOutForm, + CheckOutFormInitialize, + Disapproval, + InstallmentInfo, + Payment, + PaymentItem, + PayoutCompletedTransactionListRetrieve, + PeccoInitialize, + PeccoPayment, + Refund, + RefundToBalance, + SettlementToBalance, + SubMerchant, + Subscription, + SubscriptionCard, + SubscriptionCheckoutForm, + SubscriptionCustomer, + SubscriptionExistingCustomer, + SubscriptionPayment, + SubscriptionPricingPlan, + SubscriptionProduct, + ThreeDSInitialize, + ThreedsPayment, + UniversalCardStorageInitialize, + }; +} + +export = Iyzipay; \ No newline at end of file From d4b435a24fd7f913bee9bfd8b744828bd997c978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Tue, 6 Feb 2024 07:45:51 +0300 Subject: [PATCH 09/11] Wrapped all into module --- index.d.ts | 3506 ++++++++++++++++++++++++++-------------------------- 1 file changed, 1753 insertions(+), 1753 deletions(-) diff --git a/index.d.ts b/index.d.ts index 481aa90..3c3a124 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,1753 +1,1753 @@ -type Locale = "TR" | "EN"; - -type PaymentGroup = "PRODUCT" | "LISTING" | "SUBSCRIPTION"; - -type BasketItemType = "PHYSICAL" | "VIRTUAL"; - -type PaymentChannel = - | "MOBILE" - | "WEB" - | "MOBILE_WEB" - | "MOBILE_IOS" - | "MOBILE_ANDROID" - | "MOBILE_WINDOWS" - | "MOBILE_TABLET" - | "MOBILE_PHONE"; - -type SubMerchantType = "PERSONAL" | "PRIVATE_COMPANY" | "LIMITED_OR_JOINT_STOCK_COMPANY"; - -type Currency = "TRY" | "EUR" | "USD" | "IRR" | "GBP" | "NOK" | "RUB" | "CHF"; - -type ApmType = "SOFORT" | "IDEAL" | "QIWI" | "GIROPAY"; - -type RefundReason = "DOUBLE_PAYMENT" | "BUYER_REQUEST" | "FRAUD" | "OTHER"; - -type PlanPaymentType = "RECURRING"; - -type SubscriptionPricingPlanInterval = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY"; - -type SubscriptionUpgradePeriod = "NOW"; - -type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDING" | "UPGRADED"; - -type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; - -/* INTERFACES */ -interface Locales { - TR: "TR"; - EN: "EN"; -} - -interface PaymentGroups { - PRODUCT: "PRODUCT"; - LISTING: "LISTING"; - SUBSCRIPTION: "SUBSCRIPTION"; -} - -interface BasketItemTypes { - PHYSICAL: "PHYSICAL"; - VIRTUAL: "VIRTUAL"; -} - -interface PaymentChannels { - MOBILE: "MOBILE"; - WEB: "WEB"; - MOBILE_WEB: "MOBILE_WEB"; - MOBILE_IOS: "MOBILE_IOS"; - MOBILE_ANDROID: "MOBILE_ANDROID"; - MOBILE_WINDOWS: "MOBILE_WINDOWS"; - MOBILE_TABLET: "MOBILE_TABLET"; - MOBILE_PHONE: "MOBILE_PHONE"; -} - -interface SubMerchantTypes { - PERSONAL: "PERSONAL"; - PRIVATE_COMPANY: "PRIVATE_COMPANY"; - LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; -} - -interface Currencies { - TRY: "TRY"; - EUR: "EUR"; - USD: "USD"; - IRR: "IRR"; - GBP: "GBP"; - NOK: "NOK"; - RUB: "RUB"; - CHF: "CHF"; -} - -interface ApmTypes { - SOFORT: "SOFORT"; - IDEAL: "IDEAL"; - QIWI: "QIWI"; - GIROPAY: "GIROPAY"; -} - -interface RefundReasons { - DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; - BUYER_REQUEST: "BUYER_REQUEST"; - FRAUD: "FRAUD"; - OTHER: "OTHER"; -} - -interface PlanPaymentTypes { - RECURRING: "RECURRING"; -} - -interface SubscriptionPricingPlanIntervals { - DAILY: "DAILY"; - WEEKLY: "WEEKLY"; - MONTHLY: "MONTHLY"; - YEARLY: "YEARLY"; -} - -interface SubscriptionUpgradePeriods { - NOW: "NOW"; -} - -interface SubscriptionStatuses { - EXPIRED: "EXPIRED"; - UNPAID: "UNPAID"; - CANCELED: "CANCELED"; - ACTIVE: "ACTIVE"; - PENDING: "PENDING"; - UPGRADED: "UPGRADED"; -} - -interface SubscriptionInitialStatuses { - ACTIVE: "ACTIVE"; - PENDING: "PENDING"; -} - -/* GENERIC INTERFACES */ -interface ConfigOptions { - apiKey: string; - secretKey: string; - uri: string; -} - -interface PaymentCard { - cardHolderName: string; - cardNumber: string; - expireMonth: string; - expireYear: string; - cvc?: string; - registerCard?: number; - registerConsumerCard?: boolean; - cardAlias: string; -} - -interface SavedPaymentCard { - cardToken?: string; - cardUserKey: string; - ucsToken?: string; - consumerToken?: string; -} - -interface SavedPaymentCardDetail { - cardToken: string; - cardAlias: string; - binNumber: string; - lastFourDigits: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardBankCode: number; - cardBankName: string; -} - -interface BuyerDetails { - id: string; - name: string; - surname: string; - gsmNumber?: string; - email?: string; - identityNumber: string; - lastLoginDate?: string; - registrationDate?: string; - registrationAddress: string; - ip: string; - city: string; - country: string; - zipCode?: string; -} - -interface AddressDetails { - contactName: string; - city: string; - country: string; - address: string; - zipCode?: string; -} - -interface BasketItem { - id: string; - name: string; - category1: string; - category2?: string; - itemType: BasketItemType; - price: number | string; - subMerchantPrice?: number | string; - subMerchantKey?: string; -} - -/* Result Parts */ -interface ConvertedPayout { - paidPrice: number | string; - iyzicoCommissionRateAmount: number; - iyzicoCommissionFee: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - iyziConversionRate: number; - iyziConversionRateAmount: number; - currency: Currency; -} - -interface ItemTransaction { - itemId: string; - paymentTransactionId: string; - transactionStatus: number; - price: number | string; - paidPrice: number | string; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyzicoCommissionRateAmount: number; - iyzicoCommissionFee: number; - blockageRate: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - blockageResolvedDate: string; - subMerchantPrice: number; - subMerchantPayoutRate: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - convertedPayout: ConvertedPayout; -} - -/* REQUEST - RESULT INTERFACES */ -interface ApprovalPaymentRequestData { - locale?: Locale; - conversationId?: string; - paymentTransactionId: string; -} - -interface ApprovalPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; -} - -interface ApiTestRequestData { - locale?: Locale; - conversationId?: string; -} - -interface ApiTestResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; -} - -interface BinNumberRequestData { - locale?: Locale; - conversationId?: string; - binNumber: string; -} - -interface BinNumberResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - binNumber: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - bankName: string; - bankCode: number; -} - -interface CancelPaymentRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - ip: string; - reason?: RefundReason; - description?: string; -} - -interface CancelPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; -} - -interface SavePaymentCardRequestData { - locale?: Locale; - conversationId?: string; - email: string; - externalId?: string; - cardUserKey?: string; - card: PaymentCard; -} - -interface ListUserCardsRequestData { - locale?: Locale; - conversationId?: string; - cardUserKey: string; -} - -interface DeleteUserCardRequestData { - locale?: Locale; - conversationId?: string; - cardUserKey: string; - cardToken: string; -} - -interface ListUserCardsResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - cardDetails: SavedPaymentCardDetail[]; -} - -interface DeleteUserCardResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; -} - -interface SavePaymentCardResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - externalId?: string; - email: string; - cardUserKey: string; - cardToken: string; - cardAlias: string; - binNumber: string; - lastFourDigits: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardBankCode: number; - cardBankName: string; -} - -// interface ICheckoutFormInitializeRequestData extends ThreeDSInitializePaymentRequestData { } - -interface CheckoutFormInitialResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; -} - -interface CheckoutFormRetrieveRequestData { - locale?: Locale; - conversationId?: string; - token: string; -} - -interface CheckoutFormRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - paymentStatus: string; - fraudStatus: number; - price: number | string; - paidPrice: number | string; - currency: Currency; - installment: number; - basketId: string; - paymentId: string; - paymentItems: ItemTransaction[]; - paymentCard: SavedPaymentCardDetail; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; -} - -interface UniversalCardStorageInitializeRequestData { - locale?: Locale; - conversationId?: string; - gsmNumber: string; - email: string; -} - -interface UniversalCardStorageInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - callbackUrl: string; -} - -interface InstallmentInfoRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - binNumber: string; -} - -interface InstallmentDetail { - installmentNumber: number; - totalPrice: number | string; - installmentPrice: number | string; - installmentRate: number; -} - -interface InstallmentInfoResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - binNumber: string; - price: number | string; - installmentDetails: InstallmentDetail[]; -} - -interface PaymentRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - paidPrice: number | string; - currency?: Currency; - installments: number; - basketId?: string; - paymentChannel?: PaymentChannel; - paymentGroup?: PaymentGroup; - paymentCard: SavedPaymentCard | PaymentCard; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; -} - -interface PaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - price: number | string; - paidPrice: number | string; - installment: number; - paymentId: string; - fraudStatus: number; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyziCommissionRateAmount: number; - iyziCommissionFee: number; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardToken: string; - cardUserKey: string; - binNumber: string; - lastFourDigits: string; - basketId: string; - currency: Currency; - itemTransactions: ItemTransaction[]; - authCode: string; - phase: string; - mdStatus: string; - hostReference: string; -} - -interface PaymentRetrieveRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - paymentConversationId?: string; -} - -// interface PaymentRetrieveResult extends PaymentResult { } - -interface PaymentItemRequestData { - paymentTransactionId: string; - subMerchantKey?: string; - subMerchantPrice?: number | string; -} - -interface PaymentItemResult { - itemId: string; - paymentTransactionId: string; - transactionStatus: number; - price: number | string; - paidPrice: number | string; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyziCommissionRateAmount: number; - iyziCommissionFee: number; - blockageRate: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - blockageResolvedDate: string; - subMerchantPrice: number; - subMerchantPayoutRate: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - convertedPayout: ConvertedPayout; -} - -interface PeccoInitializeRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - paidPrice: number | string; - currency?: Currency; - installments: number; - basketId?: string; - paymentChannel?: PaymentChannel; - paymentGroup?: PaymentGroup; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; - callbackUrl: string; -} - -interface PeccoInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; -} - -interface PeccoPaymentRequestData { - locale?: Locale; - conversationId?: string; - token: string; -} - -interface PeccoPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - paymentStatus: string; - fraudStatus: number; - price: number | string; - paidPrice: number | string; - currency: Currency; - installment: number; - basketId: string; - paymentId: string; - paymentItems: ItemTransaction[]; - paymentCard: SavedPaymentCardDetail; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; -} - -interface RefundRequestData { - locale?: Locale; - conversationId?: string; - paymentTransactionId: string; - price: number | string; - ip: string; - currency: Currency; - reason?: RefundReason; - description?: string; -} - -interface RefundResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - price: number | string; - currency: Currency; - hostReference?: string; -} - -interface RefundToBalanceRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - callbackUrl: string; -} - -interface RefundToBalanceResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - price: number | string; - currency: Currency; - hostReference?: string; -} - -interface PayoutCompletedTransactionListRetrieveRequestData { - locale?: Locale; - conversationId?: string; - date: string; - page?: number; - count?: number; -} - -/* interface IPayoutCompletedTransaction extends PaymentResult { - -} */ - -interface PayoutCompletedTransactionListRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - payoutCompletedTransactionList: PaymentResult[]; -} - -interface SubMerchantCreateRequestData { - locale?: Locale; - conversationId?: string; - subMerchantExternalId: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; -} - -interface SubMerchantCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; -} - -interface SubMerchantUpdateRequestData { - locale?: Locale; - conversationId?: string; - subMerchantKey: string; - address?: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email?: string; - gsmNumber?: string; - name?: string; - iban?: string; - identityNumber?: string; - currency?: Currency; -} - -interface SubMerchantUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; -} - -interface SubMerchantRetrieveRequestData { - locale?: Locale; - conversationId?: string; - subMerchantExternalId: string; -} - -interface SubMerchantRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; -} - -interface BouncedBackTransactionListRetrieveRequestData { - locale?: Locale; - conversationId?: string; - date: string; - page?: number; - count?: number; -} - -/* interface IBouncedBackTransaction extends PaymentResult { - -} */ - -interface BouncedBackTransactionListRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - bouncedBackTransactionList: PaymentResult[]; -} - -interface ThreeDSInitializePaymentRequestData extends PaymentRequestData { - callbackUrl: string; -} - -interface ThreeDSInitializePaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - threeDSHtmlContent: string; -} - -interface ThreeDSPaymentCompleteRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - conversationData?: string; -} - -// interface IThreeDSPaymentCompleteResult extends PaymentResult { } - -interface SettlementToBalanceRequestData { - locale?: Locale; - conversationId?: string; - subMerchantKey: string; - callbackUrl?: string; - price: number | string; -} - -interface SettlementToBalanceResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - price: number | string; - currency: Currency; - hostReference?: string; -} - -interface SubscriptionProductCreateRequestData { - locale?: Locale; - conversationId?: string; - name: string; - description?: string; -} - -interface SubscriptionProductCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; -} - -interface SubscriptionProductUpdateRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - name?: string; - description?: string; -} - -interface SubscriptionProductUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; -} - -interface SubscriptionProductRetrieveRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; -} - -interface SubscriptionProductRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; -} - -interface SubscriptionProductRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - page?: number; - count?: number; -} - -interface SubscriptionProductItem { - productReferenceCode: string; - name: string; - description: string; -} - -interface SubscriptionProductRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionProductItem[]; -} - -interface SubscriptionPricingPlanCreateRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; -} - -interface SubscriptionPricingPlanCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; -} - -interface SubscriptionPricingPlanUpdateRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; - name?: string; - trialPeriodDays?: number; -} - -interface SubscriptionPricingPlanUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; -} - -interface SubscriptionPricingPlanRetrieveRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; -} - -interface SubscriptionPricingPlanRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; -} - -interface SubscriptionPricingPlanRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - page?: number; - count?: number; -} - -interface SubscriptionPricingPlanItem { - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; -} - -interface SubscriptionPricingPlanRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionPricingPlanItem[]; -} - -interface SubscriptionCustomerCreateRequestData { - locale?: Locale; - conversationId?: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerUpdateRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; - name?: string; - surname?: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerRetrieveRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; -} - -interface SubscriptionCustomerRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - page?: number; - count?: number; -} - -interface SubscriptionCustomerItem { - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; -} - -interface SubscriptionCustomerRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionCustomerItem[]; -} - -interface SubscriptionCardUpdateRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; - callbackUrl: string; -} - -interface SubscriptionCardUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - checkoutFormContent: string; - token: string; - tokenExpireTime: number; -} - -interface SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - callbackUrl: string; -} - -interface SubscriptionCardUpdateWithSubscriptionReferenceCodeResult { - status: string; - locale?: Locale; - systemTime: number; - checkoutFormContent: string; - token: string; - tokenExpireTime: number; -} - -interface SubscriptionPaymentRetryRequestData { - locale?: Locale; - conversationId?: string; - referenceCode: string; -} - -interface SubscriptionPaymentRetryResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; -} - -interface SubscriptionCancelRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; -} - -interface SubscriptionCancelResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; -} - -interface SubscriptionActivateRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; -} - -interface SubscriptionActivateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; -} - -interface SubscriptionUpgradeRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - newPricingPlanReferenceCode: string; - upgradePeriod?: SubscriptionUpgradePeriod; - useTrial?: boolean; -} - -interface SubscriptionUpgradeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; -} - -interface SubscriptionRetrieveRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; -} - -interface SubscriptionRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - subscriptionInitialStatus: SubscriptionInitialStatus; - subscriptionCreatedDate: string; - subscriptionStartDate: string; - subscriptionEndDate: string; - trialStartDate?: string; - trialEndDate?: string; - customer: SubscriptionCustomerItem; - pricingPlan: SubscriptionPricingPlanItem; -} - -interface SubscriptionSearchRequestData { - locale?: Locale; - conversationId?: string; - parentReferenceCode?: string; - subscriptionReferenceCode?: string; - customerReferenceCode?: string; - subscriptionStatus?: SubscriptionStatus; - subscriptionCreatedStartDate?: string; - subscriptionCreatedEndDate?: string; - page?: number; - count?: number; -} - -interface SubscriptionItem { - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - subscriptionInitialStatus: SubscriptionInitialStatus; - subscriptionCreatedDate: string; - subscriptionStartDate: string; - subscriptionEndDate: string; - trialStartDate?: string; - trialEndDate?: string; - customer: SubscriptionCustomerItem; - pricingPlan: SubscriptionPricingPlanItem; -} - -interface SubscriptionSearchResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionItem[]; -} - -interface SubscriptionInitializeRequestData { - locale?: Locale; - conversationId?: string; - callbackUrl: string; - pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SubscriptionInitialStatus; - customer: SubscriptionCustomerCreateRequestData; - paymentCard?: SavedPaymentCard | PaymentCard; -} - -interface SubscriptionCheckoutFormInitializeRequestData { - locale?: Locale; - conversationId?: string; - callbackUrl: string; - pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SubscriptionInitialStatus; - customer: SubscriptionCustomerCreateRequestData; -} - -interface SubscriptionCheckoutFormInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; -} - -interface SubscriptionCheckoutFormRetrieveRequestData { - locale?: Locale; - conversationId?: string; - token: string; -} - -interface SubscriptionCheckoutFormRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - trialDays?: number; - trialStartDate?: string; - trialEndDate?: string; - createdDate: string; - startDate: string; -} - -interface SubscriptionExistingCustomerInitializeRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; -} - -interface SubscriptionExistingCustomerInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; -} - -/* NAMESPACE INTERFACES */ -interface ApiTest { - retrieve(data: ApiTestRequestData, callback: (err: Error, result: ApiTestResult) => void): void; -} - -interface BinNumber { - retrieve(data: BinNumberRequestData, callback: (err: Error, result: BinNumberResult) => void): void; -} - -interface Approval { - create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; -} - -interface Disapproval { - create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; -} - -interface BkmInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, - ): void; -} - -interface Bkm { - retrieve( - data: ThreeDSPaymentCompleteRequestData, - callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, - ): void; -} - -interface Cancel { - create(data: CancelPaymentRequestData, callback: (err: Error, result: CancelPaymentResult) => void): void; -} - -interface Card { - create(data: SavePaymentCardRequestData, callback: (err: Error, result: SavePaymentCardResult) => void): void; - delete(data: DeleteUserCardRequestData, callback: (err: Error, result: DeleteUserCardResult) => void): void; -} - -interface CardList { - retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; -} - -interface CheckOutFormInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: CheckoutFormInitialResult) => void, - ): void; -} - -interface CheckOutForm { - retrieve( - data: CheckoutFormRetrieveRequestData, - callback: (err: Error, result: CheckoutFormRetrieveResult) => void, - ): void; -} - -interface UniversalCardStorageInitialize { - retrieve( - data: UniversalCardStorageInitializeRequestData, - callback: (err: Error, result: UniversalCardStorageInitializeResult) => void, - ): void; -} - -interface InstallmentInfo { - retrieve(data: InstallmentInfoRequestData, callback: (err: Error, result: InstallmentInfoResult) => void): void; -} - -interface Payment { - create(data: PaymentRequestData, callback: (err: Error, result: PaymentResult) => void): void; - retrieve(data: PaymentRetrieveRequestData, callback: (err: Error, result: PaymentResult) => void): void; -} - -interface PaymentItem { - update(data: PaymentItemRequestData, callback: (err: Error, result: PaymentItemResult) => void): void; -} - -interface PeccoInitialize { - create(data: PeccoInitializeRequestData, callback: (err: Error, result: PeccoInitializeResult) => void): void; -} - -interface PeccoPayment { - create(data: PeccoPaymentRequestData, callback: (err: Error, result: PeccoPaymentResult) => void): void; -} - -interface Refund { - create(data: RefundRequestData, callback: (err: Error, result: RefundResult) => void): void; -} - -interface RefundToBalance { - create(data: RefundToBalanceRequestData, callback: (err: Error, result: RefundToBalanceResult) => void): void; -} - -interface PayoutCompletedTransactionListRetrieve { - retrieve( - data: PayoutCompletedTransactionListRetrieveRequestData, - callback: (err: Error, result: PayoutCompletedTransactionListRetrieveResult) => void, - ): void; -} - -interface BouncedBackTransactionListRetrieve { - retrieve( - data: BouncedBackTransactionListRetrieveRequestData, - callback: (err: Error, result: BouncedBackTransactionListRetrieveResult) => void, - ): void; -} - -interface SubMerchant { - create(data: SubMerchantCreateRequestData, callback: (err: Error, result: SubMerchantCreateResult) => void): void; - update(data: SubMerchantUpdateRequestData, callback: (err: Error, result: SubMerchantUpdateResult) => void): void; - retrieve( - data: SubMerchantRetrieveRequestData, - callback: (err: Error, result: SubMerchantRetrieveResult) => void, - ): void; -} - -interface ThreeDSInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, - ): void; -} - -interface ThreedsPayment { - create(data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: PaymentResult) => void): void; -} - -interface SettlementToBalance { - create( - data: SettlementToBalanceRequestData, - callback: (err: Error, result: SettlementToBalanceResult) => void, - ): void; -} - -interface SubscriptionProduct { - create( - data: SubscriptionProductCreateRequestData, - callback: (err: Error, result: SubscriptionProductCreateResult) => void, - ): void; - update( - data: SubscriptionProductUpdateRequestData, - callback: (err: Error, result: SubscriptionProductUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionProductRetrieveRequestData, - callback: (err: Error, result: SubscriptionProductRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionProductRetrieveListRequestData, - callback: (err: Error, result: SubscriptionProductRetrieveListResult) => void, - ): void; -} - -interface SubscriptionPricingPlan { - create( - data: SubscriptionPricingPlanCreateRequestData, - callback: (err: Error, result: SubscriptionPricingPlanCreateResult) => void, - ): void; - update( - data: SubscriptionPricingPlanUpdateRequestData, - callback: (err: Error, result: SubscriptionPricingPlanUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionPricingPlanRetrieveRequestData, - callback: (err: Error, result: SubscriptionPricingPlanRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionPricingPlanRetrieveListRequestData, - callback: (err: Error, result: SubscriptionPricingPlanRetrieveListResult) => void, - ): void; -} - -interface SubscriptionCustomer { - create( - data: SubscriptionCustomerCreateRequestData, - callback: (err: Error, result: SubscriptionCustomerCreateResult) => void, - ): void; - update( - data: SubscriptionCustomerUpdateRequestData, - callback: (err: Error, result: SubscriptionCustomerUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionCustomerRetrieveRequestData, - callback: (err: Error, result: SubscriptionCustomerRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionCustomerRetrieveListRequestData, - callback: (err: Error, result: SubscriptionCustomerRetrieveListResult) => void, - ): void; -} - -interface SubscriptionCard { - update( - data: SubscriptionCardUpdateRequestData, - callback: (err: Error, result: SubscriptionCardUpdateResult) => void, - ): void; - updateWithSubscriptionReferenceCode( - data: SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, - callback: (err: Error, result: SubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void, - ): void; -} - -interface SubscriptionPayment { - retry( - data: SubscriptionPaymentRetryRequestData, - callback: (err: Error, result: SubscriptionPaymentRetryResult) => void, - ): void; -} - -interface Subscription { - cancel( - data: SubscriptionCancelRequestData, - callback: (err: Error, result: SubscriptionCancelResult) => void, - ): void; - activate( - data: SubscriptionActivateRequestData, - callback: (err: Error, result: SubscriptionActivateResult) => void, - ): void; - upgrade( - data: SubscriptionUpgradeRequestData, - callback: (err: Error, result: SubscriptionUpgradeResult) => void, - ): void; - retrieve( - data: SubscriptionRetrieveRequestData, - callback: (err: Error, result: SubscriptionRetrieveResult) => void, - ): void; - search( - data: SubscriptionSearchRequestData, - callback: (err: Error, result: SubscriptionSearchResult) => void, - ): void; - initialize( - data: SubscriptionInitializeRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, - ): void; -} - -interface SubscriptionCheckoutForm { - initialize( - data: SubscriptionCheckoutFormInitializeRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, - ): void; - retrieve( - data: SubscriptionCheckoutFormRetrieveRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormRetrieveResult) => void, - ): void; -} - -interface SubscriptionExistingCustomer { - initialize( - data: SubscriptionExistingCustomerInitializeRequestData, - callback: (err: Error, result: SubscriptionExistingCustomerInitializeResult) => void, - ): void; -} - -declare class Iyzipay { - constructor(options?: ConfigOptions); - apiTest: ApiTest; - approval: Approval; - disapproval: Disapproval; - binNumber: BinNumber; - bkmInitialize: BkmInitialize; - bkm: Bkm; - cancel: Cancel; - card: Card; - cardList: CardList; - checkoutFormInitialize: CheckOutFormInitialize; - checkoutForm: CheckOutForm; - universalCardStorageInitialize: UniversalCardStorageInitialize; - installmentInfo: InstallmentInfo; - payment: Payment; - paymentItem: PaymentItem; - peccoInitialize: PeccoInitialize; - peccoPayment: PeccoPayment; - refund: Refund; - refundToBalance: RefundToBalance; - payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; - bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; - subMerchant: SubMerchant; - threedsInitialize: ThreeDSInitialize; - threedsPayment: ThreedsPayment; - - settlementToBalance: SettlementToBalance; - /* SUBSCRIPTION */ - subscriptionProduct: SubscriptionProduct; - subscriptionPricingPlan: SubscriptionPricingPlan; - subscriptionCustomer: SubscriptionCustomer; - subscriptionCard: SubscriptionCard; - subscriptionPayment: SubscriptionPayment; - subscription: Subscription; - subscriptionCheckoutForm: SubscriptionCheckoutForm; - subscriptionExistingCustomer: SubscriptionExistingCustomer; -} - -declare namespace Iyzipay { - export const LOCALE: Locales; - export const PAYMENT_GROUP: PaymentGroups; - export const BASKET_ITEM_TYPE: BasketItemTypes; - export const PAYMENT_CHANNEL: PaymentChannels; - export const SUB_MERCHANT_TYPE: SubMerchantTypes; - export const CURRENCY: Currencies; - export const APM_TYPE: ApmTypes; - export const REFUND_REASON: RefundReasons; - export const PLAN_PAYMENT_TYPE: PlanPaymentTypes; - export const SUBSCRIPTION_PRICING_PLAN_INTERVAL: SubscriptionPricingPlanIntervals; - export const SUBSCRIPTION_UPGRADE_PERIOD: SubscriptionUpgradePeriods; - export const SUBSCRIPTION_STATUS: SubscriptionStatuses; - export const SUBSCRIPTION_INITIAL_STATUS: SubscriptionInitialStatuses; - - /* Config Options Interface */ - export { ConfigOptions }; - - /* ENUM INTERFACES */ - export { - ApmTypes, - BasketItemTypes, - Currencies, - Locales, - PaymentChannels, - PaymentGroups, - PlanPaymentTypes, - RefundReasons, - SubMerchantTypes, - SubscriptionInitialStatuses, - SubscriptionPricingPlanIntervals, - SubscriptionStatuses, - SubscriptionUpgradePeriods, - }; - - /* REQUEST INTERFACES */ - export { - ApiTestRequestData, - ApiTestResult, - ApprovalPaymentRequestData, - ApprovalPaymentResult, - BinNumberRequestData, - BinNumberResult, - BouncedBackTransactionListRetrieveRequestData, - BouncedBackTransactionListRetrieveResult, - CancelPaymentRequestData, - CancelPaymentResult, - CheckoutFormInitialResult, - CheckoutFormRetrieveRequestData, - CheckoutFormRetrieveResult, - DeleteUserCardRequestData, - DeleteUserCardResult, - InstallmentDetail, - InstallmentInfoRequestData, - InstallmentInfoResult, - ListUserCardsRequestData, - ListUserCardsResult, - PaymentItemRequestData, - PaymentItemResult, - PaymentRequestData, - PaymentResult, - PaymentRetrieveRequestData, - PayoutCompletedTransactionListRetrieveRequestData, - PayoutCompletedTransactionListRetrieveResult, - PeccoInitializeRequestData, - PeccoInitializeResult, - PeccoPaymentRequestData, - PeccoPaymentResult, - RefundRequestData, - RefundResult, - RefundToBalanceRequestData, - RefundToBalanceResult, - SavePaymentCardRequestData, - SavePaymentCardResult, - SettlementToBalanceRequestData, - SettlementToBalanceResult, - SubMerchantCreateRequestData, - SubMerchantCreateResult, - SubMerchantRetrieveRequestData, - SubMerchantRetrieveResult, - SubMerchantUpdateRequestData, - SubMerchantUpdateResult, - SubscriptionActivateRequestData, - SubscriptionActivateResult, - SubscriptionCancelRequestData, - SubscriptionCancelResult, - SubscriptionCardUpdateRequestData, - SubscriptionCardUpdateResult, - SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, - SubscriptionCardUpdateWithSubscriptionReferenceCodeResult, - SubscriptionCheckoutFormInitializeRequestData, - SubscriptionCheckoutFormInitializeResult, - SubscriptionCheckoutFormRetrieveRequestData, - SubscriptionCheckoutFormRetrieveResult, - SubscriptionCustomerCreateRequestData, - SubscriptionCustomerCreateResult, - SubscriptionCustomerItem, - SubscriptionCustomerRetrieveListRequestData, - SubscriptionCustomerRetrieveListResult, - SubscriptionCustomerRetrieveRequestData, - SubscriptionCustomerRetrieveResult, - SubscriptionCustomerUpdateRequestData, - SubscriptionCustomerUpdateResult, - SubscriptionExistingCustomerInitializeRequestData, - SubscriptionExistingCustomerInitializeResult, - SubscriptionInitializeRequestData, - SubscriptionItem, - SubscriptionPaymentRetryRequestData, - SubscriptionPaymentRetryResult, - SubscriptionPricingPlanCreateRequestData, - SubscriptionPricingPlanCreateResult, - SubscriptionPricingPlanItem, - SubscriptionPricingPlanRetrieveListRequestData, - SubscriptionPricingPlanRetrieveListResult, - SubscriptionPricingPlanRetrieveRequestData, - SubscriptionPricingPlanRetrieveResult, - SubscriptionPricingPlanUpdateRequestData, - SubscriptionPricingPlanUpdateResult, - SubscriptionProductCreateRequestData, - SubscriptionProductCreateResult, - SubscriptionProductItem, - SubscriptionProductRetrieveListRequestData, - SubscriptionProductRetrieveListResult, - SubscriptionProductRetrieveRequestData, - SubscriptionProductRetrieveResult, - SubscriptionProductUpdateRequestData, - SubscriptionProductUpdateResult, - SubscriptionRetrieveRequestData, - SubscriptionRetrieveResult, - SubscriptionSearchRequestData, - SubscriptionSearchResult, - SubscriptionUpgradeRequestData, - SubscriptionUpgradeResult, - ThreeDSInitializePaymentRequestData, - ThreeDSInitializePaymentResult, - ThreeDSPaymentCompleteRequestData, - UniversalCardStorageInitializeRequestData, - UniversalCardStorageInitializeResult, - }; - - /* NAMESPACE MODULES' INTERFACES */ - export { - ApiTest, - Approval, - BinNumber, - Bkm, - BkmInitialize, - BouncedBackTransactionListRetrieve, - Cancel, - Card, - CardList, - CheckOutForm, - CheckOutFormInitialize, - Disapproval, - InstallmentInfo, - Payment, - PaymentItem, - PayoutCompletedTransactionListRetrieve, - PeccoInitialize, - PeccoPayment, - Refund, - RefundToBalance, - SettlementToBalance, - SubMerchant, - Subscription, - SubscriptionCard, - SubscriptionCheckoutForm, - SubscriptionCustomer, - SubscriptionExistingCustomer, - SubscriptionPayment, - SubscriptionPricingPlan, - SubscriptionProduct, - ThreeDSInitialize, - ThreedsPayment, - UniversalCardStorageInitialize, - }; -} - -export = Iyzipay; \ No newline at end of file +declare module "iyzipay" { + type Locale = "TR" | "EN"; + + type PaymentGroup = "PRODUCT" | "LISTING" | "SUBSCRIPTION"; + + type BasketItemType = "PHYSICAL" | "VIRTUAL"; + + type PaymentChannel = + | "MOBILE" + | "WEB" + | "MOBILE_WEB" + | "MOBILE_IOS" + | "MOBILE_ANDROID" + | "MOBILE_WINDOWS" + | "MOBILE_TABLET" + | "MOBILE_PHONE"; + + type SubMerchantType = "PERSONAL" | "PRIVATE_COMPANY" | "LIMITED_OR_JOINT_STOCK_COMPANY"; + + type Currency = "TRY" | "EUR" | "USD" | "IRR" | "GBP" | "NOK" | "RUB" | "CHF"; + + type ApmType = "SOFORT" | "IDEAL" | "QIWI" | "GIROPAY"; + + type RefundReason = "DOUBLE_PAYMENT" | "BUYER_REQUEST" | "FRAUD" | "OTHER"; + + type PlanPaymentType = "RECURRING"; + + type SubscriptionPricingPlanInterval = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY"; + + type SubscriptionUpgradePeriod = "NOW"; + + type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDING" | "UPGRADED"; + + type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; + + /* INTERFACES */ + interface Locales { + TR: "TR"; + EN: "EN"; + } + + interface PaymentGroups { + PRODUCT: "PRODUCT"; + LISTING: "LISTING"; + SUBSCRIPTION: "SUBSCRIPTION"; + } + + interface BasketItemTypes { + PHYSICAL: "PHYSICAL"; + VIRTUAL: "VIRTUAL"; + } + + interface PaymentChannels { + MOBILE: "MOBILE"; + WEB: "WEB"; + MOBILE_WEB: "MOBILE_WEB"; + MOBILE_IOS: "MOBILE_IOS"; + MOBILE_ANDROID: "MOBILE_ANDROID"; + MOBILE_WINDOWS: "MOBILE_WINDOWS"; + MOBILE_TABLET: "MOBILE_TABLET"; + MOBILE_PHONE: "MOBILE_PHONE"; + } + + interface SubMerchantTypes { + PERSONAL: "PERSONAL"; + PRIVATE_COMPANY: "PRIVATE_COMPANY"; + LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; + } + + interface Currencies { + TRY: "TRY"; + EUR: "EUR"; + USD: "USD"; + IRR: "IRR"; + GBP: "GBP"; + NOK: "NOK"; + RUB: "RUB"; + CHF: "CHF"; + } + + interface ApmTypes { + SOFORT: "SOFORT"; + IDEAL: "IDEAL"; + QIWI: "QIWI"; + GIROPAY: "GIROPAY"; + } + + interface RefundReasons { + DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; + BUYER_REQUEST: "BUYER_REQUEST"; + FRAUD: "FRAUD"; + OTHER: "OTHER"; + } + + interface PlanPaymentTypes { + RECURRING: "RECURRING"; + } + + interface SubscriptionPricingPlanIntervals { + DAILY: "DAILY"; + WEEKLY: "WEEKLY"; + MONTHLY: "MONTHLY"; + YEARLY: "YEARLY"; + } + + interface SubscriptionUpgradePeriods { + NOW: "NOW"; + } + + interface SubscriptionStatuses { + EXPIRED: "EXPIRED"; + UNPAID: "UNPAID"; + CANCELED: "CANCELED"; + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; + UPGRADED: "UPGRADED"; + } + + interface SubscriptionInitialStatuses { + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; + } + + /* GENERIC INTERFACES */ + interface ConfigOptions { + apiKey: string; + secretKey: string; + uri: string; + } + + interface PaymentCard { + cardHolderName: string; + cardNumber: string; + expireMonth: string; + expireYear: string; + cvc?: string; + registerCard?: number; + registerConsumerCard?: boolean; + cardAlias: string; + } + + interface SavedPaymentCard { + cardToken?: string; + cardUserKey: string; + ucsToken?: string; + consumerToken?: string; + } + + interface SavedPaymentCardDetail { + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; + } + + interface BuyerDetails { + id: string; + name: string; + surname: string; + gsmNumber?: string; + email?: string; + identityNumber: string; + lastLoginDate?: string; + registrationDate?: string; + registrationAddress: string; + ip: string; + city: string; + country: string; + zipCode?: string; + } + + interface AddressDetails { + contactName: string; + city: string; + country: string; + address: string; + zipCode?: string; + } + + interface BasketItem { + id: string; + name: string; + category1: string; + category2?: string; + itemType: BasketItemType; + price: number | string; + subMerchantPrice?: number | string; + subMerchantKey?: string; + } + + /* Result Parts */ + interface ConvertedPayout { + paidPrice: number | string; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + iyziConversionRate: number; + iyziConversionRateAmount: number; + currency: Currency; + } + + interface ItemTransaction { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: ConvertedPayout; + } + + /* REQUEST - RESULT INTERFACES */ + interface ApprovalPaymentRequestData { + locale?: Locale; + conversationId?: string; + paymentTransactionId: string; + } + + interface ApprovalPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + } + + interface ApiTestRequestData { + locale?: Locale; + conversationId?: string; + } + + interface ApiTestResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + } + + interface BinNumberRequestData { + locale?: Locale; + conversationId?: string; + binNumber: string; + } + + interface BinNumberResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + binNumber: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + bankName: string; + bankCode: number; + } + + interface CancelPaymentRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + ip: string; + reason?: RefundReason; + description?: string; + } + + interface CancelPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + } + + interface SavePaymentCardRequestData { + locale?: Locale; + conversationId?: string; + email: string; + externalId?: string; + cardUserKey?: string; + card: PaymentCard; + } + + interface ListUserCardsRequestData { + locale?: Locale; + conversationId?: string; + cardUserKey: string; + } + + interface DeleteUserCardRequestData { + locale?: Locale; + conversationId?: string; + cardUserKey: string; + cardToken: string; + } + + interface ListUserCardsResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + cardDetails: SavedPaymentCardDetail[]; + } + + interface DeleteUserCardResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + } + + interface SavePaymentCardResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + externalId?: string; + email: string; + cardUserKey: string; + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; + } + + // interface ICheckoutFormInitializeRequestData extends ThreeDSInitializePaymentRequestData { } + + interface CheckoutFormInitialResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; + } + + interface CheckoutFormRetrieveRequestData { + locale?: Locale; + conversationId?: string; + token: string; + } + + interface CheckoutFormRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: Currency; + installment: number; + basketId: string; + paymentId: string; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; + } + + interface UniversalCardStorageInitializeRequestData { + locale?: Locale; + conversationId?: string; + gsmNumber: string; + email: string; + } + + interface UniversalCardStorageInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + callbackUrl: string; + } + + interface InstallmentInfoRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + binNumber: string; + } + + interface InstallmentDetail { + installmentNumber: number; + totalPrice: number | string; + installmentPrice: number | string; + installmentRate: number; + } + + interface InstallmentInfoResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + binNumber: string; + price: number | string; + installmentDetails: InstallmentDetail[]; + } + + interface PaymentRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: Currency; + installments: number; + basketId?: string; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + paymentCard: SavedPaymentCard | PaymentCard; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; + } + + interface PaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + price: number | string; + paidPrice: number | string; + installment: number; + paymentId: string; + fraudStatus: number; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardToken: string; + cardUserKey: string; + binNumber: string; + lastFourDigits: string; + basketId: string; + currency: Currency; + itemTransactions: ItemTransaction[]; + authCode: string; + phase: string; + mdStatus: string; + hostReference: string; + } + + interface PaymentRetrieveRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + paymentConversationId?: string; + } + + // interface PaymentRetrieveResult extends PaymentResult { } + + interface PaymentItemRequestData { + paymentTransactionId: string; + subMerchantKey?: string; + subMerchantPrice?: number | string; + } + + interface PaymentItemResult { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: ConvertedPayout; + } + + interface PeccoInitializeRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: Currency; + installments: number; + basketId?: string; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; + callbackUrl: string; + } + + interface PeccoInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; + } + + interface PeccoPaymentRequestData { + locale?: Locale; + conversationId?: string; + token: string; + } + + interface PeccoPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: Currency; + installment: number; + basketId: string; + paymentId: string; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; + } + + interface RefundRequestData { + locale?: Locale; + conversationId?: string; + paymentTransactionId: string; + price: number | string; + ip: string; + currency: Currency; + reason?: RefundReason; + description?: string; + } + + interface RefundResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: Currency; + hostReference?: string; + } + + interface RefundToBalanceRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + callbackUrl: string; + } + + interface RefundToBalanceResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: Currency; + hostReference?: string; + } + + interface PayoutCompletedTransactionListRetrieveRequestData { + locale?: Locale; + conversationId?: string; + date: string; + page?: number; + count?: number; + } + + /* interface IPayoutCompletedTransaction extends PaymentResult { + + } */ + + interface PayoutCompletedTransactionListRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + payoutCompletedTransactionList: PaymentResult[]; + } + + interface SubMerchantCreateRequestData { + locale?: Locale; + conversationId?: string; + subMerchantExternalId: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; + } + + interface SubMerchantCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; + } + + interface SubMerchantUpdateRequestData { + locale?: Locale; + conversationId?: string; + subMerchantKey: string; + address?: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email?: string; + gsmNumber?: string; + name?: string; + iban?: string; + identityNumber?: string; + currency?: Currency; + } + + interface SubMerchantUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; + } + + interface SubMerchantRetrieveRequestData { + locale?: Locale; + conversationId?: string; + subMerchantExternalId: string; + } + + interface SubMerchantRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; + } + + interface BouncedBackTransactionListRetrieveRequestData { + locale?: Locale; + conversationId?: string; + date: string; + page?: number; + count?: number; + } + + /* interface IBouncedBackTransaction extends PaymentResult { + + } */ + + interface BouncedBackTransactionListRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + bouncedBackTransactionList: PaymentResult[]; + } + + interface ThreeDSInitializePaymentRequestData extends PaymentRequestData { + callbackUrl: string; + } + + interface ThreeDSInitializePaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + threeDSHtmlContent: string; + } + + interface ThreeDSPaymentCompleteRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + conversationData?: string; + } + + // interface IThreeDSPaymentCompleteResult extends PaymentResult { } + + interface SettlementToBalanceRequestData { + locale?: Locale; + conversationId?: string; + subMerchantKey: string; + callbackUrl?: string; + price: number | string; + } + + interface SettlementToBalanceResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + price: number | string; + currency: Currency; + hostReference?: string; + } + + interface SubscriptionProductCreateRequestData { + locale?: Locale; + conversationId?: string; + name: string; + description?: string; + } + + interface SubscriptionProductCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; + } + + interface SubscriptionProductUpdateRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + name?: string; + description?: string; + } + + interface SubscriptionProductUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; + } + + interface SubscriptionProductRetrieveRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + } + + interface SubscriptionProductRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; + } + + interface SubscriptionProductRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + page?: number; + count?: number; + } + + interface SubscriptionProductItem { + productReferenceCode: string; + name: string; + description: string; + } + + interface SubscriptionProductRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionProductItem[]; + } + + interface SubscriptionPricingPlanCreateRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; + } + + interface SubscriptionPricingPlanCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; + } + + interface SubscriptionPricingPlanUpdateRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; + name?: string; + trialPeriodDays?: number; + } + + interface SubscriptionPricingPlanUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; + } + + interface SubscriptionPricingPlanRetrieveRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; + } + + interface SubscriptionPricingPlanRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; + } + + interface SubscriptionPricingPlanRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + page?: number; + count?: number; + } + + interface SubscriptionPricingPlanItem { + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; + } + + interface SubscriptionPricingPlanRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionPricingPlanItem[]; + } + + interface SubscriptionCustomerCreateRequestData { + locale?: Locale; + conversationId?: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerUpdateRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; + name?: string; + surname?: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerRetrieveRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; + } + + interface SubscriptionCustomerRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + page?: number; + count?: number; + } + + interface SubscriptionCustomerItem { + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; + } + + interface SubscriptionCustomerRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionCustomerItem[]; + } + + interface SubscriptionCardUpdateRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; + callbackUrl: string; + } + + interface SubscriptionCardUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; + } + + interface SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + callbackUrl: string; + } + + interface SubscriptionCardUpdateWithSubscriptionReferenceCodeResult { + status: string; + locale?: Locale; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; + } + + interface SubscriptionPaymentRetryRequestData { + locale?: Locale; + conversationId?: string; + referenceCode: string; + } + + interface SubscriptionPaymentRetryResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + } + + interface SubscriptionCancelRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + } + + interface SubscriptionCancelResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + } + + interface SubscriptionActivateRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + } + + interface SubscriptionActivateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + } + + interface SubscriptionUpgradeRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + newPricingPlanReferenceCode: string; + upgradePeriod?: SubscriptionUpgradePeriod; + useTrial?: boolean; + } + + interface SubscriptionUpgradeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + } + + interface SubscriptionRetrieveRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + } + + interface SubscriptionRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; + } + + interface SubscriptionSearchRequestData { + locale?: Locale; + conversationId?: string; + parentReferenceCode?: string; + subscriptionReferenceCode?: string; + customerReferenceCode?: string; + subscriptionStatus?: SubscriptionStatus; + subscriptionCreatedStartDate?: string; + subscriptionCreatedEndDate?: string; + page?: number; + count?: number; + } + + interface SubscriptionItem { + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; + } + + interface SubscriptionSearchResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionItem[]; + } + + interface SubscriptionInitializeRequestData { + locale?: Locale; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; + paymentCard?: SavedPaymentCard | PaymentCard; + } + + interface SubscriptionCheckoutFormInitializeRequestData { + locale?: Locale; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; + } + + interface SubscriptionCheckoutFormInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; + } + + interface SubscriptionCheckoutFormRetrieveRequestData { + locale?: Locale; + conversationId?: string; + token: string; + } + + interface SubscriptionCheckoutFormRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + trialDays?: number; + trialStartDate?: string; + trialEndDate?: string; + createdDate: string; + startDate: string; + } + + interface SubscriptionExistingCustomerInitializeRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + } + + interface SubscriptionExistingCustomerInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + } + + /* NAMESPACE INTERFACES */ + interface ApiTest { + retrieve(data: ApiTestRequestData, callback: (err: Error, result: ApiTestResult) => void): void; + } + + interface BinNumber { + retrieve(data: BinNumberRequestData, callback: (err: Error, result: BinNumberResult) => void): void; + } + + interface Approval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; + } + + interface Disapproval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; + } + + interface BkmInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; + } + + interface Bkm { + retrieve( + data: ThreeDSPaymentCompleteRequestData, + callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, + ): void; + } + + interface Cancel { + create(data: CancelPaymentRequestData, callback: (err: Error, result: CancelPaymentResult) => void): void; + } + + interface Card { + create(data: SavePaymentCardRequestData, callback: (err: Error, result: SavePaymentCardResult) => void): void; + delete(data: DeleteUserCardRequestData, callback: (err: Error, result: DeleteUserCardResult) => void): void; + } + + interface CardList { + retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; + } + + interface CheckOutFormInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: CheckoutFormInitialResult) => void, + ): void; + } + + interface CheckOutForm { + retrieve( + data: CheckoutFormRetrieveRequestData, + callback: (err: Error, result: CheckoutFormRetrieveResult) => void, + ): void; + } + + interface UniversalCardStorageInitialize { + retrieve( + data: UniversalCardStorageInitializeRequestData, + callback: (err: Error, result: UniversalCardStorageInitializeResult) => void, + ): void; + } + + interface InstallmentInfo { + retrieve(data: InstallmentInfoRequestData, callback: (err: Error, result: InstallmentInfoResult) => void): void; + } + + interface Payment { + create(data: PaymentRequestData, callback: (err: Error, result: PaymentResult) => void): void; + retrieve(data: PaymentRetrieveRequestData, callback: (err: Error, result: PaymentResult) => void): void; + } + + interface PaymentItem { + update(data: PaymentItemRequestData, callback: (err: Error, result: PaymentItemResult) => void): void; + } + + interface PeccoInitialize { + create(data: PeccoInitializeRequestData, callback: (err: Error, result: PeccoInitializeResult) => void): void; + } + + interface PeccoPayment { + create(data: PeccoPaymentRequestData, callback: (err: Error, result: PeccoPaymentResult) => void): void; + } + + interface Refund { + create(data: RefundRequestData, callback: (err: Error, result: RefundResult) => void): void; + } + + interface RefundToBalance { + create(data: RefundToBalanceRequestData, callback: (err: Error, result: RefundToBalanceResult) => void): void; + } + + interface PayoutCompletedTransactionListRetrieve { + retrieve( + data: PayoutCompletedTransactionListRetrieveRequestData, + callback: (err: Error, result: PayoutCompletedTransactionListRetrieveResult) => void, + ): void; + } + + interface BouncedBackTransactionListRetrieve { + retrieve( + data: BouncedBackTransactionListRetrieveRequestData, + callback: (err: Error, result: BouncedBackTransactionListRetrieveResult) => void, + ): void; + } + + interface SubMerchant { + create(data: SubMerchantCreateRequestData, callback: (err: Error, result: SubMerchantCreateResult) => void): void; + update(data: SubMerchantUpdateRequestData, callback: (err: Error, result: SubMerchantUpdateResult) => void): void; + retrieve( + data: SubMerchantRetrieveRequestData, + callback: (err: Error, result: SubMerchantRetrieveResult) => void, + ): void; + } + + interface ThreeDSInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; + } + + interface ThreedsPayment { + create(data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: PaymentResult) => void): void; + } + + interface SettlementToBalance { + create( + data: SettlementToBalanceRequestData, + callback: (err: Error, result: SettlementToBalanceResult) => void, + ): void; + } + + interface SubscriptionProduct { + create( + data: SubscriptionProductCreateRequestData, + callback: (err: Error, result: SubscriptionProductCreateResult) => void, + ): void; + update( + data: SubscriptionProductUpdateRequestData, + callback: (err: Error, result: SubscriptionProductUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionProductRetrieveRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionProductRetrieveListRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveListResult) => void, + ): void; + } + + interface SubscriptionPricingPlan { + create( + data: SubscriptionPricingPlanCreateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanCreateResult) => void, + ): void; + update( + data: SubscriptionPricingPlanUpdateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionPricingPlanRetrieveRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionPricingPlanRetrieveListRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveListResult) => void, + ): void; + } + + interface SubscriptionCustomer { + create( + data: SubscriptionCustomerCreateRequestData, + callback: (err: Error, result: SubscriptionCustomerCreateResult) => void, + ): void; + update( + data: SubscriptionCustomerUpdateRequestData, + callback: (err: Error, result: SubscriptionCustomerUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionCustomerRetrieveRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionCustomerRetrieveListRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveListResult) => void, + ): void; + } + + interface SubscriptionCard { + update( + data: SubscriptionCardUpdateRequestData, + callback: (err: Error, result: SubscriptionCardUpdateResult) => void, + ): void; + updateWithSubscriptionReferenceCode( + data: SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + callback: (err: Error, result: SubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void, + ): void; + } + + interface SubscriptionPayment { + retry( + data: SubscriptionPaymentRetryRequestData, + callback: (err: Error, result: SubscriptionPaymentRetryResult) => void, + ): void; + } + + interface Subscription { + cancel( + data: SubscriptionCancelRequestData, + callback: (err: Error, result: SubscriptionCancelResult) => void, + ): void; + activate( + data: SubscriptionActivateRequestData, + callback: (err: Error, result: SubscriptionActivateResult) => void, + ): void; + upgrade( + data: SubscriptionUpgradeRequestData, + callback: (err: Error, result: SubscriptionUpgradeResult) => void, + ): void; + retrieve( + data: SubscriptionRetrieveRequestData, + callback: (err: Error, result: SubscriptionRetrieveResult) => void, + ): void; + search( + data: SubscriptionSearchRequestData, + callback: (err: Error, result: SubscriptionSearchResult) => void, + ): void; + initialize( + data: SubscriptionInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; + } + + interface SubscriptionCheckoutForm { + initialize( + data: SubscriptionCheckoutFormInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; + retrieve( + data: SubscriptionCheckoutFormRetrieveRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormRetrieveResult) => void, + ): void; + } + + interface SubscriptionExistingCustomer { + initialize( + data: SubscriptionExistingCustomerInitializeRequestData, + callback: (err: Error, result: SubscriptionExistingCustomerInitializeResult) => void, + ): void; + } + + class Iyzipay { + constructor(options?: ConfigOptions); + apiTest: ApiTest; + approval: Approval; + disapproval: Disapproval; + binNumber: BinNumber; + bkmInitialize: BkmInitialize; + bkm: Bkm; + cancel: Cancel; + card: Card; + cardList: CardList; + checkoutFormInitialize: CheckOutFormInitialize; + checkoutForm: CheckOutForm; + universalCardStorageInitialize: UniversalCardStorageInitialize; + installmentInfo: InstallmentInfo; + payment: Payment; + paymentItem: PaymentItem; + peccoInitialize: PeccoInitialize; + peccoPayment: PeccoPayment; + refund: Refund; + refundToBalance: RefundToBalance; + payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; + subMerchant: SubMerchant; + threedsInitialize: ThreeDSInitialize; + threedsPayment: ThreedsPayment; + + settlementToBalance: SettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: SubscriptionProduct; + subscriptionPricingPlan: SubscriptionPricingPlan; + subscriptionCustomer: SubscriptionCustomer; + subscriptionCard: SubscriptionCard; + subscriptionPayment: SubscriptionPayment; + subscription: Subscription; + subscriptionCheckoutForm: SubscriptionCheckoutForm; + subscriptionExistingCustomer: SubscriptionExistingCustomer; + } + + namespace Iyzipay { + export const LOCALE: Locales; + export const PAYMENT_GROUP: PaymentGroups; + export const BASKET_ITEM_TYPE: BasketItemTypes; + export const PAYMENT_CHANNEL: PaymentChannels; + export const SUB_MERCHANT_TYPE: SubMerchantTypes; + export const CURRENCY: Currencies; + export const APM_TYPE: ApmTypes; + export const REFUND_REASON: RefundReasons; + export const PLAN_PAYMENT_TYPE: PlanPaymentTypes; + export const SUBSCRIPTION_PRICING_PLAN_INTERVAL: SubscriptionPricingPlanIntervals; + export const SUBSCRIPTION_UPGRADE_PERIOD: SubscriptionUpgradePeriods; + export const SUBSCRIPTION_STATUS: SubscriptionStatuses; + export const SUBSCRIPTION_INITIAL_STATUS: SubscriptionInitialStatuses; + + /* Config Options Interface */ + export { ConfigOptions }; + + /* ENUM INTERFACES */ + export { + ApmTypes, + BasketItemTypes, + Currencies, + Locales, + PaymentChannels, + PaymentGroups, + PlanPaymentTypes, + RefundReasons, + SubMerchantTypes, + SubscriptionInitialStatuses, + SubscriptionPricingPlanIntervals, + SubscriptionStatuses, + SubscriptionUpgradePeriods, + }; + + /* REQUEST INTERFACES */ + export { + ApiTestRequestData, + ApiTestResult, + ApprovalPaymentRequestData, + ApprovalPaymentResult, + BinNumberRequestData, + BinNumberResult, + BouncedBackTransactionListRetrieveRequestData, + BouncedBackTransactionListRetrieveResult, + CancelPaymentRequestData, + CancelPaymentResult, + CheckoutFormInitialResult, + CheckoutFormRetrieveRequestData, + CheckoutFormRetrieveResult, + DeleteUserCardRequestData, + DeleteUserCardResult, + InstallmentDetail, + InstallmentInfoRequestData, + InstallmentInfoResult, + ListUserCardsRequestData, + ListUserCardsResult, + PaymentItemRequestData, + PaymentItemResult, + PaymentRequestData, + PaymentResult, + PaymentRetrieveRequestData, + PayoutCompletedTransactionListRetrieveRequestData, + PayoutCompletedTransactionListRetrieveResult, + PeccoInitializeRequestData, + PeccoInitializeResult, + PeccoPaymentRequestData, + PeccoPaymentResult, + RefundRequestData, + RefundResult, + RefundToBalanceRequestData, + RefundToBalanceResult, + SavePaymentCardRequestData, + SavePaymentCardResult, + SettlementToBalanceRequestData, + SettlementToBalanceResult, + SubMerchantCreateRequestData, + SubMerchantCreateResult, + SubMerchantRetrieveRequestData, + SubMerchantRetrieveResult, + SubMerchantUpdateRequestData, + SubMerchantUpdateResult, + SubscriptionActivateRequestData, + SubscriptionActivateResult, + SubscriptionCancelRequestData, + SubscriptionCancelResult, + SubscriptionCardUpdateRequestData, + SubscriptionCardUpdateResult, + SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + SubscriptionCardUpdateWithSubscriptionReferenceCodeResult, + SubscriptionCheckoutFormInitializeRequestData, + SubscriptionCheckoutFormInitializeResult, + SubscriptionCheckoutFormRetrieveRequestData, + SubscriptionCheckoutFormRetrieveResult, + SubscriptionCustomerCreateRequestData, + SubscriptionCustomerCreateResult, + SubscriptionCustomerItem, + SubscriptionCustomerRetrieveListRequestData, + SubscriptionCustomerRetrieveListResult, + SubscriptionCustomerRetrieveRequestData, + SubscriptionCustomerRetrieveResult, + SubscriptionCustomerUpdateRequestData, + SubscriptionCustomerUpdateResult, + SubscriptionExistingCustomerInitializeRequestData, + SubscriptionExistingCustomerInitializeResult, + SubscriptionInitializeRequestData, + SubscriptionItem, + SubscriptionPaymentRetryRequestData, + SubscriptionPaymentRetryResult, + SubscriptionPricingPlanCreateRequestData, + SubscriptionPricingPlanCreateResult, + SubscriptionPricingPlanItem, + SubscriptionPricingPlanRetrieveListRequestData, + SubscriptionPricingPlanRetrieveListResult, + SubscriptionPricingPlanRetrieveRequestData, + SubscriptionPricingPlanRetrieveResult, + SubscriptionPricingPlanUpdateRequestData, + SubscriptionPricingPlanUpdateResult, + SubscriptionProductCreateRequestData, + SubscriptionProductCreateResult, + SubscriptionProductItem, + SubscriptionProductRetrieveListRequestData, + SubscriptionProductRetrieveListResult, + SubscriptionProductRetrieveRequestData, + SubscriptionProductRetrieveResult, + SubscriptionProductUpdateRequestData, + SubscriptionProductUpdateResult, + SubscriptionRetrieveRequestData, + SubscriptionRetrieveResult, + SubscriptionSearchRequestData, + SubscriptionSearchResult, + SubscriptionUpgradeRequestData, + SubscriptionUpgradeResult, + ThreeDSInitializePaymentRequestData, + ThreeDSInitializePaymentResult, + ThreeDSPaymentCompleteRequestData, + UniversalCardStorageInitializeRequestData, + UniversalCardStorageInitializeResult, + }; + + /* NAMESPACE MODULES' INTERFACES */ + export { + ApiTest, + Approval, + BinNumber, + Bkm, + BkmInitialize, + BouncedBackTransactionListRetrieve, + Cancel, + Card, + CardList, + CheckOutForm, + CheckOutFormInitialize, + Disapproval, + InstallmentInfo, + Payment, + PaymentItem, + PayoutCompletedTransactionListRetrieve, + PeccoInitialize, + PeccoPayment, + Refund, + RefundToBalance, + SettlementToBalance, + SubMerchant, + Subscription, + SubscriptionCard, + SubscriptionCheckoutForm, + SubscriptionCustomer, + SubscriptionExistingCustomer, + SubscriptionPayment, + SubscriptionPricingPlan, + SubscriptionProduct, + ThreeDSInitialize, + ThreedsPayment, + UniversalCardStorageInitialize, + }; + } +} \ No newline at end of file From c994eb2777ab0ae5214f7b3593e514f18f290858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Tue, 6 Feb 2024 07:58:50 +0300 Subject: [PATCH 10/11] Reversed to default exportation Reversed to default exportation --- index.d.ts | 3506 ++++++++++++++++++++++++++-------------------------- 1 file changed, 1753 insertions(+), 1753 deletions(-) diff --git a/index.d.ts b/index.d.ts index 3c3a124..481aa90 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,1753 +1,1753 @@ -declare module "iyzipay" { - type Locale = "TR" | "EN"; - - type PaymentGroup = "PRODUCT" | "LISTING" | "SUBSCRIPTION"; - - type BasketItemType = "PHYSICAL" | "VIRTUAL"; - - type PaymentChannel = - | "MOBILE" - | "WEB" - | "MOBILE_WEB" - | "MOBILE_IOS" - | "MOBILE_ANDROID" - | "MOBILE_WINDOWS" - | "MOBILE_TABLET" - | "MOBILE_PHONE"; - - type SubMerchantType = "PERSONAL" | "PRIVATE_COMPANY" | "LIMITED_OR_JOINT_STOCK_COMPANY"; - - type Currency = "TRY" | "EUR" | "USD" | "IRR" | "GBP" | "NOK" | "RUB" | "CHF"; - - type ApmType = "SOFORT" | "IDEAL" | "QIWI" | "GIROPAY"; - - type RefundReason = "DOUBLE_PAYMENT" | "BUYER_REQUEST" | "FRAUD" | "OTHER"; - - type PlanPaymentType = "RECURRING"; - - type SubscriptionPricingPlanInterval = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY"; - - type SubscriptionUpgradePeriod = "NOW"; - - type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDING" | "UPGRADED"; - - type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; - - /* INTERFACES */ - interface Locales { - TR: "TR"; - EN: "EN"; - } - - interface PaymentGroups { - PRODUCT: "PRODUCT"; - LISTING: "LISTING"; - SUBSCRIPTION: "SUBSCRIPTION"; - } - - interface BasketItemTypes { - PHYSICAL: "PHYSICAL"; - VIRTUAL: "VIRTUAL"; - } - - interface PaymentChannels { - MOBILE: "MOBILE"; - WEB: "WEB"; - MOBILE_WEB: "MOBILE_WEB"; - MOBILE_IOS: "MOBILE_IOS"; - MOBILE_ANDROID: "MOBILE_ANDROID"; - MOBILE_WINDOWS: "MOBILE_WINDOWS"; - MOBILE_TABLET: "MOBILE_TABLET"; - MOBILE_PHONE: "MOBILE_PHONE"; - } - - interface SubMerchantTypes { - PERSONAL: "PERSONAL"; - PRIVATE_COMPANY: "PRIVATE_COMPANY"; - LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; - } - - interface Currencies { - TRY: "TRY"; - EUR: "EUR"; - USD: "USD"; - IRR: "IRR"; - GBP: "GBP"; - NOK: "NOK"; - RUB: "RUB"; - CHF: "CHF"; - } - - interface ApmTypes { - SOFORT: "SOFORT"; - IDEAL: "IDEAL"; - QIWI: "QIWI"; - GIROPAY: "GIROPAY"; - } - - interface RefundReasons { - DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; - BUYER_REQUEST: "BUYER_REQUEST"; - FRAUD: "FRAUD"; - OTHER: "OTHER"; - } - - interface PlanPaymentTypes { - RECURRING: "RECURRING"; - } - - interface SubscriptionPricingPlanIntervals { - DAILY: "DAILY"; - WEEKLY: "WEEKLY"; - MONTHLY: "MONTHLY"; - YEARLY: "YEARLY"; - } - - interface SubscriptionUpgradePeriods { - NOW: "NOW"; - } - - interface SubscriptionStatuses { - EXPIRED: "EXPIRED"; - UNPAID: "UNPAID"; - CANCELED: "CANCELED"; - ACTIVE: "ACTIVE"; - PENDING: "PENDING"; - UPGRADED: "UPGRADED"; - } - - interface SubscriptionInitialStatuses { - ACTIVE: "ACTIVE"; - PENDING: "PENDING"; - } - - /* GENERIC INTERFACES */ - interface ConfigOptions { - apiKey: string; - secretKey: string; - uri: string; - } - - interface PaymentCard { - cardHolderName: string; - cardNumber: string; - expireMonth: string; - expireYear: string; - cvc?: string; - registerCard?: number; - registerConsumerCard?: boolean; - cardAlias: string; - } - - interface SavedPaymentCard { - cardToken?: string; - cardUserKey: string; - ucsToken?: string; - consumerToken?: string; - } - - interface SavedPaymentCardDetail { - cardToken: string; - cardAlias: string; - binNumber: string; - lastFourDigits: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardBankCode: number; - cardBankName: string; - } - - interface BuyerDetails { - id: string; - name: string; - surname: string; - gsmNumber?: string; - email?: string; - identityNumber: string; - lastLoginDate?: string; - registrationDate?: string; - registrationAddress: string; - ip: string; - city: string; - country: string; - zipCode?: string; - } - - interface AddressDetails { - contactName: string; - city: string; - country: string; - address: string; - zipCode?: string; - } - - interface BasketItem { - id: string; - name: string; - category1: string; - category2?: string; - itemType: BasketItemType; - price: number | string; - subMerchantPrice?: number | string; - subMerchantKey?: string; - } - - /* Result Parts */ - interface ConvertedPayout { - paidPrice: number | string; - iyzicoCommissionRateAmount: number; - iyzicoCommissionFee: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - iyziConversionRate: number; - iyziConversionRateAmount: number; - currency: Currency; - } - - interface ItemTransaction { - itemId: string; - paymentTransactionId: string; - transactionStatus: number; - price: number | string; - paidPrice: number | string; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyzicoCommissionRateAmount: number; - iyzicoCommissionFee: number; - blockageRate: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - blockageResolvedDate: string; - subMerchantPrice: number; - subMerchantPayoutRate: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - convertedPayout: ConvertedPayout; - } - - /* REQUEST - RESULT INTERFACES */ - interface ApprovalPaymentRequestData { - locale?: Locale; - conversationId?: string; - paymentTransactionId: string; - } - - interface ApprovalPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - } - - interface ApiTestRequestData { - locale?: Locale; - conversationId?: string; - } - - interface ApiTestResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - } - - interface BinNumberRequestData { - locale?: Locale; - conversationId?: string; - binNumber: string; - } - - interface BinNumberResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - binNumber: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - bankName: string; - bankCode: number; - } - - interface CancelPaymentRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - ip: string; - reason?: RefundReason; - description?: string; - } - - interface CancelPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - } - - interface SavePaymentCardRequestData { - locale?: Locale; - conversationId?: string; - email: string; - externalId?: string; - cardUserKey?: string; - card: PaymentCard; - } - - interface ListUserCardsRequestData { - locale?: Locale; - conversationId?: string; - cardUserKey: string; - } - - interface DeleteUserCardRequestData { - locale?: Locale; - conversationId?: string; - cardUserKey: string; - cardToken: string; - } - - interface ListUserCardsResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - cardDetails: SavedPaymentCardDetail[]; - } - - interface DeleteUserCardResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - } - - interface SavePaymentCardResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - externalId?: string; - email: string; - cardUserKey: string; - cardToken: string; - cardAlias: string; - binNumber: string; - lastFourDigits: string; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardBankCode: number; - cardBankName: string; - } - - // interface ICheckoutFormInitializeRequestData extends ThreeDSInitializePaymentRequestData { } - - interface CheckoutFormInitialResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; - } - - interface CheckoutFormRetrieveRequestData { - locale?: Locale; - conversationId?: string; - token: string; - } - - interface CheckoutFormRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - paymentStatus: string; - fraudStatus: number; - price: number | string; - paidPrice: number | string; - currency: Currency; - installment: number; - basketId: string; - paymentId: string; - paymentItems: ItemTransaction[]; - paymentCard: SavedPaymentCardDetail; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; - } - - interface UniversalCardStorageInitializeRequestData { - locale?: Locale; - conversationId?: string; - gsmNumber: string; - email: string; - } - - interface UniversalCardStorageInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - callbackUrl: string; - } - - interface InstallmentInfoRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - binNumber: string; - } - - interface InstallmentDetail { - installmentNumber: number; - totalPrice: number | string; - installmentPrice: number | string; - installmentRate: number; - } - - interface InstallmentInfoResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - binNumber: string; - price: number | string; - installmentDetails: InstallmentDetail[]; - } - - interface PaymentRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - paidPrice: number | string; - currency?: Currency; - installments: number; - basketId?: string; - paymentChannel?: PaymentChannel; - paymentGroup?: PaymentGroup; - paymentCard: SavedPaymentCard | PaymentCard; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; - } - - interface PaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - price: number | string; - paidPrice: number | string; - installment: number; - paymentId: string; - fraudStatus: number; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyziCommissionRateAmount: number; - iyziCommissionFee: number; - cardType: string; - cardAssociation: string; - cardFamily: string; - cardToken: string; - cardUserKey: string; - binNumber: string; - lastFourDigits: string; - basketId: string; - currency: Currency; - itemTransactions: ItemTransaction[]; - authCode: string; - phase: string; - mdStatus: string; - hostReference: string; - } - - interface PaymentRetrieveRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - paymentConversationId?: string; - } - - // interface PaymentRetrieveResult extends PaymentResult { } - - interface PaymentItemRequestData { - paymentTransactionId: string; - subMerchantKey?: string; - subMerchantPrice?: number | string; - } - - interface PaymentItemResult { - itemId: string; - paymentTransactionId: string; - transactionStatus: number; - price: number | string; - paidPrice: number | string; - merchantCommissionRate: number; - merchantCommissionRateAmount: number; - iyziCommissionRateAmount: number; - iyziCommissionFee: number; - blockageRate: number; - blockageRateAmountMerchant: number; - blockageRateAmountSubMerchant: number; - blockageResolvedDate: string; - subMerchantPrice: number; - subMerchantPayoutRate: number; - subMerchantPayoutAmount: number; - merchantPayoutAmount: number; - convertedPayout: ConvertedPayout; - } - - interface PeccoInitializeRequestData { - locale?: Locale; - conversationId?: string; - price: number | string; - paidPrice: number | string; - currency?: Currency; - installments: number; - basketId?: string; - paymentChannel?: PaymentChannel; - paymentGroup?: PaymentGroup; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; - callbackUrl: string; - } - - interface PeccoInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; - } - - interface PeccoPaymentRequestData { - locale?: Locale; - conversationId?: string; - token: string; - } - - interface PeccoPaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - paymentStatus: string; - fraudStatus: number; - price: number | string; - paidPrice: number | string; - currency: Currency; - installment: number; - basketId: string; - paymentId: string; - paymentItems: ItemTransaction[]; - paymentCard: SavedPaymentCardDetail; - buyer: BuyerDetails; - shippingAddress: AddressDetails; - billingAddress: AddressDetails; - basketItems: BasketItem[]; - } - - interface RefundRequestData { - locale?: Locale; - conversationId?: string; - paymentTransactionId: string; - price: number | string; - ip: string; - currency: Currency; - reason?: RefundReason; - description?: string; - } - - interface RefundResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - price: number | string; - currency: Currency; - hostReference?: string; - } - - interface RefundToBalanceRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - callbackUrl: string; - } - - interface RefundToBalanceResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - paymentId: string; - price: number | string; - currency: Currency; - hostReference?: string; - } - - interface PayoutCompletedTransactionListRetrieveRequestData { - locale?: Locale; - conversationId?: string; - date: string; - page?: number; - count?: number; - } - - /* interface IPayoutCompletedTransaction extends PaymentResult { - - } */ - - interface PayoutCompletedTransactionListRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - payoutCompletedTransactionList: PaymentResult[]; - } - - interface SubMerchantCreateRequestData { - locale?: Locale; - conversationId?: string; - subMerchantExternalId: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; - } - - interface SubMerchantCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; - } - - interface SubMerchantUpdateRequestData { - locale?: Locale; - conversationId?: string; - subMerchantKey: string; - address?: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email?: string; - gsmNumber?: string; - name?: string; - iban?: string; - identityNumber?: string; - currency?: Currency; - } - - interface SubMerchantUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; - } - - interface SubMerchantRetrieveRequestData { - locale?: Locale; - conversationId?: string; - subMerchantExternalId: string; - } - - interface SubMerchantRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - subMerchantType: SubMerchantType; - address: string; - taxOffice?: string; - legalCompanyTitle?: string; - contactName?: string; - contactSurname?: string; - email: string; - gsmNumber: string; - name: string; - iban: string; - identityNumber: string; - currency: Currency; - } - - interface BouncedBackTransactionListRetrieveRequestData { - locale?: Locale; - conversationId?: string; - date: string; - page?: number; - count?: number; - } - - /* interface IBouncedBackTransaction extends PaymentResult { - - } */ - - interface BouncedBackTransactionListRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - bouncedBackTransactionList: PaymentResult[]; - } - - interface ThreeDSInitializePaymentRequestData extends PaymentRequestData { - callbackUrl: string; - } - - interface ThreeDSInitializePaymentResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - threeDSHtmlContent: string; - } - - interface ThreeDSPaymentCompleteRequestData { - locale?: Locale; - conversationId?: string; - paymentId: string; - conversationData?: string; - } - - // interface IThreeDSPaymentCompleteResult extends PaymentResult { } - - interface SettlementToBalanceRequestData { - locale?: Locale; - conversationId?: string; - subMerchantKey: string; - callbackUrl?: string; - price: number | string; - } - - interface SettlementToBalanceResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - subMerchantKey: string; - price: number | string; - currency: Currency; - hostReference?: string; - } - - interface SubscriptionProductCreateRequestData { - locale?: Locale; - conversationId?: string; - name: string; - description?: string; - } - - interface SubscriptionProductCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; - } - - interface SubscriptionProductUpdateRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - name?: string; - description?: string; - } - - interface SubscriptionProductUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; - } - - interface SubscriptionProductRetrieveRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - } - - interface SubscriptionProductRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - name: string; - description: string; - } - - interface SubscriptionProductRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - page?: number; - count?: number; - } - - interface SubscriptionProductItem { - productReferenceCode: string; - name: string; - description: string; - } - - interface SubscriptionProductRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionProductItem[]; - } - - interface SubscriptionPricingPlanCreateRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; - } - - interface SubscriptionPricingPlanCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; - } - - interface SubscriptionPricingPlanUpdateRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; - name?: string; - trialPeriodDays?: number; - } - - interface SubscriptionPricingPlanUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; - } - - interface SubscriptionPricingPlanRetrieveRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; - } - - interface SubscriptionPricingPlanRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - productReferenceCode: string; - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; - } - - interface SubscriptionPricingPlanRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - productReferenceCode: string; - page?: number; - count?: number; - } - - interface SubscriptionPricingPlanItem { - pricingPlanReferenceCode: string; - name: string; - price: number | string; - currencyCode: Currency; - paymentInterval: SubscriptionPricingPlanInterval; - paymentIntervalCount: number; - trialPeriodDays?: number; - planPaymentType?: PlanPaymentType; - } - - interface SubscriptionPricingPlanRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionPricingPlanItem[]; - } - - interface SubscriptionCustomerCreateRequestData { - locale?: Locale; - conversationId?: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerCreateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerUpdateRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; - name?: string; - surname?: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerRetrieveRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; - } - - interface SubscriptionCustomerRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerRetrieveListRequestData { - locale?: Locale; - conversationId?: string; - page?: number; - count?: number; - } - - interface SubscriptionCustomerItem { - customerReferenceCode: string; - name: string; - surname: string; - identityNumber: string; - email?: string; - gsmNumber?: string; - billingAddress?: AddressDetails; - shippingAddress?: AddressDetails; - } - - interface SubscriptionCustomerRetrieveListResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionCustomerItem[]; - } - - interface SubscriptionCardUpdateRequestData { - locale?: Locale; - conversationId?: string; - customerReferenceCode: string; - callbackUrl: string; - } - - interface SubscriptionCardUpdateResult { - status: string; - locale?: Locale; - systemTime: number; - checkoutFormContent: string; - token: string; - tokenExpireTime: number; - } - - interface SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - callbackUrl: string; - } - - interface SubscriptionCardUpdateWithSubscriptionReferenceCodeResult { - status: string; - locale?: Locale; - systemTime: number; - checkoutFormContent: string; - token: string; - tokenExpireTime: number; - } - - interface SubscriptionPaymentRetryRequestData { - locale?: Locale; - conversationId?: string; - referenceCode: string; - } - - interface SubscriptionPaymentRetryResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - } - - interface SubscriptionCancelRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - } - - interface SubscriptionCancelResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - } - - interface SubscriptionActivateRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - } - - interface SubscriptionActivateResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - } - - interface SubscriptionUpgradeRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - newPricingPlanReferenceCode: string; - upgradePeriod?: SubscriptionUpgradePeriod; - useTrial?: boolean; - } - - interface SubscriptionUpgradeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - } - - interface SubscriptionRetrieveRequestData { - locale?: Locale; - conversationId?: string; - subscriptionReferenceCode: string; - } - - interface SubscriptionRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - subscriptionInitialStatus: SubscriptionInitialStatus; - subscriptionCreatedDate: string; - subscriptionStartDate: string; - subscriptionEndDate: string; - trialStartDate?: string; - trialEndDate?: string; - customer: SubscriptionCustomerItem; - pricingPlan: SubscriptionPricingPlanItem; - } - - interface SubscriptionSearchRequestData { - locale?: Locale; - conversationId?: string; - parentReferenceCode?: string; - subscriptionReferenceCode?: string; - customerReferenceCode?: string; - subscriptionStatus?: SubscriptionStatus; - subscriptionCreatedStartDate?: string; - subscriptionCreatedEndDate?: string; - page?: number; - count?: number; - } - - interface SubscriptionItem { - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - subscriptionInitialStatus: SubscriptionInitialStatus; - subscriptionCreatedDate: string; - subscriptionStartDate: string; - subscriptionEndDate: string; - trialStartDate?: string; - trialEndDate?: string; - customer: SubscriptionCustomerItem; - pricingPlan: SubscriptionPricingPlanItem; - } - - interface SubscriptionSearchResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - items: SubscriptionItem[]; - } - - interface SubscriptionInitializeRequestData { - locale?: Locale; - conversationId?: string; - callbackUrl: string; - pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SubscriptionInitialStatus; - customer: SubscriptionCustomerCreateRequestData; - paymentCard?: SavedPaymentCard | PaymentCard; - } - - interface SubscriptionCheckoutFormInitializeRequestData { - locale?: Locale; - conversationId?: string; - callbackUrl: string; - pricingPlanReferenceCode: string; - subscriptionInitialStatus?: SubscriptionInitialStatus; - customer: SubscriptionCustomerCreateRequestData; - } - - interface SubscriptionCheckoutFormInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - checkoutFormContent: string; - } - - interface SubscriptionCheckoutFormRetrieveRequestData { - locale?: Locale; - conversationId?: string; - token: string; - } - - interface SubscriptionCheckoutFormRetrieveResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - referenceCode: string; - parentReferenceCode: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - subscriptionStatus: SubscriptionStatus; - trialDays?: number; - trialStartDate?: string; - trialEndDate?: string; - createdDate: string; - startDate: string; - } - - interface SubscriptionExistingCustomerInitializeRequestData { - locale?: Locale; - conversationId?: string; - pricingPlanReferenceCode: string; - customerReferenceCode: string; - } - - interface SubscriptionExistingCustomerInitializeResult { - status: string; - locale?: Locale; - systemTime: number; - conversationId?: string; - token: string; - } - - /* NAMESPACE INTERFACES */ - interface ApiTest { - retrieve(data: ApiTestRequestData, callback: (err: Error, result: ApiTestResult) => void): void; - } - - interface BinNumber { - retrieve(data: BinNumberRequestData, callback: (err: Error, result: BinNumberResult) => void): void; - } - - interface Approval { - create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; - } - - interface Disapproval { - create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; - } - - interface BkmInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, - ): void; - } - - interface Bkm { - retrieve( - data: ThreeDSPaymentCompleteRequestData, - callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, - ): void; - } - - interface Cancel { - create(data: CancelPaymentRequestData, callback: (err: Error, result: CancelPaymentResult) => void): void; - } - - interface Card { - create(data: SavePaymentCardRequestData, callback: (err: Error, result: SavePaymentCardResult) => void): void; - delete(data: DeleteUserCardRequestData, callback: (err: Error, result: DeleteUserCardResult) => void): void; - } - - interface CardList { - retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; - } - - interface CheckOutFormInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: CheckoutFormInitialResult) => void, - ): void; - } - - interface CheckOutForm { - retrieve( - data: CheckoutFormRetrieveRequestData, - callback: (err: Error, result: CheckoutFormRetrieveResult) => void, - ): void; - } - - interface UniversalCardStorageInitialize { - retrieve( - data: UniversalCardStorageInitializeRequestData, - callback: (err: Error, result: UniversalCardStorageInitializeResult) => void, - ): void; - } - - interface InstallmentInfo { - retrieve(data: InstallmentInfoRequestData, callback: (err: Error, result: InstallmentInfoResult) => void): void; - } - - interface Payment { - create(data: PaymentRequestData, callback: (err: Error, result: PaymentResult) => void): void; - retrieve(data: PaymentRetrieveRequestData, callback: (err: Error, result: PaymentResult) => void): void; - } - - interface PaymentItem { - update(data: PaymentItemRequestData, callback: (err: Error, result: PaymentItemResult) => void): void; - } - - interface PeccoInitialize { - create(data: PeccoInitializeRequestData, callback: (err: Error, result: PeccoInitializeResult) => void): void; - } - - interface PeccoPayment { - create(data: PeccoPaymentRequestData, callback: (err: Error, result: PeccoPaymentResult) => void): void; - } - - interface Refund { - create(data: RefundRequestData, callback: (err: Error, result: RefundResult) => void): void; - } - - interface RefundToBalance { - create(data: RefundToBalanceRequestData, callback: (err: Error, result: RefundToBalanceResult) => void): void; - } - - interface PayoutCompletedTransactionListRetrieve { - retrieve( - data: PayoutCompletedTransactionListRetrieveRequestData, - callback: (err: Error, result: PayoutCompletedTransactionListRetrieveResult) => void, - ): void; - } - - interface BouncedBackTransactionListRetrieve { - retrieve( - data: BouncedBackTransactionListRetrieveRequestData, - callback: (err: Error, result: BouncedBackTransactionListRetrieveResult) => void, - ): void; - } - - interface SubMerchant { - create(data: SubMerchantCreateRequestData, callback: (err: Error, result: SubMerchantCreateResult) => void): void; - update(data: SubMerchantUpdateRequestData, callback: (err: Error, result: SubMerchantUpdateResult) => void): void; - retrieve( - data: SubMerchantRetrieveRequestData, - callback: (err: Error, result: SubMerchantRetrieveResult) => void, - ): void; - } - - interface ThreeDSInitialize { - create( - data: ThreeDSInitializePaymentRequestData, - callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, - ): void; - } - - interface ThreedsPayment { - create(data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: PaymentResult) => void): void; - } - - interface SettlementToBalance { - create( - data: SettlementToBalanceRequestData, - callback: (err: Error, result: SettlementToBalanceResult) => void, - ): void; - } - - interface SubscriptionProduct { - create( - data: SubscriptionProductCreateRequestData, - callback: (err: Error, result: SubscriptionProductCreateResult) => void, - ): void; - update( - data: SubscriptionProductUpdateRequestData, - callback: (err: Error, result: SubscriptionProductUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionProductRetrieveRequestData, - callback: (err: Error, result: SubscriptionProductRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionProductRetrieveListRequestData, - callback: (err: Error, result: SubscriptionProductRetrieveListResult) => void, - ): void; - } - - interface SubscriptionPricingPlan { - create( - data: SubscriptionPricingPlanCreateRequestData, - callback: (err: Error, result: SubscriptionPricingPlanCreateResult) => void, - ): void; - update( - data: SubscriptionPricingPlanUpdateRequestData, - callback: (err: Error, result: SubscriptionPricingPlanUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionPricingPlanRetrieveRequestData, - callback: (err: Error, result: SubscriptionPricingPlanRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionPricingPlanRetrieveListRequestData, - callback: (err: Error, result: SubscriptionPricingPlanRetrieveListResult) => void, - ): void; - } - - interface SubscriptionCustomer { - create( - data: SubscriptionCustomerCreateRequestData, - callback: (err: Error, result: SubscriptionCustomerCreateResult) => void, - ): void; - update( - data: SubscriptionCustomerUpdateRequestData, - callback: (err: Error, result: SubscriptionCustomerUpdateResult) => void, - ): void; - retrieve( - data: SubscriptionCustomerRetrieveRequestData, - callback: (err: Error, result: SubscriptionCustomerRetrieveResult) => void, - ): void; - retrieveList( - data: SubscriptionCustomerRetrieveListRequestData, - callback: (err: Error, result: SubscriptionCustomerRetrieveListResult) => void, - ): void; - } - - interface SubscriptionCard { - update( - data: SubscriptionCardUpdateRequestData, - callback: (err: Error, result: SubscriptionCardUpdateResult) => void, - ): void; - updateWithSubscriptionReferenceCode( - data: SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, - callback: (err: Error, result: SubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void, - ): void; - } - - interface SubscriptionPayment { - retry( - data: SubscriptionPaymentRetryRequestData, - callback: (err: Error, result: SubscriptionPaymentRetryResult) => void, - ): void; - } - - interface Subscription { - cancel( - data: SubscriptionCancelRequestData, - callback: (err: Error, result: SubscriptionCancelResult) => void, - ): void; - activate( - data: SubscriptionActivateRequestData, - callback: (err: Error, result: SubscriptionActivateResult) => void, - ): void; - upgrade( - data: SubscriptionUpgradeRequestData, - callback: (err: Error, result: SubscriptionUpgradeResult) => void, - ): void; - retrieve( - data: SubscriptionRetrieveRequestData, - callback: (err: Error, result: SubscriptionRetrieveResult) => void, - ): void; - search( - data: SubscriptionSearchRequestData, - callback: (err: Error, result: SubscriptionSearchResult) => void, - ): void; - initialize( - data: SubscriptionInitializeRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, - ): void; - } - - interface SubscriptionCheckoutForm { - initialize( - data: SubscriptionCheckoutFormInitializeRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, - ): void; - retrieve( - data: SubscriptionCheckoutFormRetrieveRequestData, - callback: (err: Error, result: SubscriptionCheckoutFormRetrieveResult) => void, - ): void; - } - - interface SubscriptionExistingCustomer { - initialize( - data: SubscriptionExistingCustomerInitializeRequestData, - callback: (err: Error, result: SubscriptionExistingCustomerInitializeResult) => void, - ): void; - } - - class Iyzipay { - constructor(options?: ConfigOptions); - apiTest: ApiTest; - approval: Approval; - disapproval: Disapproval; - binNumber: BinNumber; - bkmInitialize: BkmInitialize; - bkm: Bkm; - cancel: Cancel; - card: Card; - cardList: CardList; - checkoutFormInitialize: CheckOutFormInitialize; - checkoutForm: CheckOutForm; - universalCardStorageInitialize: UniversalCardStorageInitialize; - installmentInfo: InstallmentInfo; - payment: Payment; - paymentItem: PaymentItem; - peccoInitialize: PeccoInitialize; - peccoPayment: PeccoPayment; - refund: Refund; - refundToBalance: RefundToBalance; - payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; - bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; - subMerchant: SubMerchant; - threedsInitialize: ThreeDSInitialize; - threedsPayment: ThreedsPayment; - - settlementToBalance: SettlementToBalance; - /* SUBSCRIPTION */ - subscriptionProduct: SubscriptionProduct; - subscriptionPricingPlan: SubscriptionPricingPlan; - subscriptionCustomer: SubscriptionCustomer; - subscriptionCard: SubscriptionCard; - subscriptionPayment: SubscriptionPayment; - subscription: Subscription; - subscriptionCheckoutForm: SubscriptionCheckoutForm; - subscriptionExistingCustomer: SubscriptionExistingCustomer; - } - - namespace Iyzipay { - export const LOCALE: Locales; - export const PAYMENT_GROUP: PaymentGroups; - export const BASKET_ITEM_TYPE: BasketItemTypes; - export const PAYMENT_CHANNEL: PaymentChannels; - export const SUB_MERCHANT_TYPE: SubMerchantTypes; - export const CURRENCY: Currencies; - export const APM_TYPE: ApmTypes; - export const REFUND_REASON: RefundReasons; - export const PLAN_PAYMENT_TYPE: PlanPaymentTypes; - export const SUBSCRIPTION_PRICING_PLAN_INTERVAL: SubscriptionPricingPlanIntervals; - export const SUBSCRIPTION_UPGRADE_PERIOD: SubscriptionUpgradePeriods; - export const SUBSCRIPTION_STATUS: SubscriptionStatuses; - export const SUBSCRIPTION_INITIAL_STATUS: SubscriptionInitialStatuses; - - /* Config Options Interface */ - export { ConfigOptions }; - - /* ENUM INTERFACES */ - export { - ApmTypes, - BasketItemTypes, - Currencies, - Locales, - PaymentChannels, - PaymentGroups, - PlanPaymentTypes, - RefundReasons, - SubMerchantTypes, - SubscriptionInitialStatuses, - SubscriptionPricingPlanIntervals, - SubscriptionStatuses, - SubscriptionUpgradePeriods, - }; - - /* REQUEST INTERFACES */ - export { - ApiTestRequestData, - ApiTestResult, - ApprovalPaymentRequestData, - ApprovalPaymentResult, - BinNumberRequestData, - BinNumberResult, - BouncedBackTransactionListRetrieveRequestData, - BouncedBackTransactionListRetrieveResult, - CancelPaymentRequestData, - CancelPaymentResult, - CheckoutFormInitialResult, - CheckoutFormRetrieveRequestData, - CheckoutFormRetrieveResult, - DeleteUserCardRequestData, - DeleteUserCardResult, - InstallmentDetail, - InstallmentInfoRequestData, - InstallmentInfoResult, - ListUserCardsRequestData, - ListUserCardsResult, - PaymentItemRequestData, - PaymentItemResult, - PaymentRequestData, - PaymentResult, - PaymentRetrieveRequestData, - PayoutCompletedTransactionListRetrieveRequestData, - PayoutCompletedTransactionListRetrieveResult, - PeccoInitializeRequestData, - PeccoInitializeResult, - PeccoPaymentRequestData, - PeccoPaymentResult, - RefundRequestData, - RefundResult, - RefundToBalanceRequestData, - RefundToBalanceResult, - SavePaymentCardRequestData, - SavePaymentCardResult, - SettlementToBalanceRequestData, - SettlementToBalanceResult, - SubMerchantCreateRequestData, - SubMerchantCreateResult, - SubMerchantRetrieveRequestData, - SubMerchantRetrieveResult, - SubMerchantUpdateRequestData, - SubMerchantUpdateResult, - SubscriptionActivateRequestData, - SubscriptionActivateResult, - SubscriptionCancelRequestData, - SubscriptionCancelResult, - SubscriptionCardUpdateRequestData, - SubscriptionCardUpdateResult, - SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, - SubscriptionCardUpdateWithSubscriptionReferenceCodeResult, - SubscriptionCheckoutFormInitializeRequestData, - SubscriptionCheckoutFormInitializeResult, - SubscriptionCheckoutFormRetrieveRequestData, - SubscriptionCheckoutFormRetrieveResult, - SubscriptionCustomerCreateRequestData, - SubscriptionCustomerCreateResult, - SubscriptionCustomerItem, - SubscriptionCustomerRetrieveListRequestData, - SubscriptionCustomerRetrieveListResult, - SubscriptionCustomerRetrieveRequestData, - SubscriptionCustomerRetrieveResult, - SubscriptionCustomerUpdateRequestData, - SubscriptionCustomerUpdateResult, - SubscriptionExistingCustomerInitializeRequestData, - SubscriptionExistingCustomerInitializeResult, - SubscriptionInitializeRequestData, - SubscriptionItem, - SubscriptionPaymentRetryRequestData, - SubscriptionPaymentRetryResult, - SubscriptionPricingPlanCreateRequestData, - SubscriptionPricingPlanCreateResult, - SubscriptionPricingPlanItem, - SubscriptionPricingPlanRetrieveListRequestData, - SubscriptionPricingPlanRetrieveListResult, - SubscriptionPricingPlanRetrieveRequestData, - SubscriptionPricingPlanRetrieveResult, - SubscriptionPricingPlanUpdateRequestData, - SubscriptionPricingPlanUpdateResult, - SubscriptionProductCreateRequestData, - SubscriptionProductCreateResult, - SubscriptionProductItem, - SubscriptionProductRetrieveListRequestData, - SubscriptionProductRetrieveListResult, - SubscriptionProductRetrieveRequestData, - SubscriptionProductRetrieveResult, - SubscriptionProductUpdateRequestData, - SubscriptionProductUpdateResult, - SubscriptionRetrieveRequestData, - SubscriptionRetrieveResult, - SubscriptionSearchRequestData, - SubscriptionSearchResult, - SubscriptionUpgradeRequestData, - SubscriptionUpgradeResult, - ThreeDSInitializePaymentRequestData, - ThreeDSInitializePaymentResult, - ThreeDSPaymentCompleteRequestData, - UniversalCardStorageInitializeRequestData, - UniversalCardStorageInitializeResult, - }; - - /* NAMESPACE MODULES' INTERFACES */ - export { - ApiTest, - Approval, - BinNumber, - Bkm, - BkmInitialize, - BouncedBackTransactionListRetrieve, - Cancel, - Card, - CardList, - CheckOutForm, - CheckOutFormInitialize, - Disapproval, - InstallmentInfo, - Payment, - PaymentItem, - PayoutCompletedTransactionListRetrieve, - PeccoInitialize, - PeccoPayment, - Refund, - RefundToBalance, - SettlementToBalance, - SubMerchant, - Subscription, - SubscriptionCard, - SubscriptionCheckoutForm, - SubscriptionCustomer, - SubscriptionExistingCustomer, - SubscriptionPayment, - SubscriptionPricingPlan, - SubscriptionProduct, - ThreeDSInitialize, - ThreedsPayment, - UniversalCardStorageInitialize, - }; - } -} \ No newline at end of file +type Locale = "TR" | "EN"; + +type PaymentGroup = "PRODUCT" | "LISTING" | "SUBSCRIPTION"; + +type BasketItemType = "PHYSICAL" | "VIRTUAL"; + +type PaymentChannel = + | "MOBILE" + | "WEB" + | "MOBILE_WEB" + | "MOBILE_IOS" + | "MOBILE_ANDROID" + | "MOBILE_WINDOWS" + | "MOBILE_TABLET" + | "MOBILE_PHONE"; + +type SubMerchantType = "PERSONAL" | "PRIVATE_COMPANY" | "LIMITED_OR_JOINT_STOCK_COMPANY"; + +type Currency = "TRY" | "EUR" | "USD" | "IRR" | "GBP" | "NOK" | "RUB" | "CHF"; + +type ApmType = "SOFORT" | "IDEAL" | "QIWI" | "GIROPAY"; + +type RefundReason = "DOUBLE_PAYMENT" | "BUYER_REQUEST" | "FRAUD" | "OTHER"; + +type PlanPaymentType = "RECURRING"; + +type SubscriptionPricingPlanInterval = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY"; + +type SubscriptionUpgradePeriod = "NOW"; + +type SubscriptionStatus = "EXPIRED" | "UNPAID" | "CANCELED" | "ACTIVE" | "PENDING" | "UPGRADED"; + +type SubscriptionInitialStatus = "ACTIVE" | "PENDING"; + +/* INTERFACES */ +interface Locales { + TR: "TR"; + EN: "EN"; +} + +interface PaymentGroups { + PRODUCT: "PRODUCT"; + LISTING: "LISTING"; + SUBSCRIPTION: "SUBSCRIPTION"; +} + +interface BasketItemTypes { + PHYSICAL: "PHYSICAL"; + VIRTUAL: "VIRTUAL"; +} + +interface PaymentChannels { + MOBILE: "MOBILE"; + WEB: "WEB"; + MOBILE_WEB: "MOBILE_WEB"; + MOBILE_IOS: "MOBILE_IOS"; + MOBILE_ANDROID: "MOBILE_ANDROID"; + MOBILE_WINDOWS: "MOBILE_WINDOWS"; + MOBILE_TABLET: "MOBILE_TABLET"; + MOBILE_PHONE: "MOBILE_PHONE"; +} + +interface SubMerchantTypes { + PERSONAL: "PERSONAL"; + PRIVATE_COMPANY: "PRIVATE_COMPANY"; + LIMITED_OR_JOINT_STOCK_COMPANY: "LIMITED_OR_JOINT_STOCK_COMPANY"; +} + +interface Currencies { + TRY: "TRY"; + EUR: "EUR"; + USD: "USD"; + IRR: "IRR"; + GBP: "GBP"; + NOK: "NOK"; + RUB: "RUB"; + CHF: "CHF"; +} + +interface ApmTypes { + SOFORT: "SOFORT"; + IDEAL: "IDEAL"; + QIWI: "QIWI"; + GIROPAY: "GIROPAY"; +} + +interface RefundReasons { + DOUBLE_PAYMENT: "DOUBLE_PAYMENT"; + BUYER_REQUEST: "BUYER_REQUEST"; + FRAUD: "FRAUD"; + OTHER: "OTHER"; +} + +interface PlanPaymentTypes { + RECURRING: "RECURRING"; +} + +interface SubscriptionPricingPlanIntervals { + DAILY: "DAILY"; + WEEKLY: "WEEKLY"; + MONTHLY: "MONTHLY"; + YEARLY: "YEARLY"; +} + +interface SubscriptionUpgradePeriods { + NOW: "NOW"; +} + +interface SubscriptionStatuses { + EXPIRED: "EXPIRED"; + UNPAID: "UNPAID"; + CANCELED: "CANCELED"; + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; + UPGRADED: "UPGRADED"; +} + +interface SubscriptionInitialStatuses { + ACTIVE: "ACTIVE"; + PENDING: "PENDING"; +} + +/* GENERIC INTERFACES */ +interface ConfigOptions { + apiKey: string; + secretKey: string; + uri: string; +} + +interface PaymentCard { + cardHolderName: string; + cardNumber: string; + expireMonth: string; + expireYear: string; + cvc?: string; + registerCard?: number; + registerConsumerCard?: boolean; + cardAlias: string; +} + +interface SavedPaymentCard { + cardToken?: string; + cardUserKey: string; + ucsToken?: string; + consumerToken?: string; +} + +interface SavedPaymentCardDetail { + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; +} + +interface BuyerDetails { + id: string; + name: string; + surname: string; + gsmNumber?: string; + email?: string; + identityNumber: string; + lastLoginDate?: string; + registrationDate?: string; + registrationAddress: string; + ip: string; + city: string; + country: string; + zipCode?: string; +} + +interface AddressDetails { + contactName: string; + city: string; + country: string; + address: string; + zipCode?: string; +} + +interface BasketItem { + id: string; + name: string; + category1: string; + category2?: string; + itemType: BasketItemType; + price: number | string; + subMerchantPrice?: number | string; + subMerchantKey?: string; +} + +/* Result Parts */ +interface ConvertedPayout { + paidPrice: number | string; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + iyziConversionRate: number; + iyziConversionRateAmount: number; + currency: Currency; +} + +interface ItemTransaction { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyzicoCommissionRateAmount: number; + iyzicoCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: ConvertedPayout; +} + +/* REQUEST - RESULT INTERFACES */ +interface ApprovalPaymentRequestData { + locale?: Locale; + conversationId?: string; + paymentTransactionId: string; +} + +interface ApprovalPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; +} + +interface ApiTestRequestData { + locale?: Locale; + conversationId?: string; +} + +interface ApiTestResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; +} + +interface BinNumberRequestData { + locale?: Locale; + conversationId?: string; + binNumber: string; +} + +interface BinNumberResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + binNumber: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + bankName: string; + bankCode: number; +} + +interface CancelPaymentRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + ip: string; + reason?: RefundReason; + description?: string; +} + +interface CancelPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; +} + +interface SavePaymentCardRequestData { + locale?: Locale; + conversationId?: string; + email: string; + externalId?: string; + cardUserKey?: string; + card: PaymentCard; +} + +interface ListUserCardsRequestData { + locale?: Locale; + conversationId?: string; + cardUserKey: string; +} + +interface DeleteUserCardRequestData { + locale?: Locale; + conversationId?: string; + cardUserKey: string; + cardToken: string; +} + +interface ListUserCardsResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + cardDetails: SavedPaymentCardDetail[]; +} + +interface DeleteUserCardResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; +} + +interface SavePaymentCardResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + externalId?: string; + email: string; + cardUserKey: string; + cardToken: string; + cardAlias: string; + binNumber: string; + lastFourDigits: string; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardBankCode: number; + cardBankName: string; +} + +// interface ICheckoutFormInitializeRequestData extends ThreeDSInitializePaymentRequestData { } + +interface CheckoutFormInitialResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +interface CheckoutFormRetrieveRequestData { + locale?: Locale; + conversationId?: string; + token: string; +} + +interface CheckoutFormRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: Currency; + installment: number; + basketId: string; + paymentId: string; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; +} + +interface UniversalCardStorageInitializeRequestData { + locale?: Locale; + conversationId?: string; + gsmNumber: string; + email: string; +} + +interface UniversalCardStorageInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + callbackUrl: string; +} + +interface InstallmentInfoRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + binNumber: string; +} + +interface InstallmentDetail { + installmentNumber: number; + totalPrice: number | string; + installmentPrice: number | string; + installmentRate: number; +} + +interface InstallmentInfoResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + binNumber: string; + price: number | string; + installmentDetails: InstallmentDetail[]; +} + +interface PaymentRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: Currency; + installments: number; + basketId?: string; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + paymentCard: SavedPaymentCard | PaymentCard; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; +} + +interface PaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + price: number | string; + paidPrice: number | string; + installment: number; + paymentId: string; + fraudStatus: number; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + cardType: string; + cardAssociation: string; + cardFamily: string; + cardToken: string; + cardUserKey: string; + binNumber: string; + lastFourDigits: string; + basketId: string; + currency: Currency; + itemTransactions: ItemTransaction[]; + authCode: string; + phase: string; + mdStatus: string; + hostReference: string; +} + +interface PaymentRetrieveRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + paymentConversationId?: string; +} + +// interface PaymentRetrieveResult extends PaymentResult { } + +interface PaymentItemRequestData { + paymentTransactionId: string; + subMerchantKey?: string; + subMerchantPrice?: number | string; +} + +interface PaymentItemResult { + itemId: string; + paymentTransactionId: string; + transactionStatus: number; + price: number | string; + paidPrice: number | string; + merchantCommissionRate: number; + merchantCommissionRateAmount: number; + iyziCommissionRateAmount: number; + iyziCommissionFee: number; + blockageRate: number; + blockageRateAmountMerchant: number; + blockageRateAmountSubMerchant: number; + blockageResolvedDate: string; + subMerchantPrice: number; + subMerchantPayoutRate: number; + subMerchantPayoutAmount: number; + merchantPayoutAmount: number; + convertedPayout: ConvertedPayout; +} + +interface PeccoInitializeRequestData { + locale?: Locale; + conversationId?: string; + price: number | string; + paidPrice: number | string; + currency?: Currency; + installments: number; + basketId?: string; + paymentChannel?: PaymentChannel; + paymentGroup?: PaymentGroup; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; + callbackUrl: string; +} + +interface PeccoInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +interface PeccoPaymentRequestData { + locale?: Locale; + conversationId?: string; + token: string; +} + +interface PeccoPaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + paymentStatus: string; + fraudStatus: number; + price: number | string; + paidPrice: number | string; + currency: Currency; + installment: number; + basketId: string; + paymentId: string; + paymentItems: ItemTransaction[]; + paymentCard: SavedPaymentCardDetail; + buyer: BuyerDetails; + shippingAddress: AddressDetails; + billingAddress: AddressDetails; + basketItems: BasketItem[]; +} + +interface RefundRequestData { + locale?: Locale; + conversationId?: string; + paymentTransactionId: string; + price: number | string; + ip: string; + currency: Currency; + reason?: RefundReason; + description?: string; +} + +interface RefundResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: Currency; + hostReference?: string; +} + +interface RefundToBalanceRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + callbackUrl: string; +} + +interface RefundToBalanceResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + paymentId: string; + price: number | string; + currency: Currency; + hostReference?: string; +} + +interface PayoutCompletedTransactionListRetrieveRequestData { + locale?: Locale; + conversationId?: string; + date: string; + page?: number; + count?: number; +} + +/* interface IPayoutCompletedTransaction extends PaymentResult { + +} */ + +interface PayoutCompletedTransactionListRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + payoutCompletedTransactionList: PaymentResult[]; +} + +interface SubMerchantCreateRequestData { + locale?: Locale; + conversationId?: string; + subMerchantExternalId: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; +} + +interface SubMerchantCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; +} + +interface SubMerchantUpdateRequestData { + locale?: Locale; + conversationId?: string; + subMerchantKey: string; + address?: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email?: string; + gsmNumber?: string; + name?: string; + iban?: string; + identityNumber?: string; + currency?: Currency; +} + +interface SubMerchantUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; +} + +interface SubMerchantRetrieveRequestData { + locale?: Locale; + conversationId?: string; + subMerchantExternalId: string; +} + +interface SubMerchantRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + subMerchantType: SubMerchantType; + address: string; + taxOffice?: string; + legalCompanyTitle?: string; + contactName?: string; + contactSurname?: string; + email: string; + gsmNumber: string; + name: string; + iban: string; + identityNumber: string; + currency: Currency; +} + +interface BouncedBackTransactionListRetrieveRequestData { + locale?: Locale; + conversationId?: string; + date: string; + page?: number; + count?: number; +} + +/* interface IBouncedBackTransaction extends PaymentResult { + +} */ + +interface BouncedBackTransactionListRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + bouncedBackTransactionList: PaymentResult[]; +} + +interface ThreeDSInitializePaymentRequestData extends PaymentRequestData { + callbackUrl: string; +} + +interface ThreeDSInitializePaymentResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + threeDSHtmlContent: string; +} + +interface ThreeDSPaymentCompleteRequestData { + locale?: Locale; + conversationId?: string; + paymentId: string; + conversationData?: string; +} + +// interface IThreeDSPaymentCompleteResult extends PaymentResult { } + +interface SettlementToBalanceRequestData { + locale?: Locale; + conversationId?: string; + subMerchantKey: string; + callbackUrl?: string; + price: number | string; +} + +interface SettlementToBalanceResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + subMerchantKey: string; + price: number | string; + currency: Currency; + hostReference?: string; +} + +interface SubscriptionProductCreateRequestData { + locale?: Locale; + conversationId?: string; + name: string; + description?: string; +} + +interface SubscriptionProductCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +interface SubscriptionProductUpdateRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + name?: string; + description?: string; +} + +interface SubscriptionProductUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +interface SubscriptionProductRetrieveRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; +} + +interface SubscriptionProductRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + name: string; + description: string; +} + +interface SubscriptionProductRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + page?: number; + count?: number; +} + +interface SubscriptionProductItem { + productReferenceCode: string; + name: string; + description: string; +} + +interface SubscriptionProductRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionProductItem[]; +} + +interface SubscriptionPricingPlanCreateRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; +} + +interface SubscriptionPricingPlanCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; +} + +interface SubscriptionPricingPlanUpdateRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; + name?: string; + trialPeriodDays?: number; +} + +interface SubscriptionPricingPlanUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; +} + +interface SubscriptionPricingPlanRetrieveRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; +} + +interface SubscriptionPricingPlanRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + productReferenceCode: string; + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; +} + +interface SubscriptionPricingPlanRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + productReferenceCode: string; + page?: number; + count?: number; +} + +interface SubscriptionPricingPlanItem { + pricingPlanReferenceCode: string; + name: string; + price: number | string; + currencyCode: Currency; + paymentInterval: SubscriptionPricingPlanInterval; + paymentIntervalCount: number; + trialPeriodDays?: number; + planPaymentType?: PlanPaymentType; +} + +interface SubscriptionPricingPlanRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionPricingPlanItem[]; +} + +interface SubscriptionCustomerCreateRequestData { + locale?: Locale; + conversationId?: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerCreateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerUpdateRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; + name?: string; + surname?: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerRetrieveRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; +} + +interface SubscriptionCustomerRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerRetrieveListRequestData { + locale?: Locale; + conversationId?: string; + page?: number; + count?: number; +} + +interface SubscriptionCustomerItem { + customerReferenceCode: string; + name: string; + surname: string; + identityNumber: string; + email?: string; + gsmNumber?: string; + billingAddress?: AddressDetails; + shippingAddress?: AddressDetails; +} + +interface SubscriptionCustomerRetrieveListResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionCustomerItem[]; +} + +interface SubscriptionCardUpdateRequestData { + locale?: Locale; + conversationId?: string; + customerReferenceCode: string; + callbackUrl: string; +} + +interface SubscriptionCardUpdateResult { + status: string; + locale?: Locale; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; +} + +interface SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + callbackUrl: string; +} + +interface SubscriptionCardUpdateWithSubscriptionReferenceCodeResult { + status: string; + locale?: Locale; + systemTime: number; + checkoutFormContent: string; + token: string; + tokenExpireTime: number; +} + +interface SubscriptionPaymentRetryRequestData { + locale?: Locale; + conversationId?: string; + referenceCode: string; +} + +interface SubscriptionPaymentRetryResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +interface SubscriptionCancelRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; +} + +interface SubscriptionCancelResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +interface SubscriptionActivateRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; +} + +interface SubscriptionActivateResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +interface SubscriptionUpgradeRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; + newPricingPlanReferenceCode: string; + upgradePeriod?: SubscriptionUpgradePeriod; + useTrial?: boolean; +} + +interface SubscriptionUpgradeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; +} + +interface SubscriptionRetrieveRequestData { + locale?: Locale; + conversationId?: string; + subscriptionReferenceCode: string; +} + +interface SubscriptionRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; +} + +interface SubscriptionSearchRequestData { + locale?: Locale; + conversationId?: string; + parentReferenceCode?: string; + subscriptionReferenceCode?: string; + customerReferenceCode?: string; + subscriptionStatus?: SubscriptionStatus; + subscriptionCreatedStartDate?: string; + subscriptionCreatedEndDate?: string; + page?: number; + count?: number; +} + +interface SubscriptionItem { + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + subscriptionInitialStatus: SubscriptionInitialStatus; + subscriptionCreatedDate: string; + subscriptionStartDate: string; + subscriptionEndDate: string; + trialStartDate?: string; + trialEndDate?: string; + customer: SubscriptionCustomerItem; + pricingPlan: SubscriptionPricingPlanItem; +} + +interface SubscriptionSearchResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + items: SubscriptionItem[]; +} + +interface SubscriptionInitializeRequestData { + locale?: Locale; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; + paymentCard?: SavedPaymentCard | PaymentCard; +} + +interface SubscriptionCheckoutFormInitializeRequestData { + locale?: Locale; + conversationId?: string; + callbackUrl: string; + pricingPlanReferenceCode: string; + subscriptionInitialStatus?: SubscriptionInitialStatus; + customer: SubscriptionCustomerCreateRequestData; +} + +interface SubscriptionCheckoutFormInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; + checkoutFormContent: string; +} + +interface SubscriptionCheckoutFormRetrieveRequestData { + locale?: Locale; + conversationId?: string; + token: string; +} + +interface SubscriptionCheckoutFormRetrieveResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + referenceCode: string; + parentReferenceCode: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; + subscriptionStatus: SubscriptionStatus; + trialDays?: number; + trialStartDate?: string; + trialEndDate?: string; + createdDate: string; + startDate: string; +} + +interface SubscriptionExistingCustomerInitializeRequestData { + locale?: Locale; + conversationId?: string; + pricingPlanReferenceCode: string; + customerReferenceCode: string; +} + +interface SubscriptionExistingCustomerInitializeResult { + status: string; + locale?: Locale; + systemTime: number; + conversationId?: string; + token: string; +} + +/* NAMESPACE INTERFACES */ +interface ApiTest { + retrieve(data: ApiTestRequestData, callback: (err: Error, result: ApiTestResult) => void): void; +} + +interface BinNumber { + retrieve(data: BinNumberRequestData, callback: (err: Error, result: BinNumberResult) => void): void; +} + +interface Approval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; +} + +interface Disapproval { + create(data: ApprovalPaymentRequestData, callback: (err: Error, result: ApprovalPaymentResult) => void): void; +} + +interface BkmInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; +} + +interface Bkm { + retrieve( + data: ThreeDSPaymentCompleteRequestData, + callback: (err: Error, result: ThreeDSPaymentCompleteRequestData) => void, + ): void; +} + +interface Cancel { + create(data: CancelPaymentRequestData, callback: (err: Error, result: CancelPaymentResult) => void): void; +} + +interface Card { + create(data: SavePaymentCardRequestData, callback: (err: Error, result: SavePaymentCardResult) => void): void; + delete(data: DeleteUserCardRequestData, callback: (err: Error, result: DeleteUserCardResult) => void): void; +} + +interface CardList { + retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; +} + +interface CheckOutFormInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: CheckoutFormInitialResult) => void, + ): void; +} + +interface CheckOutForm { + retrieve( + data: CheckoutFormRetrieveRequestData, + callback: (err: Error, result: CheckoutFormRetrieveResult) => void, + ): void; +} + +interface UniversalCardStorageInitialize { + retrieve( + data: UniversalCardStorageInitializeRequestData, + callback: (err: Error, result: UniversalCardStorageInitializeResult) => void, + ): void; +} + +interface InstallmentInfo { + retrieve(data: InstallmentInfoRequestData, callback: (err: Error, result: InstallmentInfoResult) => void): void; +} + +interface Payment { + create(data: PaymentRequestData, callback: (err: Error, result: PaymentResult) => void): void; + retrieve(data: PaymentRetrieveRequestData, callback: (err: Error, result: PaymentResult) => void): void; +} + +interface PaymentItem { + update(data: PaymentItemRequestData, callback: (err: Error, result: PaymentItemResult) => void): void; +} + +interface PeccoInitialize { + create(data: PeccoInitializeRequestData, callback: (err: Error, result: PeccoInitializeResult) => void): void; +} + +interface PeccoPayment { + create(data: PeccoPaymentRequestData, callback: (err: Error, result: PeccoPaymentResult) => void): void; +} + +interface Refund { + create(data: RefundRequestData, callback: (err: Error, result: RefundResult) => void): void; +} + +interface RefundToBalance { + create(data: RefundToBalanceRequestData, callback: (err: Error, result: RefundToBalanceResult) => void): void; +} + +interface PayoutCompletedTransactionListRetrieve { + retrieve( + data: PayoutCompletedTransactionListRetrieveRequestData, + callback: (err: Error, result: PayoutCompletedTransactionListRetrieveResult) => void, + ): void; +} + +interface BouncedBackTransactionListRetrieve { + retrieve( + data: BouncedBackTransactionListRetrieveRequestData, + callback: (err: Error, result: BouncedBackTransactionListRetrieveResult) => void, + ): void; +} + +interface SubMerchant { + create(data: SubMerchantCreateRequestData, callback: (err: Error, result: SubMerchantCreateResult) => void): void; + update(data: SubMerchantUpdateRequestData, callback: (err: Error, result: SubMerchantUpdateResult) => void): void; + retrieve( + data: SubMerchantRetrieveRequestData, + callback: (err: Error, result: SubMerchantRetrieveResult) => void, + ): void; +} + +interface ThreeDSInitialize { + create( + data: ThreeDSInitializePaymentRequestData, + callback: (err: Error, result: ThreeDSInitializePaymentResult) => void, + ): void; +} + +interface ThreedsPayment { + create(data: ThreeDSPaymentCompleteRequestData, callback: (err: Error, result: PaymentResult) => void): void; +} + +interface SettlementToBalance { + create( + data: SettlementToBalanceRequestData, + callback: (err: Error, result: SettlementToBalanceResult) => void, + ): void; +} + +interface SubscriptionProduct { + create( + data: SubscriptionProductCreateRequestData, + callback: (err: Error, result: SubscriptionProductCreateResult) => void, + ): void; + update( + data: SubscriptionProductUpdateRequestData, + callback: (err: Error, result: SubscriptionProductUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionProductRetrieveRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionProductRetrieveListRequestData, + callback: (err: Error, result: SubscriptionProductRetrieveListResult) => void, + ): void; +} + +interface SubscriptionPricingPlan { + create( + data: SubscriptionPricingPlanCreateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanCreateResult) => void, + ): void; + update( + data: SubscriptionPricingPlanUpdateRequestData, + callback: (err: Error, result: SubscriptionPricingPlanUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionPricingPlanRetrieveRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionPricingPlanRetrieveListRequestData, + callback: (err: Error, result: SubscriptionPricingPlanRetrieveListResult) => void, + ): void; +} + +interface SubscriptionCustomer { + create( + data: SubscriptionCustomerCreateRequestData, + callback: (err: Error, result: SubscriptionCustomerCreateResult) => void, + ): void; + update( + data: SubscriptionCustomerUpdateRequestData, + callback: (err: Error, result: SubscriptionCustomerUpdateResult) => void, + ): void; + retrieve( + data: SubscriptionCustomerRetrieveRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveResult) => void, + ): void; + retrieveList( + data: SubscriptionCustomerRetrieveListRequestData, + callback: (err: Error, result: SubscriptionCustomerRetrieveListResult) => void, + ): void; +} + +interface SubscriptionCard { + update( + data: SubscriptionCardUpdateRequestData, + callback: (err: Error, result: SubscriptionCardUpdateResult) => void, + ): void; + updateWithSubscriptionReferenceCode( + data: SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + callback: (err: Error, result: SubscriptionCardUpdateWithSubscriptionReferenceCodeResult) => void, + ): void; +} + +interface SubscriptionPayment { + retry( + data: SubscriptionPaymentRetryRequestData, + callback: (err: Error, result: SubscriptionPaymentRetryResult) => void, + ): void; +} + +interface Subscription { + cancel( + data: SubscriptionCancelRequestData, + callback: (err: Error, result: SubscriptionCancelResult) => void, + ): void; + activate( + data: SubscriptionActivateRequestData, + callback: (err: Error, result: SubscriptionActivateResult) => void, + ): void; + upgrade( + data: SubscriptionUpgradeRequestData, + callback: (err: Error, result: SubscriptionUpgradeResult) => void, + ): void; + retrieve( + data: SubscriptionRetrieveRequestData, + callback: (err: Error, result: SubscriptionRetrieveResult) => void, + ): void; + search( + data: SubscriptionSearchRequestData, + callback: (err: Error, result: SubscriptionSearchResult) => void, + ): void; + initialize( + data: SubscriptionInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; +} + +interface SubscriptionCheckoutForm { + initialize( + data: SubscriptionCheckoutFormInitializeRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormInitializeResult) => void, + ): void; + retrieve( + data: SubscriptionCheckoutFormRetrieveRequestData, + callback: (err: Error, result: SubscriptionCheckoutFormRetrieveResult) => void, + ): void; +} + +interface SubscriptionExistingCustomer { + initialize( + data: SubscriptionExistingCustomerInitializeRequestData, + callback: (err: Error, result: SubscriptionExistingCustomerInitializeResult) => void, + ): void; +} + +declare class Iyzipay { + constructor(options?: ConfigOptions); + apiTest: ApiTest; + approval: Approval; + disapproval: Disapproval; + binNumber: BinNumber; + bkmInitialize: BkmInitialize; + bkm: Bkm; + cancel: Cancel; + card: Card; + cardList: CardList; + checkoutFormInitialize: CheckOutFormInitialize; + checkoutForm: CheckOutForm; + universalCardStorageInitialize: UniversalCardStorageInitialize; + installmentInfo: InstallmentInfo; + payment: Payment; + paymentItem: PaymentItem; + peccoInitialize: PeccoInitialize; + peccoPayment: PeccoPayment; + refund: Refund; + refundToBalance: RefundToBalance; + payoutCompletedTransactionListRetrieve: PayoutCompletedTransactionListRetrieve; + bouncedBackTransactionListRetrieve: BouncedBackTransactionListRetrieve; + subMerchant: SubMerchant; + threedsInitialize: ThreeDSInitialize; + threedsPayment: ThreedsPayment; + + settlementToBalance: SettlementToBalance; + /* SUBSCRIPTION */ + subscriptionProduct: SubscriptionProduct; + subscriptionPricingPlan: SubscriptionPricingPlan; + subscriptionCustomer: SubscriptionCustomer; + subscriptionCard: SubscriptionCard; + subscriptionPayment: SubscriptionPayment; + subscription: Subscription; + subscriptionCheckoutForm: SubscriptionCheckoutForm; + subscriptionExistingCustomer: SubscriptionExistingCustomer; +} + +declare namespace Iyzipay { + export const LOCALE: Locales; + export const PAYMENT_GROUP: PaymentGroups; + export const BASKET_ITEM_TYPE: BasketItemTypes; + export const PAYMENT_CHANNEL: PaymentChannels; + export const SUB_MERCHANT_TYPE: SubMerchantTypes; + export const CURRENCY: Currencies; + export const APM_TYPE: ApmTypes; + export const REFUND_REASON: RefundReasons; + export const PLAN_PAYMENT_TYPE: PlanPaymentTypes; + export const SUBSCRIPTION_PRICING_PLAN_INTERVAL: SubscriptionPricingPlanIntervals; + export const SUBSCRIPTION_UPGRADE_PERIOD: SubscriptionUpgradePeriods; + export const SUBSCRIPTION_STATUS: SubscriptionStatuses; + export const SUBSCRIPTION_INITIAL_STATUS: SubscriptionInitialStatuses; + + /* Config Options Interface */ + export { ConfigOptions }; + + /* ENUM INTERFACES */ + export { + ApmTypes, + BasketItemTypes, + Currencies, + Locales, + PaymentChannels, + PaymentGroups, + PlanPaymentTypes, + RefundReasons, + SubMerchantTypes, + SubscriptionInitialStatuses, + SubscriptionPricingPlanIntervals, + SubscriptionStatuses, + SubscriptionUpgradePeriods, + }; + + /* REQUEST INTERFACES */ + export { + ApiTestRequestData, + ApiTestResult, + ApprovalPaymentRequestData, + ApprovalPaymentResult, + BinNumberRequestData, + BinNumberResult, + BouncedBackTransactionListRetrieveRequestData, + BouncedBackTransactionListRetrieveResult, + CancelPaymentRequestData, + CancelPaymentResult, + CheckoutFormInitialResult, + CheckoutFormRetrieveRequestData, + CheckoutFormRetrieveResult, + DeleteUserCardRequestData, + DeleteUserCardResult, + InstallmentDetail, + InstallmentInfoRequestData, + InstallmentInfoResult, + ListUserCardsRequestData, + ListUserCardsResult, + PaymentItemRequestData, + PaymentItemResult, + PaymentRequestData, + PaymentResult, + PaymentRetrieveRequestData, + PayoutCompletedTransactionListRetrieveRequestData, + PayoutCompletedTransactionListRetrieveResult, + PeccoInitializeRequestData, + PeccoInitializeResult, + PeccoPaymentRequestData, + PeccoPaymentResult, + RefundRequestData, + RefundResult, + RefundToBalanceRequestData, + RefundToBalanceResult, + SavePaymentCardRequestData, + SavePaymentCardResult, + SettlementToBalanceRequestData, + SettlementToBalanceResult, + SubMerchantCreateRequestData, + SubMerchantCreateResult, + SubMerchantRetrieveRequestData, + SubMerchantRetrieveResult, + SubMerchantUpdateRequestData, + SubMerchantUpdateResult, + SubscriptionActivateRequestData, + SubscriptionActivateResult, + SubscriptionCancelRequestData, + SubscriptionCancelResult, + SubscriptionCardUpdateRequestData, + SubscriptionCardUpdateResult, + SubscriptionCardUpdateWithSubscriptionReferenceCodeRequestData, + SubscriptionCardUpdateWithSubscriptionReferenceCodeResult, + SubscriptionCheckoutFormInitializeRequestData, + SubscriptionCheckoutFormInitializeResult, + SubscriptionCheckoutFormRetrieveRequestData, + SubscriptionCheckoutFormRetrieveResult, + SubscriptionCustomerCreateRequestData, + SubscriptionCustomerCreateResult, + SubscriptionCustomerItem, + SubscriptionCustomerRetrieveListRequestData, + SubscriptionCustomerRetrieveListResult, + SubscriptionCustomerRetrieveRequestData, + SubscriptionCustomerRetrieveResult, + SubscriptionCustomerUpdateRequestData, + SubscriptionCustomerUpdateResult, + SubscriptionExistingCustomerInitializeRequestData, + SubscriptionExistingCustomerInitializeResult, + SubscriptionInitializeRequestData, + SubscriptionItem, + SubscriptionPaymentRetryRequestData, + SubscriptionPaymentRetryResult, + SubscriptionPricingPlanCreateRequestData, + SubscriptionPricingPlanCreateResult, + SubscriptionPricingPlanItem, + SubscriptionPricingPlanRetrieveListRequestData, + SubscriptionPricingPlanRetrieveListResult, + SubscriptionPricingPlanRetrieveRequestData, + SubscriptionPricingPlanRetrieveResult, + SubscriptionPricingPlanUpdateRequestData, + SubscriptionPricingPlanUpdateResult, + SubscriptionProductCreateRequestData, + SubscriptionProductCreateResult, + SubscriptionProductItem, + SubscriptionProductRetrieveListRequestData, + SubscriptionProductRetrieveListResult, + SubscriptionProductRetrieveRequestData, + SubscriptionProductRetrieveResult, + SubscriptionProductUpdateRequestData, + SubscriptionProductUpdateResult, + SubscriptionRetrieveRequestData, + SubscriptionRetrieveResult, + SubscriptionSearchRequestData, + SubscriptionSearchResult, + SubscriptionUpgradeRequestData, + SubscriptionUpgradeResult, + ThreeDSInitializePaymentRequestData, + ThreeDSInitializePaymentResult, + ThreeDSPaymentCompleteRequestData, + UniversalCardStorageInitializeRequestData, + UniversalCardStorageInitializeResult, + }; + + /* NAMESPACE MODULES' INTERFACES */ + export { + ApiTest, + Approval, + BinNumber, + Bkm, + BkmInitialize, + BouncedBackTransactionListRetrieve, + Cancel, + Card, + CardList, + CheckOutForm, + CheckOutFormInitialize, + Disapproval, + InstallmentInfo, + Payment, + PaymentItem, + PayoutCompletedTransactionListRetrieve, + PeccoInitialize, + PeccoPayment, + Refund, + RefundToBalance, + SettlementToBalance, + SubMerchant, + Subscription, + SubscriptionCard, + SubscriptionCheckoutForm, + SubscriptionCustomer, + SubscriptionExistingCustomer, + SubscriptionPayment, + SubscriptionPricingPlan, + SubscriptionProduct, + ThreeDSInitialize, + ThreedsPayment, + UniversalCardStorageInitialize, + }; +} + +export = Iyzipay; \ No newline at end of file From 5a6cc5ef6cf16ff1b6ab10061f3807fb6a5242be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6k=C3=A7easlan?= <48398625+cangokceaslan@users.noreply.github.com> Date: Sun, 11 Feb 2024 22:50:46 +0300 Subject: [PATCH 11/11] Corrected a small mistake on naming -> CardList --- index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 481aa90..dabd59c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1319,7 +1319,7 @@ interface Card { } interface CardList { - retreive(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; + retrieve(data: ListUserCardsRequestData, callback: (err: Error, result: ListUserCardsResult) => void): void; } interface CheckOutFormInitialize {