@cashfreepayments/react-native-cashfree-cn-sdk 1.0.0-dev.0 → 1.0.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ D936F180A7646C7FEDDA354C045A40DA8990A844CD5903B213B703A3A1D521B6
@@ -10,13 +10,11 @@ var _cashfreePgApiContract = require("cashfree-pg-api-contract");
10
10
  var _index = require("../index");
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
13
  function luhnCheck(cardNumber) {
15
14
  if (cardNumber.length === 0) {
16
15
  return false;
17
16
  }
18
17
  cardNumber = cardNumber.replace(/\s/g, ''); // Remove spaces
19
-
20
18
  let sum = 0;
21
19
  let isAlternate = false;
22
20
  for (let i = cardNumber.length - 1; i >= 0; i--) {
@@ -60,7 +58,6 @@ function getInputValidationDetails(cardBinResponse) {
60
58
  }
61
59
  return inputValidationDetails;
62
60
  }
63
-
64
61
  /**
65
62
  * Fetching Tdr info with card bin data & cfSession object
66
63
  * @param session : for payment sessionId & env
@@ -74,7 +71,6 @@ async function getTDR(session, bin) {
74
71
  });
75
72
  return await getInfo(session.environment, route, body);
76
73
  }
77
-
78
74
  /**
79
75
  * Fetching CardBin info with card bin data & cfSession object
80
76
  * @param session : for payment sessionId & env
@@ -147,7 +143,6 @@ const CardInput = /*#__PURE__*/(0, _react.forwardRef)(({
147
143
  }
148
144
  let tdrResponse = null;
149
145
  let cardBinResponse = null;
150
-
151
146
  /**
152
147
  * Fetch Tdr & CardBin data & set to local variable
153
148
  */
@@ -212,7 +207,8 @@ const CardInput = /*#__PURE__*/(0, _react.forwardRef)(({
212
207
  let cfCardNumber = inputNumberRef.current;
213
208
  cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');
214
209
  const cardPayment = new _cashfreePgApiContract.CFCardPayment(sessionRef.current, cardInfo);
215
- _index.CFPaymentGatewayService.makePayment(cardPayment, "https://65da-163-116-214-55.ngrok-free.app");
210
+ // Add the baseUrl of the hosted CloudNative here.
211
+ _index.CFPaymentGatewayService.makePayment(cardPayment, " ");
216
212
  } catch (e) {
217
213
  console.log(e.message);
218
214
  }
@@ -271,7 +267,7 @@ const CardInput = /*#__PURE__*/(0, _react.forwardRef)(({
271
267
  onBlur,
272
268
  ...otherProps
273
269
  } = props;
274
- return /*#__PURE__*/_react.default.createElement(InputComponent, _extends({
270
+ return /*#__PURE__*/_react.default.createElement(InputComponent, {
275
271
  keyboardType: "numeric",
276
272
  inputMode: 'numeric',
277
273
  value: inputNumber,
@@ -280,8 +276,9 @@ const CardInput = /*#__PURE__*/(0, _react.forwardRef)(({
280
276
  onEndEditing: handleEndEditingEvent,
281
277
  onFocus: handleFocusEvent,
282
278
  onBlur: handleBlurEvent,
283
- style: style
284
- }, otherProps));
279
+ style: style,
280
+ ...otherProps
281
+ });
285
282
  });
286
283
  var _default = exports.default = CardInput;
287
284
  //# sourceMappingURL=CFCardComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_cashfreePgApiContract","_index","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","luhnCheck","cardNumber","replace","sum","isAlternate","digit","parseInt","getInputValidationDetails","cardBinResponse","scheme","schemeType","toLowerCase","inputValidationDetails","max_input_length","cvv_length","getTDR","session","bin","route","payment_session_id","body","JSON","stringify","code","code_type","getInfo","environment","getCardBin","card_number","env","bodyData","baseUrl","CFEnvironment","SANDBOX","url","response","fetch","method","headers","ok","json","error","CardInput","forwardRef","cfSession","cardListener","style","props","ref","inputNumber","setInputNumber","React","useState","inputNumberRef","useRef","sessionRef","useImperativeHandle","doPayment","doPaymentWithPaymentSessionId","tdrJsonRef","cardBinJsonRef","firstEightDigitsRef","handleChange","useCallback","completeResponse","textWithoutSpaces","replaceAll","formattedText","end","substring","current","prev","tdrResponse","fetchDataAndSet","then","catch","tdr_info","card_bin_info","input_validation","card_network","luhnStatus","luhn_check_info","last_four_digit","card_length","cardInfo","cfCardNumber","cardPayment","CFCardPayment","CFPaymentGatewayService","makePayment","console","log","message","handleSubmitEditingEvent","event","newEvent","nativeEvent","text","onSubmitEditing","handleEndEditingEvent","onEndEditing","handleFocusEvent","onFocus","handleBlurEvent","onBlur","InputComponent","TextInput","onChangeText","onChange","otherProps","createElement","keyboardType","inputMode","value","_default","exports"],"sources":["CFCardComponent.tsx"],"sourcesContent":["import { TextInput, TextInputProps } from 'react-native';\nimport React, { forwardRef } from 'react';\nimport {\n CFCardPayment,\n CFEnvironment,\n type CFSession,\n ElementCard,\n} from 'cashfree-pg-api-contract';\nimport { CFPaymentGatewayService } from '../index';\n\nfunction luhnCheck(cardNumber: string): boolean {\n if (cardNumber.length === 0) {\n return false;\n }\n\n cardNumber = cardNumber.replace(/\\s/g, ''); // Remove spaces\n\n let sum = 0;\n let isAlternate = false;\n\n for (let i = cardNumber.length - 1; i >= 0; i--) {\n let digit = parseInt(cardNumber[i], 10);\n\n if (isAlternate) {\n digit *= 2;\n if (digit > 9) {\n digit -= 9;\n }\n }\n\n sum += digit;\n isAlternate = !isAlternate;\n }\n\n return sum % 10 === 0;\n}\n\nfunction getInputValidationDetails(cardBinResponse: any) {\n if (!cardBinResponse || !cardBinResponse.scheme) {\n return null;\n }\n\n let schemeType = cardBinResponse.scheme.toLowerCase();\n let inputValidationDetails: { max_input_length: number; cvv_length: number };\n switch (schemeType) {\n case 'amex':\n inputValidationDetails = { max_input_length: 15, cvv_length: 4 };\n break;\n case 'diners':\n inputValidationDetails = { max_input_length: 14, cvv_length: 3 };\n break;\n default: // Covers visa, mastercard, rupay, jcb, discover, and unknown schemes\n inputValidationDetails = { max_input_length: 16, cvv_length: 3 };\n }\n return inputValidationDetails;\n}\n\n/**\n * Fetching Tdr info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getTDR(session: CFSession, bin: string) {\n const route: string = `/pg/sdk/js/${session.payment_session_id}/v2/tdr`;\n const body: string = JSON.stringify({ code: bin, code_type: 'bin' });\n return await getInfo(session.environment, route, body);\n}\n\n/**\n * Fetching CardBin info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getCardBin(session: CFSession, bin: string) {\n const route: string = `/pg/sdk/js/${session.payment_session_id}/cardBin`;\n const body: string = JSON.stringify({ card_number: bin });\n return await getInfo(session.environment, route, body);\n}\n\nasync function getInfo(env: string, route: string, bodyData: string) {\n let baseUrl = 'https://api.cashfree.com';\n if (env === CFEnvironment.SANDBOX) {\n baseUrl = 'https://sandbox.cashfree.com';\n }\n const url = baseUrl + route;\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: bodyData,\n });\n\n if (!response.ok) {\n return null;\n }\n return await response.json();\n } catch (error) {\n return null;\n }\n}\n\nexport type CardPaymentHandle = {\n doPayment: (cardInfo: ElementCard) => void;\n doPaymentWithPaymentSessionId: (\n cardInfo: ElementCard,\n cfSession: CFSession\n ) => void;\n};\n\nexport type CardInputProps = {\n cfSession: CFSession;\n cardListener: (response: string) => void;\n} & TextInputProps;\n\nconst CardInput: any = forwardRef<CardPaymentHandle, CardInputProps>(\n ({ cfSession, cardListener, style, ...props }: CardInputProps, ref) => {\n const [inputNumber, setInputNumber] = React.useState('');\n const inputNumberRef = React.useRef('');\n const sessionRef = React.useRef(cfSession);\n React.useImperativeHandle(ref, () => ({\n doPayment,\n doPaymentWithPaymentSessionId,\n }));\n\n const tdrJsonRef = React.useRef<any>(null);\n const cardBinJsonRef = React.useRef<any>(null);\n const firstEightDigitsRef = React.useRef<string>('');\n\n const handleChange = React.useCallback(\n async (cardNumber: string) => {\n let completeResponse: any = {};\n const textWithoutSpaces: string = cardNumber.replaceAll(' ', '');\n if (textWithoutSpaces.length === 0) setInputNumber('');\n\n let formattedText: string = '';\n /**\n * Code to format card input number & set to input box\n */\n for (let i: number = 0; i < textWithoutSpaces.length; i += 4) {\n let end: number = i + 4;\n if (end > textWithoutSpaces.length) {\n end = textWithoutSpaces.length;\n }\n formattedText += textWithoutSpaces.substring(i, end);\n if (end !== textWithoutSpaces.length) {\n formattedText += ' ';\n }\n inputNumberRef.current = formattedText;\n setInputNumber((prev) =>\n prev === formattedText ? prev : formattedText\n );\n }\n\n let tdrResponse: any = null;\n let cardBinResponse: any = null;\n\n /**\n * Fetch Tdr & CardBin data & set to local variable\n */\n async function fetchDataAndSet() {\n await getTDR(cfSession, textWithoutSpaces)\n .then((response: string) => {\n tdrResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n tdrResponse = null;\n });\n\n await getCardBin(cfSession, textWithoutSpaces)\n .then((response: string) => {\n cardBinResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n cardBinResponse = null;\n });\n\n if (tdrResponse) {\n tdrJsonRef.current = tdrResponse;\n completeResponse.tdr_info = tdrJsonRef.current;\n }\n\n if (cardBinResponse) {\n cardBinJsonRef.current = cardBinResponse;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(\n cardBinJsonRef.current\n );\n }\n }\n\n if (textWithoutSpaces.length === 8) {\n await fetchDataAndSet();\n } else if (textWithoutSpaces.length > 8) {\n if (\n firstEightDigitsRef.current === textWithoutSpaces.substring(0, 8)\n ) {\n completeResponse.tdr_info = tdrJsonRef.current;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(\n cardBinJsonRef.current\n );\n } else {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n await fetchDataAndSet();\n }\n }\n\n if (textWithoutSpaces.length < 8) {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n firstEightDigitsRef.current = '';\n }\n\n if (cardBinJsonRef.current !== null) {\n completeResponse.card_network = cardBinJsonRef.current.scheme;\n }\n let luhnStatus = luhnCheck(textWithoutSpaces);\n if (luhnStatus) {\n completeResponse.luhn_check_info = 'SUCCESS';\n if (textWithoutSpaces && textWithoutSpaces.length > 4) {\n completeResponse.last_four_digit = textWithoutSpaces.substring(\n textWithoutSpaces.length - 4\n );\n }\n } else {\n completeResponse.luhn_check_info = 'FAIL';\n }\n completeResponse.card_length = textWithoutSpaces.length;\n\n return cardListener(JSON.stringify(completeResponse));\n },\n [cfSession, cardListener]\n );\n\n const doPayment = (cardInfo: ElementCard) => {\n try {\n let cfCardNumber = inputNumberRef.current;\n cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');\n const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);\n CFPaymentGatewayService.makePayment(cardPayment,\"https://65da-163-116-214-55.ngrok-free.app\");\n } catch (e: any) {\n console.log(e.message);\n }\n };\n\n const doPaymentWithPaymentSessionId = (\n cardInfo: ElementCard,\n session: CFSession\n ) => {\n try {\n sessionRef.current = session;\n doPayment(cardInfo);\n } catch (e: any) {\n console.log(e.message);\n }\n };\n\n const handleSubmitEditingEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onSubmitEditing) {\n onSubmitEditing(newEvent);\n }\n };\n\n const handleEndEditingEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onEndEditing) {\n onEndEditing(newEvent);\n }\n };\n\n const handleFocusEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onFocus) {\n onFocus(newEvent);\n }\n };\n\n const handleBlurEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onBlur) {\n onBlur(newEvent);\n }\n };\n\n const InputComponent: any = TextInput;\n const {\n onChangeText,\n onChange,\n onSubmitEditing,\n onEndEditing,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n\n return (\n <InputComponent\n keyboardType=\"numeric\"\n inputMode={'numeric'}\n value={inputNumber}\n onChangeText={handleChange}\n onSubmitEditing={handleSubmitEditingEvent}\n onEndEditing={handleEndEditingEvent}\n onFocus={handleFocusEvent}\n onBlur={handleBlurEvent}\n style={style}\n {...otherProps}\n />\n );\n }\n);\n\nexport default CardInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_cashfreePgApiContract","_index","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","luhnCheck","cardNumber","length","replace","sum","isAlternate","digit","parseInt","getInputValidationDetails","cardBinResponse","scheme","schemeType","toLowerCase","inputValidationDetails","max_input_length","cvv_length","getTDR","session","bin","route","payment_session_id","body","JSON","stringify","code","code_type","getInfo","environment","getCardBin","card_number","env","bodyData","baseUrl","CFEnvironment","SANDBOX","url","response","fetch","method","headers","ok","json","error","CardInput","forwardRef","cfSession","cardListener","style","props","ref","inputNumber","setInputNumber","React","useState","inputNumberRef","useRef","sessionRef","useImperativeHandle","doPayment","doPaymentWithPaymentSessionId","tdrJsonRef","cardBinJsonRef","firstEightDigitsRef","handleChange","useCallback","completeResponse","textWithoutSpaces","replaceAll","formattedText","end","substring","current","prev","tdrResponse","fetchDataAndSet","then","catch","tdr_info","card_bin_info","input_validation","card_network","luhnStatus","luhn_check_info","last_four_digit","card_length","cardInfo","cfCardNumber","cardPayment","CFCardPayment","CFPaymentGatewayService","makePayment","console","log","message","handleSubmitEditingEvent","event","newEvent","nativeEvent","text","onSubmitEditing","handleEndEditingEvent","onEndEditing","handleFocusEvent","onFocus","handleBlurEvent","onBlur","InputComponent","TextInput","onChangeText","onChange","otherProps","createElement","keyboardType","inputMode","value","_default","exports"],"sources":["CFCardComponent.js"],"sourcesContent":["import { TextInput } from 'react-native';\nimport React, { forwardRef } from 'react';\nimport { CFCardPayment, CFEnvironment, } from 'cashfree-pg-api-contract';\nimport { CFPaymentGatewayService } from '../index';\nfunction luhnCheck(cardNumber) {\n if (cardNumber.length === 0) {\n return false;\n }\n cardNumber = cardNumber.replace(/\\s/g, ''); // Remove spaces\n let sum = 0;\n let isAlternate = false;\n for (let i = cardNumber.length - 1; i >= 0; i--) {\n let digit = parseInt(cardNumber[i], 10);\n if (isAlternate) {\n digit *= 2;\n if (digit > 9) {\n digit -= 9;\n }\n }\n sum += digit;\n isAlternate = !isAlternate;\n }\n return sum % 10 === 0;\n}\nfunction getInputValidationDetails(cardBinResponse) {\n if (!cardBinResponse || !cardBinResponse.scheme) {\n return null;\n }\n let schemeType = cardBinResponse.scheme.toLowerCase();\n let inputValidationDetails;\n switch (schemeType) {\n case 'amex':\n inputValidationDetails = { max_input_length: 15, cvv_length: 4 };\n break;\n case 'diners':\n inputValidationDetails = { max_input_length: 14, cvv_length: 3 };\n break;\n default: // Covers visa, mastercard, rupay, jcb, discover, and unknown schemes\n inputValidationDetails = { max_input_length: 16, cvv_length: 3 };\n }\n return inputValidationDetails;\n}\n/**\n * Fetching Tdr info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getTDR(session, bin) {\n const route = `/pg/sdk/js/${session.payment_session_id}/v2/tdr`;\n const body = JSON.stringify({ code: bin, code_type: 'bin' });\n return await getInfo(session.environment, route, body);\n}\n/**\n * Fetching CardBin info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getCardBin(session, bin) {\n const route = `/pg/sdk/js/${session.payment_session_id}/cardBin`;\n const body = JSON.stringify({ card_number: bin });\n return await getInfo(session.environment, route, body);\n}\nasync function getInfo(env, route, bodyData) {\n let baseUrl = 'https://api.cashfree.com';\n if (env === CFEnvironment.SANDBOX) {\n baseUrl = 'https://sandbox.cashfree.com';\n }\n const url = baseUrl + route;\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: bodyData,\n });\n if (!response.ok) {\n return null;\n }\n return await response.json();\n }\n catch (error) {\n return null;\n }\n}\nconst CardInput = forwardRef(({ cfSession, cardListener, style, ...props }, ref) => {\n const [inputNumber, setInputNumber] = React.useState('');\n const inputNumberRef = React.useRef('');\n const sessionRef = React.useRef(cfSession);\n React.useImperativeHandle(ref, () => ({\n doPayment,\n doPaymentWithPaymentSessionId,\n }));\n const tdrJsonRef = React.useRef(null);\n const cardBinJsonRef = React.useRef(null);\n const firstEightDigitsRef = React.useRef('');\n const handleChange = React.useCallback(async (cardNumber) => {\n let completeResponse = {};\n const textWithoutSpaces = cardNumber.replaceAll(' ', '');\n if (textWithoutSpaces.length === 0)\n setInputNumber('');\n let formattedText = '';\n /**\n * Code to format card input number & set to input box\n */\n for (let i = 0; i < textWithoutSpaces.length; i += 4) {\n let end = i + 4;\n if (end > textWithoutSpaces.length) {\n end = textWithoutSpaces.length;\n }\n formattedText += textWithoutSpaces.substring(i, end);\n if (end !== textWithoutSpaces.length) {\n formattedText += ' ';\n }\n inputNumberRef.current = formattedText;\n setInputNumber((prev) => prev === formattedText ? prev : formattedText);\n }\n let tdrResponse = null;\n let cardBinResponse = null;\n /**\n * Fetch Tdr & CardBin data & set to local variable\n */\n async function fetchDataAndSet() {\n await getTDR(cfSession, textWithoutSpaces)\n .then((response) => {\n tdrResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n tdrResponse = null;\n });\n await getCardBin(cfSession, textWithoutSpaces)\n .then((response) => {\n cardBinResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n cardBinResponse = null;\n });\n if (tdrResponse) {\n tdrJsonRef.current = tdrResponse;\n completeResponse.tdr_info = tdrJsonRef.current;\n }\n if (cardBinResponse) {\n cardBinJsonRef.current = cardBinResponse;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(cardBinJsonRef.current);\n }\n }\n if (textWithoutSpaces.length === 8) {\n await fetchDataAndSet();\n }\n else if (textWithoutSpaces.length > 8) {\n if (firstEightDigitsRef.current === textWithoutSpaces.substring(0, 8)) {\n completeResponse.tdr_info = tdrJsonRef.current;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(cardBinJsonRef.current);\n }\n else {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n await fetchDataAndSet();\n }\n }\n if (textWithoutSpaces.length < 8) {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n firstEightDigitsRef.current = '';\n }\n if (cardBinJsonRef.current !== null) {\n completeResponse.card_network = cardBinJsonRef.current.scheme;\n }\n let luhnStatus = luhnCheck(textWithoutSpaces);\n if (luhnStatus) {\n completeResponse.luhn_check_info = 'SUCCESS';\n if (textWithoutSpaces && textWithoutSpaces.length > 4) {\n completeResponse.last_four_digit = textWithoutSpaces.substring(textWithoutSpaces.length - 4);\n }\n }\n else {\n completeResponse.luhn_check_info = 'FAIL';\n }\n completeResponse.card_length = textWithoutSpaces.length;\n return cardListener(JSON.stringify(completeResponse));\n }, [cfSession, cardListener]);\n const doPayment = (cardInfo) => {\n try {\n let cfCardNumber = inputNumberRef.current;\n cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');\n const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);\n // Add the baseUrl of the hosted CloudNative here.\n CFPaymentGatewayService.makePayment(cardPayment, \" \");\n }\n catch (e) {\n console.log(e.message);\n }\n };\n const doPaymentWithPaymentSessionId = (cardInfo, session) => {\n try {\n sessionRef.current = session;\n doPayment(cardInfo);\n }\n catch (e) {\n console.log(e.message);\n }\n };\n const handleSubmitEditingEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onSubmitEditing) {\n onSubmitEditing(newEvent);\n }\n };\n const handleEndEditingEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onEndEditing) {\n onEndEditing(newEvent);\n }\n };\n const handleFocusEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onFocus) {\n onFocus(newEvent);\n }\n };\n const handleBlurEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onBlur) {\n onBlur(newEvent);\n }\n };\n const InputComponent = TextInput;\n const { onChangeText, onChange, onSubmitEditing, onEndEditing, onFocus, onBlur, ...otherProps } = props;\n return (React.createElement(InputComponent, { keyboardType: \"numeric\", inputMode: 'numeric', value: inputNumber, onChangeText: handleChange, onSubmitEditing: handleSubmitEditingEvent, onEndEditing: handleEndEditingEvent, onFocus: handleFocusEvent, onBlur: handleBlurEvent, style: style, ...otherProps }));\n});\nexport default CardInput;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
1
  import { TextInput } from 'react-native';
3
2
  import React, { forwardRef } from 'react';
4
3
  import { CFCardPayment, CFEnvironment } from 'cashfree-pg-api-contract';
@@ -8,7 +7,6 @@ function luhnCheck(cardNumber) {
8
7
  return false;
9
8
  }
10
9
  cardNumber = cardNumber.replace(/\s/g, ''); // Remove spaces
11
-
12
10
  let sum = 0;
13
11
  let isAlternate = false;
14
12
  for (let i = cardNumber.length - 1; i >= 0; i--) {
@@ -52,7 +50,6 @@ function getInputValidationDetails(cardBinResponse) {
52
50
  }
53
51
  return inputValidationDetails;
54
52
  }
55
-
56
53
  /**
57
54
  * Fetching Tdr info with card bin data & cfSession object
58
55
  * @param session : for payment sessionId & env
@@ -66,7 +63,6 @@ async function getTDR(session, bin) {
66
63
  });
67
64
  return await getInfo(session.environment, route, body);
68
65
  }
69
-
70
66
  /**
71
67
  * Fetching CardBin info with card bin data & cfSession object
72
68
  * @param session : for payment sessionId & env
@@ -139,7 +135,6 @@ const CardInput = /*#__PURE__*/forwardRef(({
139
135
  }
140
136
  let tdrResponse = null;
141
137
  let cardBinResponse = null;
142
-
143
138
  /**
144
139
  * Fetch Tdr & CardBin data & set to local variable
145
140
  */
@@ -204,7 +199,8 @@ const CardInput = /*#__PURE__*/forwardRef(({
204
199
  let cfCardNumber = inputNumberRef.current;
205
200
  cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');
206
201
  const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);
207
- CFPaymentGatewayService.makePayment(cardPayment, "https://65da-163-116-214-55.ngrok-free.app");
202
+ // Add the baseUrl of the hosted CloudNative here.
203
+ CFPaymentGatewayService.makePayment(cardPayment, " ");
208
204
  } catch (e) {
209
205
  console.log(e.message);
210
206
  }
@@ -263,11 +259,21 @@ const CardInput = /*#__PURE__*/forwardRef(({
263
259
  onBlur,
264
260
  ...otherProps
265
261
  } = props;
266
- return /*#__PURE__*/React.createElement(InputComponent, _extends({
262
+ return /*#__PURE__*/React.createElement(InputComponent, {
267
263
  keyboardType: "numeric",
268
264
  inputMode: 'numeric',
269
265
  value: inputNumber,
270
266
  onChangeText: handleChange,
267
+ onSubmitEditing: handleSubmitEditingEvent,
268
+ onEndEditing: handleEndEditingEvent,
269
+ onFocus: handleFocusEvent,
270
+ onBlur: handleBlurEvent,
271
+ style: style,
272
+ ...otherProps
273
+ });
274
+ });
275
+ export default CardInput;
276
+ //# sourceMappingURL=CFCardComponent.js.mapnChangeText: handleChange,
271
277
  onSubmitEditing: handleSubmitEditingEvent,
272
278
  onEndEditing: handleEndEditingEvent,
273
279
  onFocus: handleFocusEvent,
@@ -1 +1 @@
1
- {"version":3,"names":["TextInput","React","forwardRef","CFCardPayment","CFEnvironment","CFPaymentGatewayService","luhnCheck","cardNumber","length","replace","sum","isAlternate","i","digit","parseInt","getInputValidationDetails","cardBinResponse","scheme","schemeType","toLowerCase","inputValidationDetails","max_input_length","cvv_length","getTDR","session","bin","route","payment_session_id","body","JSON","stringify","code","code_type","getInfo","environment","getCardBin","card_number","env","bodyData","baseUrl","SANDBOX","url","response","fetch","method","headers","ok","json","error","CardInput","cfSession","cardListener","style","props","ref","inputNumber","setInputNumber","useState","inputNumberRef","useRef","sessionRef","useImperativeHandle","doPayment","doPaymentWithPaymentSessionId","tdrJsonRef","cardBinJsonRef","firstEightDigitsRef","handleChange","useCallback","completeResponse","textWithoutSpaces","replaceAll","formattedText","end","substring","current","prev","tdrResponse","fetchDataAndSet","then","catch","tdr_info","card_bin_info","input_validation","card_network","luhnStatus","luhn_check_info","last_four_digit","card_length","cardInfo","cfCardNumber","cardPayment","makePayment","e","console","log","message","handleSubmitEditingEvent","event","newEvent","nativeEvent","text","onSubmitEditing","handleEndEditingEvent","onEndEditing","handleFocusEvent","onFocus","handleBlurEvent","onBlur","InputComponent","onChangeText","onChange","otherProps","createElement","_extends","keyboardType","inputMode","value"],"sources":["CFCardComponent.tsx"],"sourcesContent":["import { TextInput, TextInputProps } from 'react-native';\nimport React, { forwardRef } from 'react';\nimport {\n CFCardPayment,\n CFEnvironment,\n type CFSession,\n ElementCard,\n} from 'cashfree-pg-api-contract';\nimport { CFPaymentGatewayService } from '../index';\n\nfunction luhnCheck(cardNumber: string): boolean {\n if (cardNumber.length === 0) {\n return false;\n }\n\n cardNumber = cardNumber.replace(/\\s/g, ''); // Remove spaces\n\n let sum = 0;\n let isAlternate = false;\n\n for (let i = cardNumber.length - 1; i >= 0; i--) {\n let digit = parseInt(cardNumber[i], 10);\n\n if (isAlternate) {\n digit *= 2;\n if (digit > 9) {\n digit -= 9;\n }\n }\n\n sum += digit;\n isAlternate = !isAlternate;\n }\n\n return sum % 10 === 0;\n}\n\nfunction getInputValidationDetails(cardBinResponse: any) {\n if (!cardBinResponse || !cardBinResponse.scheme) {\n return null;\n }\n\n let schemeType = cardBinResponse.scheme.toLowerCase();\n let inputValidationDetails: { max_input_length: number; cvv_length: number };\n switch (schemeType) {\n case 'amex':\n inputValidationDetails = { max_input_length: 15, cvv_length: 4 };\n break;\n case 'diners':\n inputValidationDetails = { max_input_length: 14, cvv_length: 3 };\n break;\n default: // Covers visa, mastercard, rupay, jcb, discover, and unknown schemes\n inputValidationDetails = { max_input_length: 16, cvv_length: 3 };\n }\n return inputValidationDetails;\n}\n\n/**\n * Fetching Tdr info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getTDR(session: CFSession, bin: string) {\n const route: string = `/pg/sdk/js/${session.payment_session_id}/v2/tdr`;\n const body: string = JSON.stringify({ code: bin, code_type: 'bin' });\n return await getInfo(session.environment, route, body);\n}\n\n/**\n * Fetching CardBin info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getCardBin(session: CFSession, bin: string) {\n const route: string = `/pg/sdk/js/${session.payment_session_id}/cardBin`;\n const body: string = JSON.stringify({ card_number: bin });\n return await getInfo(session.environment, route, body);\n}\n\nasync function getInfo(env: string, route: string, bodyData: string) {\n let baseUrl = 'https://api.cashfree.com';\n if (env === CFEnvironment.SANDBOX) {\n baseUrl = 'https://sandbox.cashfree.com';\n }\n const url = baseUrl + route;\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: bodyData,\n });\n\n if (!response.ok) {\n return null;\n }\n return await response.json();\n } catch (error) {\n return null;\n }\n}\n\nexport type CardPaymentHandle = {\n doPayment: (cardInfo: ElementCard) => void;\n doPaymentWithPaymentSessionId: (\n cardInfo: ElementCard,\n cfSession: CFSession\n ) => void;\n};\n\nexport type CardInputProps = {\n cfSession: CFSession;\n cardListener: (response: string) => void;\n} & TextInputProps;\n\nconst CardInput: any = forwardRef<CardPaymentHandle, CardInputProps>(\n ({ cfSession, cardListener, style, ...props }: CardInputProps, ref) => {\n const [inputNumber, setInputNumber] = React.useState('');\n const inputNumberRef = React.useRef('');\n const sessionRef = React.useRef(cfSession);\n React.useImperativeHandle(ref, () => ({\n doPayment,\n doPaymentWithPaymentSessionId,\n }));\n\n const tdrJsonRef = React.useRef<any>(null);\n const cardBinJsonRef = React.useRef<any>(null);\n const firstEightDigitsRef = React.useRef<string>('');\n\n const handleChange = React.useCallback(\n async (cardNumber: string) => {\n let completeResponse: any = {};\n const textWithoutSpaces: string = cardNumber.replaceAll(' ', '');\n if (textWithoutSpaces.length === 0) setInputNumber('');\n\n let formattedText: string = '';\n /**\n * Code to format card input number & set to input box\n */\n for (let i: number = 0; i < textWithoutSpaces.length; i += 4) {\n let end: number = i + 4;\n if (end > textWithoutSpaces.length) {\n end = textWithoutSpaces.length;\n }\n formattedText += textWithoutSpaces.substring(i, end);\n if (end !== textWithoutSpaces.length) {\n formattedText += ' ';\n }\n inputNumberRef.current = formattedText;\n setInputNumber((prev) =>\n prev === formattedText ? prev : formattedText\n );\n }\n\n let tdrResponse: any = null;\n let cardBinResponse: any = null;\n\n /**\n * Fetch Tdr & CardBin data & set to local variable\n */\n async function fetchDataAndSet() {\n await getTDR(cfSession, textWithoutSpaces)\n .then((response: string) => {\n tdrResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n tdrResponse = null;\n });\n\n await getCardBin(cfSession, textWithoutSpaces)\n .then((response: string) => {\n cardBinResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n cardBinResponse = null;\n });\n\n if (tdrResponse) {\n tdrJsonRef.current = tdrResponse;\n completeResponse.tdr_info = tdrJsonRef.current;\n }\n\n if (cardBinResponse) {\n cardBinJsonRef.current = cardBinResponse;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(\n cardBinJsonRef.current\n );\n }\n }\n\n if (textWithoutSpaces.length === 8) {\n await fetchDataAndSet();\n } else if (textWithoutSpaces.length > 8) {\n if (\n firstEightDigitsRef.current === textWithoutSpaces.substring(0, 8)\n ) {\n completeResponse.tdr_info = tdrJsonRef.current;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(\n cardBinJsonRef.current\n );\n } else {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n await fetchDataAndSet();\n }\n }\n\n if (textWithoutSpaces.length < 8) {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n firstEightDigitsRef.current = '';\n }\n\n if (cardBinJsonRef.current !== null) {\n completeResponse.card_network = cardBinJsonRef.current.scheme;\n }\n let luhnStatus = luhnCheck(textWithoutSpaces);\n if (luhnStatus) {\n completeResponse.luhn_check_info = 'SUCCESS';\n if (textWithoutSpaces && textWithoutSpaces.length > 4) {\n completeResponse.last_four_digit = textWithoutSpaces.substring(\n textWithoutSpaces.length - 4\n );\n }\n } else {\n completeResponse.luhn_check_info = 'FAIL';\n }\n completeResponse.card_length = textWithoutSpaces.length;\n\n return cardListener(JSON.stringify(completeResponse));\n },\n [cfSession, cardListener]\n );\n\n const doPayment = (cardInfo: ElementCard) => {\n try {\n let cfCardNumber = inputNumberRef.current;\n cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');\n const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);\n CFPaymentGatewayService.makePayment(cardPayment,\"https://65da-163-116-214-55.ngrok-free.app\");\n } catch (e: any) {\n console.log(e.message);\n }\n };\n\n const doPaymentWithPaymentSessionId = (\n cardInfo: ElementCard,\n session: CFSession\n ) => {\n try {\n sessionRef.current = session;\n doPayment(cardInfo);\n } catch (e: any) {\n console.log(e.message);\n }\n };\n\n const handleSubmitEditingEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onSubmitEditing) {\n onSubmitEditing(newEvent);\n }\n };\n\n const handleEndEditingEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onEndEditing) {\n onEndEditing(newEvent);\n }\n };\n\n const handleFocusEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onFocus) {\n onFocus(newEvent);\n }\n };\n\n const handleBlurEvent = (event: any) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onBlur) {\n onBlur(newEvent);\n }\n };\n\n const InputComponent: any = TextInput;\n const {\n onChangeText,\n onChange,\n onSubmitEditing,\n onEndEditing,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n\n return (\n <InputComponent\n keyboardType=\"numeric\"\n inputMode={'numeric'}\n value={inputNumber}\n onChangeText={handleChange}\n onSubmitEditing={handleSubmitEditingEvent}\n onEndEditing={handleEndEditingEvent}\n onFocus={handleFocusEvent}\n onBlur={handleBlurEvent}\n style={style}\n {...otherProps}\n />\n );\n }\n);\n\nexport default CardInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TextInput","React","forwardRef","CFCardPayment","CFEnvironment","CFPaymentGatewayService","luhnCheck","cardNumber","length","replace","sum","isAlternate","i","digit","parseInt","getInputValidationDetails","cardBinResponse","scheme","schemeType","toLowerCase","inputValidationDetails","max_input_length","cvv_length","getTDR","session","bin","route","payment_session_id","body","JSON","stringify","code","code_type","getInfo","environment","getCardBin","card_number","env","bodyData","baseUrl","SANDBOX","url","response","fetch","method","headers","ok","json","error","CardInput","cfSession","cardListener","style","props","ref","inputNumber","setInputNumber","useState","inputNumberRef","useRef","sessionRef","useImperativeHandle","doPayment","doPaymentWithPaymentSessionId","tdrJsonRef","cardBinJsonRef","firstEightDigitsRef","handleChange","useCallback","completeResponse","textWithoutSpaces","replaceAll","formattedText","end","substring","current","prev","tdrResponse","fetchDataAndSet","then","catch","tdr_info","card_bin_info","input_validation","card_network","luhnStatus","luhn_check_info","last_four_digit","card_length","cardInfo","cfCardNumber","cardPayment","makePayment","e","console","log","message","handleSubmitEditingEvent","event","newEvent","nativeEvent","text","onSubmitEditing","handleEndEditingEvent","onEndEditing","handleFocusEvent","onFocus","handleBlurEvent","onBlur","InputComponent","onChangeText","onChange","otherProps","createElement","keyboardType","inputMode","value"],"sources":["CFCardComponent.js"],"sourcesContent":["import { TextInput } from 'react-native';\nimport React, { forwardRef } from 'react';\nimport { CFCardPayment, CFEnvironment, } from 'cashfree-pg-api-contract';\nimport { CFPaymentGatewayService } from '../index';\nfunction luhnCheck(cardNumber) {\n if (cardNumber.length === 0) {\n return false;\n }\n cardNumber = cardNumber.replace(/\\s/g, ''); // Remove spaces\n let sum = 0;\n let isAlternate = false;\n for (let i = cardNumber.length - 1; i >= 0; i--) {\n let digit = parseInt(cardNumber[i], 10);\n if (isAlternate) {\n digit *= 2;\n if (digit > 9) {\n digit -= 9;\n }\n }\n sum += digit;\n isAlternate = !isAlternate;\n }\n return sum % 10 === 0;\n}\nfunction getInputValidationDetails(cardBinResponse) {\n if (!cardBinResponse || !cardBinResponse.scheme) {\n return null;\n }\n let schemeType = cardBinResponse.scheme.toLowerCase();\n let inputValidationDetails;\n switch (schemeType) {\n case 'amex':\n inputValidationDetails = { max_input_length: 15, cvv_length: 4 };\n break;\n case 'diners':\n inputValidationDetails = { max_input_length: 14, cvv_length: 3 };\n break;\n default: // Covers visa, mastercard, rupay, jcb, discover, and unknown schemes\n inputValidationDetails = { max_input_length: 16, cvv_length: 3 };\n }\n return inputValidationDetails;\n}\n/**\n * Fetching Tdr info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getTDR(session, bin) {\n const route = `/pg/sdk/js/${session.payment_session_id}/v2/tdr`;\n const body = JSON.stringify({ code: bin, code_type: 'bin' });\n return await getInfo(session.environment, route, body);\n}\n/**\n * Fetching CardBin info with card bin data & cfSession object\n * @param session : for payment sessionId & env\n * @param bin : for card number\n */\nasync function getCardBin(session, bin) {\n const route = `/pg/sdk/js/${session.payment_session_id}/cardBin`;\n const body = JSON.stringify({ card_number: bin });\n return await getInfo(session.environment, route, body);\n}\nasync function getInfo(env, route, bodyData) {\n let baseUrl = 'https://api.cashfree.com';\n if (env === CFEnvironment.SANDBOX) {\n baseUrl = 'https://sandbox.cashfree.com';\n }\n const url = baseUrl + route;\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: bodyData,\n });\n if (!response.ok) {\n return null;\n }\n return await response.json();\n }\n catch (error) {\n return null;\n }\n}\nconst CardInput = forwardRef(({ cfSession, cardListener, style, ...props }, ref) => {\n const [inputNumber, setInputNumber] = React.useState('');\n const inputNumberRef = React.useRef('');\n const sessionRef = React.useRef(cfSession);\n React.useImperativeHandle(ref, () => ({\n doPayment,\n doPaymentWithPaymentSessionId,\n }));\n const tdrJsonRef = React.useRef(null);\n const cardBinJsonRef = React.useRef(null);\n const firstEightDigitsRef = React.useRef('');\n const handleChange = React.useCallback(async (cardNumber) => {\n let completeResponse = {};\n const textWithoutSpaces = cardNumber.replaceAll(' ', '');\n if (textWithoutSpaces.length === 0)\n setInputNumber('');\n let formattedText = '';\n /**\n * Code to format card input number & set to input box\n */\n for (let i = 0; i < textWithoutSpaces.length; i += 4) {\n let end = i + 4;\n if (end > textWithoutSpaces.length) {\n end = textWithoutSpaces.length;\n }\n formattedText += textWithoutSpaces.substring(i, end);\n if (end !== textWithoutSpaces.length) {\n formattedText += ' ';\n }\n inputNumberRef.current = formattedText;\n setInputNumber((prev) => prev === formattedText ? prev : formattedText);\n }\n let tdrResponse = null;\n let cardBinResponse = null;\n /**\n * Fetch Tdr & CardBin data & set to local variable\n */\n async function fetchDataAndSet() {\n await getTDR(cfSession, textWithoutSpaces)\n .then((response) => {\n tdrResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n tdrResponse = null;\n });\n await getCardBin(cfSession, textWithoutSpaces)\n .then((response) => {\n cardBinResponse = response;\n firstEightDigitsRef.current = textWithoutSpaces.substring(0, 8);\n })\n .catch(() => {\n cardBinResponse = null;\n });\n if (tdrResponse) {\n tdrJsonRef.current = tdrResponse;\n completeResponse.tdr_info = tdrJsonRef.current;\n }\n if (cardBinResponse) {\n cardBinJsonRef.current = cardBinResponse;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(cardBinJsonRef.current);\n }\n }\n if (textWithoutSpaces.length === 8) {\n await fetchDataAndSet();\n }\n else if (textWithoutSpaces.length > 8) {\n if (firstEightDigitsRef.current === textWithoutSpaces.substring(0, 8)) {\n completeResponse.tdr_info = tdrJsonRef.current;\n completeResponse.card_bin_info = cardBinJsonRef.current;\n completeResponse.input_validation = getInputValidationDetails(cardBinJsonRef.current);\n }\n else {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n await fetchDataAndSet();\n }\n }\n if (textWithoutSpaces.length < 8) {\n tdrJsonRef.current = null;\n cardBinJsonRef.current = null;\n firstEightDigitsRef.current = '';\n }\n if (cardBinJsonRef.current !== null) {\n completeResponse.card_network = cardBinJsonRef.current.scheme;\n }\n let luhnStatus = luhnCheck(textWithoutSpaces);\n if (luhnStatus) {\n completeResponse.luhn_check_info = 'SUCCESS';\n if (textWithoutSpaces && textWithoutSpaces.length > 4) {\n completeResponse.last_four_digit = textWithoutSpaces.substring(textWithoutSpaces.length - 4);\n }\n }\n else {\n completeResponse.luhn_check_info = 'FAIL';\n }\n completeResponse.card_length = textWithoutSpaces.length;\n return cardListener(JSON.stringify(completeResponse));\n }, [cfSession, cardListener]);\n const doPayment = (cardInfo) => {\n try {\n let cfCardNumber = inputNumberRef.current;\n cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');\n const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);\n // Add the baseUrl of the hosted CloudNative here.\n CFPaymentGatewayService.makePayment(cardPayment, \" \");\n }\n catch (e) {\n console.log(e.message);\n }\n };\n const doPaymentWithPaymentSessionId = (cardInfo, session) => {\n try {\n sessionRef.current = session;\n doPayment(cardInfo);\n }\n catch (e) {\n console.log(e.message);\n }\n };\n const handleSubmitEditingEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onSubmitEditing) {\n onSubmitEditing(newEvent);\n }\n };\n const handleEndEditingEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onEndEditing) {\n onEndEditing(newEvent);\n }\n };\n const handleFocusEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onFocus) {\n onFocus(newEvent);\n }\n };\n const handleBlurEvent = (event) => {\n const newEvent = { ...event };\n delete newEvent.nativeEvent.text;\n if (onBlur) {\n onBlur(newEvent);\n }\n };\n const InputComponent = TextInput;\n const { onChangeText, onChange, onSubmitEditing, onEndEditing, onFocus, onBlur, ...otherProps } = props;\n return (React.createElement(InputComponent, { keyboardType: \"numeric\", inputMode: 'numeric', value: inputNumber, onChangeText: handleChange, onSubmitEditing: handleSubmitEditingEvent, onEndEditing: handleEndEditingEvent, onFocus: handleFocusEvent, onBlur: handleBlurEvent, style: style, ...otherProps }));\n});\nexport default CardInput;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,aAAa,EAAEC,aAAa,QAAS,0BAA0B;AACxE,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,SAASA,CAACC,UAAU,EAAE;EAC3B,IAAIA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO,KAAK;EAChB;EACAD,UAAU,GAAGA,UAAU,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;EAC5C,IAAIC,GAAG,GAAG,CAAC;EACX,IAAIC,WAAW,GAAG,KAAK;EACvB,KAAK,IAAIC,CAAC,GAAGL,UAAU,CAACC,MAAM,GAAG,CAAC,EAAEI,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC7C,IAAIC,KAAK,GAAGC,QAAQ,CAACP,UAAU,CAACK,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,IAAID,WAAW,EAAE;MACbE,KAAK,IAAI,CAAC;MACV,IAAIA,KAAK,GAAG,CAAC,EAAE;QACXA,KAAK,IAAI,CAAC;MACd;IACJ;IACAH,GAAG,IAAIG,KAAK;IACZF,WAAW,GAAG,CAACA,WAAW;EAC9B;EACA,OAAOD,GAAG,GAAG,EAAE,KAAK,CAAC;AACzB;AACA,SAASK,yBAAyBA,CAACC,eAAe,EAAE;EAChD,IAAI,CAACA,eAAe,IAAI,CAACA,eAAe,CAACC,MAAM,EAAE;IAC7C,OAAO,IAAI;EACf;EACA,IAAIC,UAAU,GAAGF,eAAe,CAACC,MAAM,CAACE,WAAW,CAAC,CAAC;EACrD,IAAIC,sBAAsB;EAC1B,QAAQF,UAAU;IACd,KAAK,MAAM;MACPE,sBAAsB,GAAG;QAAEC,gBAAgB,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAC;MAChE;IACJ,KAAK,QAAQ;MACTF,sBAAsB,GAAG;QAAEC,gBAAgB,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAC;MAChE;IACJ;MAAS;MACLF,sBAAsB,GAAG;QAAEC,gBAAgB,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAC;EACxE;EACA,OAAOF,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,eAAeG,MAAMA,CAACC,OAAO,EAAEC,GAAG,EAAE;EAChC,MAAMC,KAAK,GAAG,cAAcF,OAAO,CAACG,kBAAkB,SAAS;EAC/D,MAAMC,IAAI,GAAGC,IAAI,CAACC,SAAS,CAAC;IAAEC,IAAI,EAAEN,GAAG;IAAEO,SAAS,EAAE;EAAM,CAAC,CAAC;EAC5D,OAAO,MAAMC,OAAO,CAACT,OAAO,CAACU,WAAW,EAAER,KAAK,EAAEE,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,eAAeO,UAAUA,CAACX,OAAO,EAAEC,GAAG,EAAE;EACpC,MAAMC,KAAK,GAAG,cAAcF,OAAO,CAACG,kBAAkB,UAAU;EAChE,MAAMC,IAAI,GAAGC,IAAI,CAACC,SAAS,CAAC;IAAEM,WAAW,EAAEX;EAAI,CAAC,CAAC;EACjD,OAAO,MAAMQ,OAAO,CAACT,OAAO,CAACU,WAAW,EAAER,KAAK,EAAEE,IAAI,CAAC;AAC1D;AACA,eAAeK,OAAOA,CAACI,GAAG,EAAEX,KAAK,EAAEY,QAAQ,EAAE;EACzC,IAAIC,OAAO,GAAG,0BAA0B;EACxC,IAAIF,GAAG,KAAKjC,aAAa,CAACoC,OAAO,EAAE;IAC/BD,OAAO,GAAG,8BAA8B;EAC5C;EACA,MAAME,GAAG,GAAGF,OAAO,GAAGb,KAAK;EAC3B,IAAI;IACA,MAAMgB,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,EAAE;MAC9BG,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACL,cAAc,EAAE;MACpB,CAAC;MACDjB,IAAI,EAAEU;IACV,CAAC,CAAC;IACF,IAAI,CAACI,QAAQ,CAACI,EAAE,EAAE;MACd,OAAO,IAAI;IACf;IACA,OAAO,MAAMJ,QAAQ,CAACK,IAAI,CAAC,CAAC;EAChC,CAAC,CACD,OAAOC,KAAK,EAAE;IACV,OAAO,IAAI;EACf;AACJ;AACA,MAAMC,SAAS,gBAAG/C,UAAU,CAAC,CAAC;EAAEgD,SAAS;EAAEC,YAAY;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAChF,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGvD,KAAK,CAACwD,QAAQ,CAAC,EAAE,CAAC;EACxD,MAAMC,cAAc,GAAGzD,KAAK,CAAC0D,MAAM,CAAC,EAAE,CAAC;EACvC,MAAMC,UAAU,GAAG3D,KAAK,CAAC0D,MAAM,CAACT,SAAS,CAAC;EAC1CjD,KAAK,CAAC4D,mBAAmB,CAACP,GAAG,EAAE,OAAO;IAClCQ,SAAS;IACTC;EACJ,CAAC,CAAC,CAAC;EACH,MAAMC,UAAU,GAAG/D,KAAK,CAAC0D,MAAM,CAAC,IAAI,CAAC;EACrC,MAAMM,cAAc,GAAGhE,KAAK,CAAC0D,MAAM,CAAC,IAAI,CAAC;EACzC,MAAMO,mBAAmB,GAAGjE,KAAK,CAAC0D,MAAM,CAAC,EAAE,CAAC;EAC5C,MAAMQ,YAAY,GAAGlE,KAAK,CAACmE,WAAW,CAAC,MAAO7D,UAAU,IAAK;IACzD,IAAI8D,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAMC,iBAAiB,GAAG/D,UAAU,CAACgE,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;IACxD,IAAID,iBAAiB,CAAC9D,MAAM,KAAK,CAAC,EAC9BgD,cAAc,CAAC,EAAE,CAAC;IACtB,IAAIgB,aAAa,GAAG,EAAE;IACtB;AACR;AACA;IACQ,KAAK,IAAI5D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0D,iBAAiB,CAAC9D,MAAM,EAAEI,CAAC,IAAI,CAAC,EAAE;MAClD,IAAI6D,GAAG,GAAG7D,CAAC,GAAG,CAAC;MACf,IAAI6D,GAAG,GAAGH,iBAAiB,CAAC9D,MAAM,EAAE;QAChCiE,GAAG,GAAGH,iBAAiB,CAAC9D,MAAM;MAClC;MACAgE,aAAa,IAAIF,iBAAiB,CAACI,SAAS,CAAC9D,CAAC,EAAE6D,GAAG,CAAC;MACpD,IAAIA,GAAG,KAAKH,iBAAiB,CAAC9D,MAAM,EAAE;QAClCgE,aAAa,IAAI,GAAG;MACxB;MACAd,cAAc,CAACiB,OAAO,GAAGH,aAAa;MACtChB,cAAc,CAAEoB,IAAI,IAAKA,IAAI,KAAKJ,aAAa,GAAGI,IAAI,GAAGJ,aAAa,CAAC;IAC3E;IACA,IAAIK,WAAW,GAAG,IAAI;IACtB,IAAI7D,eAAe,GAAG,IAAI;IAC1B;AACR;AACA;IACQ,eAAe8D,eAAeA,CAAA,EAAG;MAC7B,MAAMvD,MAAM,CAAC2B,SAAS,EAAEoB,iBAAiB,CAAC,CACrCS,IAAI,CAAErC,QAAQ,IAAK;QACpBmC,WAAW,GAAGnC,QAAQ;QACtBwB,mBAAmB,CAACS,OAAO,GAAGL,iBAAiB,CAACI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;MACnE,CAAC,CAAC,CACGM,KAAK,CAAC,MAAM;QACbH,WAAW,GAAG,IAAI;MACtB,CAAC,CAAC;MACF,MAAM1C,UAAU,CAACe,SAAS,EAAEoB,iBAAiB,CAAC,CACzCS,IAAI,CAAErC,QAAQ,IAAK;QACpB1B,eAAe,GAAG0B,QAAQ;QAC1BwB,mBAAmB,CAACS,OAAO,GAAGL,iBAAiB,CAACI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;MACnE,CAAC,CAAC,CACGM,KAAK,CAAC,MAAM;QACbhE,eAAe,GAAG,IAAI;MAC1B,CAAC,CAAC;MACF,IAAI6D,WAAW,EAAE;QACbb,UAAU,CAACW,OAAO,GAAGE,WAAW;QAChCR,gBAAgB,CAACY,QAAQ,GAAGjB,UAAU,CAACW,OAAO;MAClD;MACA,IAAI3D,eAAe,EAAE;QACjBiD,cAAc,CAACU,OAAO,GAAG3D,eAAe;QACxCqD,gBAAgB,CAACa,aAAa,GAAGjB,cAAc,CAACU,OAAO;QACvDN,gBAAgB,CAACc,gBAAgB,GAAGpE,yBAAyB,CAACkD,cAAc,CAACU,OAAO,CAAC;MACzF;IACJ;IACA,IAAIL,iBAAiB,CAAC9D,MAAM,KAAK,CAAC,EAAE;MAChC,MAAMsE,eAAe,CAAC,CAAC;IAC3B,CAAC,MACI,IAAIR,iBAAiB,CAAC9D,MAAM,GAAG,CAAC,EAAE;MACnC,IAAI0D,mBAAmB,CAACS,OAAO,KAAKL,iBAAiB,CAACI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACnEL,gBAAgB,CAACY,QAAQ,GAAGjB,UAAU,CAACW,OAAO;QAC9CN,gBAAgB,CAACa,aAAa,GAAGjB,cAAc,CAACU,OAAO;QACvDN,gBAAgB,CAACc,gBAAgB,GAAGpE,yBAAyB,CAACkD,cAAc,CAACU,OAAO,CAAC;MACzF,CAAC,MACI;QACDX,UAAU,CAACW,OAAO,GAAG,IAAI;QACzBV,cAAc,CAACU,OAAO,GAAG,IAAI;QAC7B,MAAMG,eAAe,CAAC,CAAC;MAC3B;IACJ;IACA,IAAIR,iBAAiB,CAAC9D,MAAM,GAAG,CAAC,EAAE;MAC9BwD,UAAU,CAACW,OAAO,GAAG,IAAI;MACzBV,cAAc,CAACU,OAAO,GAAG,IAAI;MAC7BT,mBAAmB,CAACS,OAAO,GAAG,EAAE;IACpC;IACA,IAAIV,cAAc,CAACU,OAAO,KAAK,IAAI,EAAE;MACjCN,gBAAgB,CAACe,YAAY,GAAGnB,cAAc,CAACU,OAAO,CAAC1D,MAAM;IACjE;IACA,IAAIoE,UAAU,GAAG/E,SAAS,CAACgE,iBAAiB,CAAC;IAC7C,IAAIe,UAAU,EAAE;MACZhB,gBAAgB,CAACiB,eAAe,GAAG,SAAS;MAC5C,IAAIhB,iBAAiB,IAAIA,iBAAiB,CAAC9D,MAAM,GAAG,CAAC,EAAE;QACnD6D,gBAAgB,CAACkB,eAAe,GAAGjB,iBAAiB,CAACI,SAAS,CAACJ,iBAAiB,CAAC9D,MAAM,GAAG,CAAC,CAAC;MAChG;IACJ,CAAC,MACI;MACD6D,gBAAgB,CAACiB,eAAe,GAAG,MAAM;IAC7C;IACAjB,gBAAgB,CAACmB,WAAW,GAAGlB,iBAAiB,CAAC9D,MAAM;IACvD,OAAO2C,YAAY,CAACtB,IAAI,CAACC,SAAS,CAACuC,gBAAgB,CAAC,CAAC;EACzD,CAAC,EAAE,CAACnB,SAAS,EAAEC,YAAY,CAAC,CAAC;EAC7B,MAAMW,SAAS,GAAI2B,QAAQ,IAAK;IAC5B,IAAI;MACA,IAAIC,YAAY,GAAGhC,cAAc,CAACiB,OAAO;MACzCc,QAAQ,CAAClF,UAAU,GAAGmF,YAAY,CAACnB,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;MACtD,MAAMoB,WAAW,GAAG,IAAIxF,aAAa,CAACyD,UAAU,CAACe,OAAO,EAAEc,QAAQ,CAAC;MACnE;MACApF,uBAAuB,CAACuF,WAAW,CAACD,WAAW,EAAE,GAAG,CAAC;IACzD,CAAC,CACD,OAAOE,CAAC,EAAE;MACNC,OAAO,CAACC,GAAG,CAACF,CAAC,CAACG,OAAO,CAAC;IAC1B;EACJ,CAAC;EACD,MAAMjC,6BAA6B,GAAGA,CAAC0B,QAAQ,EAAEjE,OAAO,KAAK;IACzD,IAAI;MACAoC,UAAU,CAACe,OAAO,GAAGnD,OAAO;MAC5BsC,SAAS,CAAC2B,QAAQ,CAAC;IACvB,CAAC,CACD,OAAOI,CAAC,EAAE;MACNC,OAAO,CAACC,GAAG,CAACF,CAAC,CAACG,OAAO,CAAC;IAC1B;EACJ,CAAC;EACD,MAAMC,wBAAwB,GAAIC,KAAK,IAAK;IACxC,MAAMC,QAAQ,GAAG;MAAE,GAAGD;IAAM,CAAC;IAC7B,OAAOC,QAAQ,CAACC,WAAW,CAACC,IAAI;IAChC,IAAIC,eAAe,EAAE;MACjBA,eAAe,CAACH,QAAQ,CAAC;IAC7B;EACJ,CAAC;EACD,MAAMI,qBAAqB,GAAIL,KAAK,IAAK;IACrC,MAAMC,QAAQ,GAAG;MAAE,GAAGD;IAAM,CAAC;IAC7B,OAAOC,QAAQ,CAACC,WAAW,CAACC,IAAI;IAChC,IAAIG,YAAY,EAAE;MACdA,YAAY,CAACL,QAAQ,CAAC;IAC1B;EACJ,CAAC;EACD,MAAMM,gBAAgB,GAAIP,KAAK,IAAK;IAChC,MAAMC,QAAQ,GAAG;MAAE,GAAGD;IAAM,CAAC;IAC7B,OAAOC,QAAQ,CAACC,WAAW,CAACC,IAAI;IAChC,IAAIK,OAAO,EAAE;MACTA,OAAO,CAACP,QAAQ,CAAC;IACrB;EACJ,CAAC;EACD,MAAMQ,eAAe,GAAIT,KAAK,IAAK;IAC/B,MAAMC,QAAQ,GAAG;MAAE,GAAGD;IAAM,CAAC;IAC7B,OAAOC,QAAQ,CAACC,WAAW,CAACC,IAAI;IAChC,IAAIO,MAAM,EAAE;MACRA,MAAM,CAACT,QAAQ,CAAC;IACpB;EACJ,CAAC;EACD,MAAMU,cAAc,GAAG7G,SAAS;EAChC,MAAM;IAAE8G,YAAY;IAAEC,QAAQ;IAAET,eAAe;IAAEE,YAAY;IAAEE,OAAO;IAAEE,MAAM;IAAE,GAAGI;EAAW,CAAC,GAAG3D,KAAK;EACvG,oBAAQpD,KAAK,CAACgH,aAAa,CAACJ,cAAc,EAAE;IAAEK,YAAY,EAAE,SAAS;IAAEC,SAAS,EAAE,SAAS;IAAEC,KAAK,EAAE7D,WAAW;IAAEuD,YAAY,EAAE3C,YAAY;IAAEmC,eAAe,EAAEL,wBAAwB;IAAEO,YAAY,EAAED,qBAAqB;IAAEG,OAAO,EAAED,gBAAgB;IAAEG,MAAM,EAAED,eAAe;IAAEvD,KAAK,EAAEA,KAAK;IAAE,GAAG4D;EAAW,CAAC,CAAC;AACnT,CAAC,CAAC;AACF,eAAe/D,SAAS","ignoreList":[]}
@@ -34,6 +34,7 @@ class CFPaymentGateway {
34
34
  doWebPayment(cfSession, baseUrl) {
35
35
  CashfreePgApi.doWebPayment(JSON.stringify(cfSession), baseUrl);
36
36
  }
37
+
37
38
  /**
38
39
  * @deprecated : Instead call makePayment
39
40
  */
@@ -156,4 +157,4 @@ export class CFErrorResponse {
156
157
  }
157
158
  export const CFCard = CFCardComponent;
158
159
  export const CFPaymentGatewayService = new CFPaymentGateway();
159
- //# sourceMappingURL=index.js.mapp
160
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeAppEventEmitter","NativeEventEmitter","NativeModules","Platform","version","CFUPIPayment","CFCardPayment","CFCardComponent","LINKING_ERROR","select","ios","default","CashfreePgApi","Proxy","get","Error","CFPaymentGateway","constructor","_defineProperty","emitter","OS","CashfreeEventEmitter","doPayment","checkoutPayment","baseUrl","JSON","stringify","doUPIPayment","doWebPayment","cfSession","doCardPayment","cardPayment","makePayment","getInstalledUpiApps","Promise","resolve","reject","fetchUpiList","apps","console","log","upiAppsSubscription","addListener","cfPayment","paymentData","doElementUPIPayment","setEventSubscriber","cfEventCallback","eventFunction","event","data","parse","onReceivedEvent","eventName","meta","eventSubscription","removeEventSubscriber","undefined","remove","setCallback","cfCallback","successFunction","orderID","onVerify","failureFunction","error","response","CFErrorResponse","message","fromJSON","onError","successSubscription","failureSubscription","removeCallback","errorString","object","status","code","type","getStatus","getMessage","getCode","getType","CFCard","CFPaymentGatewayService"],"sources":["index.js"],"sourcesContent":["import { NativeAppEventEmitter, NativeEventEmitter, NativeModules, Platform, } from 'react-native';\nimport { version } from '../package.json';\nimport { CFUPIPayment, CFCardPayment } from 'cashfree-pg-api-contract';\nimport CFCardComponent from './Card/CFCardComponent';\nconst LINKING_ERROR = `The package 'react-native-cashfree-cn-api' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: '- You have run \\'pod install\\'\\n', default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\nconst CashfreePgApi = NativeModules.CashfreePgApi\n ? NativeModules.CashfreePgApi\n : new Proxy({}, {\n get() {\n throw new Error(LINKING_ERROR);\n },\n });\nclass CFPaymentGateway {\n emitter;\n successSubscription = null;\n failureSubscription = null;\n eventSubscription = null;\n upiAppsSubscription = null;\n constructor() {\n this.emitter =\n Platform.OS === 'ios'\n ? new NativeEventEmitter(NativeModules.CashfreeEventEmitter)\n : NativeAppEventEmitter;\n }\n doPayment(checkoutPayment, baseUrl) {\n checkoutPayment.version = version;\n CashfreePgApi.doPayment(JSON.stringify(checkoutPayment), baseUrl);\n }\n doUPIPayment(checkoutPayment, baseUrl) {\n checkoutPayment.version = version;\n CashfreePgApi.doUPIPayment(JSON.stringify(checkoutPayment), baseUrl);\n }\n doWebPayment(cfSession, baseUrl) {\n CashfreePgApi.doWebPayment(JSON.stringify(cfSession), baseUrl);\n }\n /**\n * @deprecated : Instead call makePayment\n */\n doCardPayment(cardPayment, baseUrl) {\n this.makePayment(cardPayment, baseUrl);\n }\n async getInstalledUpiApps() {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'ios') {\n let fetchUpiList = (apps) => {\n console.log(JSON.stringify(apps));\n if (apps) {\n resolve(apps);\n }\n else {\n reject('No UPI apps found');\n }\n };\n this.upiAppsSubscription = this.emitter.addListener('cfUpiApps', fetchUpiList);\n CashfreePgApi.getInstalledUpiApps();\n }\n else {\n CashfreePgApi.getInstalledUpiApps((apps) => {\n if (apps) {\n resolve(apps);\n }\n else {\n reject('No UPI apps found');\n }\n });\n }\n });\n }\n makePayment(cfPayment, baseUrl) {\n cfPayment.version = version;\n const paymentData = JSON.stringify(cfPayment);\n if (cfPayment instanceof CFUPIPayment) {\n CashfreePgApi.doElementUPIPayment(paymentData, baseUrl);\n }\n else if (cfPayment instanceof CFCardPayment) {\n CashfreePgApi.doCardPayment(paymentData, baseUrl);\n }\n else {\n console.log('makePayment::==> Wrong payment object');\n }\n }\n setEventSubscriber(cfEventCallback) {\n let eventFunction = (event) => {\n console.log(JSON.stringify(event));\n let data = JSON.parse(event);\n cfEventCallback.onReceivedEvent(data.eventName, data.meta);\n };\n this.eventSubscription = this.emitter.addListener('cfEvent', eventFunction);\n CashfreePgApi.setEventSubscriber();\n }\n removeEventSubscriber() {\n if (this.eventSubscription !== undefined &&\n this.eventSubscription !== null) {\n this.eventSubscription.remove();\n this.eventSubscription = null;\n }\n CashfreePgApi.removeEventSubscriber();\n }\n setCallback(cfCallback) {\n // this.cfCallback = cfCallback;\n let successFunction = (orderID) => {\n console.log('response is : ' + JSON.stringify(orderID));\n cfCallback.onVerify(orderID);\n };\n let failureFunction = (error) => {\n console.log('reason: ' + JSON.stringify(error));\n const response = new CFErrorResponse();\n // @ts-ignore\n const message = JSON.parse(error);\n response.fromJSON(message.error);\n // @ts-ignore\n cfCallback.onError(response, message.orderID);\n };\n this.successSubscription = this.emitter.addListener('cfSuccess', successFunction);\n this.failureSubscription = this.emitter.addListener('cfFailure', failureFunction);\n CashfreePgApi.setCallback();\n }\n removeCallback() {\n if (this.successSubscription !== undefined &&\n this.successSubscription !== null) {\n this.successSubscription.remove();\n this.successSubscription = null;\n }\n if (this.failureSubscription !== undefined &&\n this.failureSubscription !== null) {\n this.failureSubscription.remove();\n this.failureSubscription = null;\n }\n if (this.upiAppsSubscription !== undefined &&\n this.upiAppsSubscription !== null) {\n this.upiAppsSubscription.remove();\n this.upiAppsSubscription = null;\n }\n }\n}\nexport class CFErrorResponse {\n status = 'FAILED';\n message = 'payment has failed';\n code = 'payment_failed';\n type = 'request_failed';\n fromJSON(errorString) {\n console.log('errorString :' + errorString);\n const object = JSON.parse(errorString);\n console.log('errorStringObject :' + object);\n this.status = object.status;\n this.message = object.message;\n this.code = object.code;\n this.type = object.type;\n }\n getStatus() {\n return this.status;\n }\n getMessage() {\n return this.message;\n }\n getCode() {\n return this.code;\n }\n getType() {\n return this.type;\n }\n}\nexport const CFCard = CFCardComponent;\nexport const CFPaymentGatewayService = new CFPaymentGateway();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeAppEventEmitter","NativeEventEmitter","NativeModules","Platform","version","CFUPIPayment","CFCardPayment","CFCardComponent","LINKING_ERROR","select","ios","default","CashfreePgApi","Proxy","get","Error","CFPaymentGateway","constructor","_defineProperty","emitter","OS","CashfreeEventEmitter","doPayment","checkoutPayment","baseUrl","JSON","stringify","doUPIPayment","doWebPayment","cfSession","doCardPayment","cardPayment","makePayment","getInstalledUpiApps","Promise","resolve","reject","fetchUpiList","apps","console","log","upiAppsSubscription","addListener","cfPayment","paymentData","doElementUPIPayment","setEventSubscriber","cfEventCallback","eventFunction","event","data","parse","onReceivedEvent","eventName","meta","eventSubscription","removeEventSubscriber","undefined","remove","setCallback","cfCallback","successFunction","orderID","onVerify","failureFunction","error","response","CFErrorResponse","message","fromJSON","onError","successSubscription","failureSubscription","removeCallback","errorString","object","status","code","type","getStatus","getMessage","getCode","getType","CFCard","CFPaymentGatewayService"],"sources":["index.ts"],"sourcesContent":["import {\n EmitterSubscription,\n EventEmitter,\n NativeAppEventEmitter,\n NativeEventEmitter,\n NativeModules,\n Platform,\n} from 'react-native';\nimport { version } from '../package.json';\nimport { type CheckoutPayment, type CFSession, CFUPIPayment, CFCardPayment } from 'cashfree-pg-api-contract';\nimport CFCardComponent from './Card/CFCardComponent';\n\nconst LINKING_ERROR =\n `The package 'react-native-cashfree-cn-api' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: '- You have run \\'pod install\\'\\n', default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst CashfreePgApi = NativeModules.CashfreePgApi\n ? NativeModules.CashfreePgApi\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n },\n );\n\nclass CFPaymentGateway {\n private emitter: EventEmitter;\n private successSubscription: EmitterSubscription | null = null;\n private failureSubscription: EmitterSubscription | null = null;\n private eventSubscription: EmitterSubscription | null = null;\n private upiAppsSubscription: EmitterSubscription | null = null;\n\n constructor() {\n this.emitter =\n Platform.OS === 'ios'\n ? new NativeEventEmitter(NativeModules.CashfreeEventEmitter)\n : NativeAppEventEmitter;\n }\n\n doPayment(checkoutPayment: CheckoutPayment,baseUrl: String) {\n checkoutPayment.version = version;\n CashfreePgApi.doPayment(JSON.stringify(checkoutPayment),baseUrl);\n }\n\n doUPIPayment(checkoutPayment: CheckoutPayment,baseUrl: String) {\n checkoutPayment.version = version;\n CashfreePgApi.doUPIPayment(JSON.stringify(checkoutPayment),baseUrl);\n }\n\n doWebPayment(cfSession: CFSession,baseUrl: String) {\n CashfreePgApi.doWebPayment(JSON.stringify(cfSession),baseUrl);\n }\n\n /**\n * @deprecated : Instead call makePayment\n */\n doCardPayment(cardPayment: CheckoutPayment,baseUrl: String) {\n this.makePayment(cardPayment,baseUrl);\n }\n\n async getInstalledUpiApps() {\n return new Promise((resolve, reject) => {\n if(Platform.OS === 'ios'){\n let fetchUpiList = (apps: string) => {\n console.log(JSON.stringify(apps));\n if (apps) {\n resolve(apps);\n } else {\n reject('No UPI apps found');\n }\n };\n this.upiAppsSubscription = this.emitter.addListener('cfUpiApps', fetchUpiList);\n CashfreePgApi.getInstalledUpiApps()\n }\n else {\n CashfreePgApi.getInstalledUpiApps((apps: string) => {\n if (apps) {\n resolve(apps);\n } else {\n reject('No UPI apps found');\n }\n });\n }\n });\n }\n\n makePayment(cfPayment: CheckoutPayment,baseUrl: String) {\n cfPayment.version = version;\n const paymentData = JSON.stringify(cfPayment);\n if (cfPayment instanceof CFUPIPayment) {\n CashfreePgApi.doElementUPIPayment(paymentData,baseUrl);\n } else if (cfPayment instanceof CFCardPayment) {\n CashfreePgApi.doCardPayment(paymentData,baseUrl);\n } else {\n console.log('makePayment::==> Wrong payment object');\n }\n }\n\n setEventSubscriber(cfEventCallback: CFEventCallback) {\n let eventFunction = (event: string) => {\n console.log(JSON.stringify(event));\n let data = JSON.parse(event);\n cfEventCallback.onReceivedEvent(data.eventName, data.meta);\n };\n this.eventSubscription = this.emitter.addListener('cfEvent', eventFunction);\n CashfreePgApi.setEventSubscriber();\n }\n\n removeEventSubscriber() {\n if (\n this.eventSubscription !== undefined &&\n this.eventSubscription !== null\n ) {\n this.eventSubscription.remove();\n this.eventSubscription = null;\n }\n CashfreePgApi.removeEventSubscriber();\n }\n\n setCallback(cfCallback: CFCallback) {\n // this.cfCallback = cfCallback;\n let successFunction = (orderID: string) => {\n console.log('response is : ' + JSON.stringify(orderID));\n cfCallback.onVerify(orderID);\n };\n let failureFunction = (error: string) => {\n console.log('reason: ' + JSON.stringify(error));\n const response = new CFErrorResponse();\n // @ts-ignore\n const message = JSON.parse(error);\n response.fromJSON(message.error);\n // @ts-ignore\n cfCallback.onError(response, message.orderID);\n };\n this.successSubscription = this.emitter.addListener(\n 'cfSuccess',\n successFunction,\n );\n this.failureSubscription = this.emitter.addListener(\n 'cfFailure',\n failureFunction,\n );\n CashfreePgApi.setCallback();\n }\n\n removeCallback() {\n if (\n this.successSubscription !== undefined &&\n this.successSubscription !== null\n ) {\n this.successSubscription.remove();\n this.successSubscription = null;\n }\n if (\n this.failureSubscription !== undefined &&\n this.failureSubscription !== null\n ) {\n this.failureSubscription.remove();\n this.failureSubscription = null;\n }\n if (\n this.upiAppsSubscription !== undefined &&\n this.upiAppsSubscription !== null\n ) {\n this.upiAppsSubscription.remove();\n this.upiAppsSubscription = null;\n }\n }\n}\n\nexport interface CFCallback {\n onVerify(orderID: string): void;\n\n onError(error: CFErrorResponse, orderID: string): void;\n}\n\nexport interface CFEventCallback {\n onReceivedEvent(eventName: string, map: Map<string, string>): void;\n}\n\nexport class CFErrorResponse {\n private status: string = 'FAILED';\n private message: string = 'payment has failed';\n private code: string = 'payment_failed';\n private type: string = 'request_failed';\n\n fromJSON(errorString: string) {\n console.log('errorString :' + errorString);\n const object = JSON.parse(errorString);\n console.log('errorStringObject :' + object);\n this.status = object.status;\n this.message = object.message;\n this.code = object.code;\n this.type = object.type;\n }\n\n getStatus(): string {\n return this.status;\n }\n\n getMessage(): string {\n return this.message;\n }\n\n getCode(): string {\n return this.code;\n }\n\n getType(): string {\n return this.type;\n }\n}\n\nexport const CFCard = CFCardComponent\nexport const CFPaymentGatewayService = new CFPaymentGateway();\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashfreepayments/react-native-cashfree-cn-sdk",
3
- "version": "1.0.0-dev.0",
3
+ "version": "1.0.1-dev.0",
4
4
  "description": "Cashfree PG Plugin for React Native",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -188,7 +188,8 @@ const CardInput = forwardRef(({ cfSession, cardListener, style, ...props }, ref)
188
188
  let cfCardNumber = inputNumberRef.current;
189
189
  cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');
190
190
  const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);
191
- CFPaymentGatewayService.makePayment(cardPayment, "https://65da-163-116-214-55.ngrok-free.app");
191
+ // Add the baseUrl of the hosted CloudNative here.
192
+ CFPaymentGatewayService.makePayment(cardPayment, " ");
192
193
  }
193
194
  catch (e) {
194
195
  console.log(e.message);
@@ -242,7 +242,8 @@ const CardInput: any = forwardRef<CardPaymentHandle, CardInputProps>(
242
242
  let cfCardNumber = inputNumberRef.current;
243
243
  cardInfo.cardNumber = cfCardNumber.replaceAll(' ', '');
244
244
  const cardPayment = new CFCardPayment(sessionRef.current, cardInfo);
245
- CFPaymentGatewayService.makePayment(cardPayment,"https://65da-163-116-214-55.ngrok-free.app");
245
+ // Add the baseUrl of the hosted CloudNative here.
246
+ CFPaymentGatewayService.makePayment(cardPayment," ");
246
247
  } catch (e: any) {
247
248
  console.log(e.message);
248
249
  }