@abdelrahman.rabie/payment-sdk-react-native
Version:
React Native SDK for payment processing with E_API and E_LINKS support
37 lines (36 loc) • 1.06 kB
JavaScript
import { useState, useCallback } from 'react';
export const useApplePay = ({ sdk }) => {
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
const [applePaySession, setApplePaySession] = useState(null);
const clearError = useCallback(() => {
setError(null);
}, []);
const reset = useCallback(() => {
setLoading(false);
setError(null);
setApplePaySession(null);
}, []);
const validateMerchant = useCallback(async (validationURL) => {
try {
setLoading(true);
setError(null);
const session = await sdk.validateApplePayMerchant(validationURL);
setApplePaySession(session);
}
catch (err) {
setError(err.message || 'Apple Pay merchant validation failed');
}
finally {
setLoading(false);
}
}, [sdk]);
return {
loading,
error,
applePaySession,
validateMerchant,
clearError,
reset,
};
};