@lmapp/react-native-cloudpayments
Version:
π ΠΠΎΡΠ½ΡΠΉ SDK Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ CloudPayments Π² React Native. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Apple Pay, Google Pay, Π‘ΠΠ, Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΡ ΠΊΠ°ΡΡ. ΠΠΎΠ»Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ TypeScript. iOS 12+ ΠΈ Android 21+
98 lines β’ 3.62 kB
TypeScript
/**
* @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