react-native-toss-payments
Version:
리액트 네이티브용 토스페이먼츠 결제 연동 라이브러리
46 lines (38 loc) • 1.26 kB
JavaScript
import React, { useCallback } from 'react';
import Payment from '../Payment';
const PaymentContainer = _ref => {
let {
clientKey,
payment,
onLoading,
onApproveError,
onApproveFailed,
onApproveSucceed
} = _ref;
const onWebViewMessageReceived = useCallback(async e => {
const tossPaymentMessageFromWeb = JSON.parse(e.nativeEvent.data); // 웹뷰로 부터 성공 및 실패 둘중 아무것도 받지못했을떄.
if (!tossPaymentMessageFromWeb.type) {
onApproveError();
return;
} // 결제 실패했을경우
if (tossPaymentMessageFromWeb.type === 'fail') {
onApproveFailed(tossPaymentMessageFromWeb.data);
return;
} // 결제 승인되었을경우
onApproveSucceed(tossPaymentMessageFromWeb.data);
}, [onApproveSucceed, onApproveError, onApproveFailed]);
const detectIsLoading = useCallback(isLoading => {
if (!onLoading) {
return;
}
onLoading(isLoading);
}, [onLoading]);
return /*#__PURE__*/React.createElement(Payment, {
clientKey: clientKey,
payment: payment,
onWebViewMessageReceived: onWebViewMessageReceived,
detectIsLoading: detectIsLoading
});
};
export default PaymentContainer;
//# sourceMappingURL=PaymentContainer.js.map