UNPKG

@lmapp/react-native-cloudpayments

Version:

πŸš€ ΠœΠΎΡ‰Π½Ρ‹ΠΉ SDK для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ CloudPayments Π² React Native. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Apple Pay, Google Pay, Π‘Π‘ΠŸ, банковских ΠΊΠ°Ρ€Ρ‚. Полная типизация TypeScript. iOS 12+ ΠΈ Android 21+

98 lines β€’ 3.62 kB
/** * @fileoverview Π“Π»Π°Π²Π½Ρ‹ΠΉ React Ρ…ΡƒΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CloudPayments SDK * @description ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ…ΡƒΠΊΠΈ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ использования * @author Leonid Molchanov * @since 1.0.0 */ import type { IUseCloudPaymentsOptions, TUseCloudPaymentsReturn } from './types'; /** * Π“Π»Π°Π²Π½Ρ‹ΠΉ React Ρ…ΡƒΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CloudPayments SDK * * @description ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ…ΡƒΠΊΠΈ (события, инициализация, платСТная Ρ„ΠΎΡ€ΠΌΠ°) * для прСдоставлСния Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ интСрфСйса. АвтоматичСски управляСт * ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ SDK, подпиской Π½Π° события ΠΈ очисткой рСсурсов. * * @param publicId - ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ΅Ρ€Ρ‡Π°Π½Ρ‚Π° CloudPayments * @param options - ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки Ρ…ΡƒΠΊΠ° * @returns ΠšΠΎΡ€Ρ‚Π΅ΠΆ [функция запуска ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ°, состояниС Ρ…ΡƒΠΊΠ°] * * @example Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС * ```typescript * import { useCloudPayments } from '@lmapp/react-native-cloudpayments'; * * const PaymentScreen = () => { * const [presentPaymentForm, { isLoading, isError, error, transactionId }] = useCloudPayments( * 'pk_test_1234567890abcdef' * ); * * const handlePayment = async () => { * try { * const result = await presentPaymentForm({ * amount: '1000.00', * currency: 'RUB', * description: 'ΠŸΠΎΠΊΡƒΠΏΠΊΠ° Ρ‚ΠΎΠ²Π°Ρ€Π°', * email: 'user@example.com' * }); * * if (result.success) { * console.log('ΠŸΠ»Π°Ρ‚Π΅ΠΆ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½:', result.transactionId); * } * } catch (error) { * console.log('Ошибка:', error.message); * } * }; * * return ( * <View> * <Button * title="ΠžΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ" * onPress={handlePayment} * disabled={isLoading} * /> * {isLoading && <ActivityIndicator />} * {isError && <Text>Ошибка: {error?.message}</Text>} * {transactionId && <Text>ΠŸΠ»Π°Ρ‚Π΅ΠΆ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½! ID: {transactionId}</Text>} * </View> * ); * }; * ``` * * @example ИспользованиС с callback'Π°ΠΌΠΈ * ```typescript * const [presentPaymentForm, state] = useCloudPayments(publicId, { * onSuccess: (data) => { * console.log('ΠŸΠ»Π°Ρ‚Π΅ΠΆ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½:', data.transactionId); * navigation.navigate('Success', { transactionId: data.transactionId }); * }, * onError: (data) => { * console.log('Ошибка ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ°:', data.message); * Alert.alert('Ошибка ΠΎΠΏΠ»Π°Ρ‚Ρ‹', data.message); * }, * onProgress: (data) => { * console.log('ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡ:', data.stage); * } * }); * ``` * * @example Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ конфигурация * ```typescript * const [presentPaymentForm, state] = useCloudPayments(publicId, { * enabledEvents: [ * EPaymentFormEventName.PAYMENT_SUCCESS, * EPaymentFormEventName.PAYMENT_FAILED, * EPaymentFormEventName.PAYMENT_PROGRESS * ], * autoInitialize: true, * onSuccess: (data) => { * Analytics.track('payment_success', { * transactionId: data.transactionId, * amount: paymentData.amount * }); * } * }); * ``` * * @since 1.0.0 */ export declare const useCloudPayments: (publicId: string, options?: IUseCloudPaymentsOptions) => TUseCloudPaymentsReturn; //# sourceMappingURL=useCloudPayments.d.ts.map