UNPKG

@lexriver/yandex-pay

Version:

A TypeScript client for Yandex Pay API to integrate payment processing in your Node.js applications

95 lines (94 loc) 2.79 kB
import { EnumAllowedPaymentMethods } from "../../enums/EnumAllowedPaymentMethods.js"; import { EnumOrderSource } from "../../enums/EnumOrderSource.js"; import { MerchantRedirectUrls } from "../MerchantRedirectUrls.js"; import { MerchantRiskInfo } from "../MerchantRiskInfo.js"; import { OrderExtensions } from "../OrderExtensions.js"; import { RenderedCart } from "../RenderedCart.js"; import { UniqrMetadata } from "../UniqrMetadata.js"; export type PreferredPaymentMethod = 'FULLPAYMENT' | 'SPLIT' | 'CARD'; export type PublicConstructor = '2' | '4' | '6' | null; export interface CreateOrderRequest { /** * Cart contents * Type: RenderedCart */ cart: RenderedCart; /** * Three-letter code of the order currency (ISO 4217) * Enum: RUB * Max length: 2048 */ currencyCode: 'RUB'; /** * Order ID on the merchant side (must be unique) * Max length: 2048 */ orderId: string; /** * Payment methods available in the Yandex Pay payment form. * Enum: CARD, SPLIT * Min items: 1 * Default: null */ availablePaymentMethods?: EnumAllowedPaymentMethods[]; /** * Customer phone number. * Max length: 2048 * Recommended format: +71234567890 or 71234567890 */ billingPhone?: string; /** * Additional parameters for placing an offline order */ extensions?: OrderExtensions; /** * Whether to transfer an order based on the "deferred payment" flow. */ isPrepayment?: boolean; /** * Arbitrary order data for internal use * Max length: 2048 */ metadata?: string; /** * Indicates where order creation was initialized * Enum: WEBSITE, APP, CRM, CASH_REGISTER, CMS_PLUGIN * Default: null */ orderSource?: EnumOrderSource; /** * Preferred payment method. * Enum: FULLPAYMENT, SPLIT * Card by default. */ preferredPaymentMethod?: PreferredPaymentMethod; /** * Constructor of the preselected Split payment plan. * Enum: 2, 4, 6, null * Available only upon approval */ publicConstructor?: PublicConstructor; /** * Purpose of payment * Max length: 1000 */ purpose?: string; /** * Links for redirecting the user from the payment form. Required for online stores */ redirectUrls: MerchantRedirectUrls; /** * Additional info specifying which may make Split approval more likely. Fully available for online stores only. */ risk?: MerchantRiskInfo; /** * Time to live for the order in seconds * Time-to-live (seconds): 180 <= ttl <= 604800 * Default: 1800 */ ttl?: number; /** * Additional uniqr data */ uniqrMetadata?: UniqrMetadata; }