{"_id":"@clickpay.sa/cordova.plugin.clickpay","_rev":"3-7012c7ad692446d4590dcf076138aed4","name":"@clickpay.sa/cordova.plugin.clickpay","dist-tags":{"latest":"1.3.3"},"versions":{"1.3.0":{"name":"@clickpay.sa/cordova.plugin.clickpay","version":"1.3.0","description":"ClickPay Cordova Plugin","cordova":{"id":"sa.clickpay.cordova.plugin","platforms":["ios","android"]},"keywords":["ecosystem:cordova","cordova-ios","cordova-android","clickpay","clickpay cordova","payment"],"author":{"name":"Mohamed Adly","url":"m.adly@paytabs.com"},"license":"MIT","homepage":"https://github.com/clickpaysa/clickpay-cordova","gitHead":"8224ef22e50ab78fe4ab612198c2665cb17e39cb","_id":"@clickpay.sa/cordova.plugin.clickpay@1.3.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-8nNCfIbJvaKtEMYeMVAfk9P/zxy3ie9pqOpzVmjaG15CaF/MuZ1WykcIAbIGwHR/B87wx6SzPe/LFXWzSfXVTA==","shasum":"5c710cb4e4e0c6bce2497e5940660265c9ef2843","tarball":"https://registry.npmjs.org/@clickpay.sa/cordova.plugin.clickpay/-/cordova.plugin.clickpay-1.3.0.tgz","fileCount":36,"unpackedSize":163262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCZzjP0AQYPt/Dp/+7m47NpTbChFjHUvBcTZw0JiLJNQIgX0I4qJspAhC6WN1fpd3dKyeL916tnRG6e6b99ETfQCs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjIbAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkMQ//d8xkbPnHSvKjYj8wp0jRsWlfzT+jYo51ONjS1e4rMLNLeuDB\r\nS5lrX9/fYDfUAfNtBVrd7GGUyYEIspbyInWzv04jvfPBjIs2N0dvB21YjG19\r\nkHKIAVgrNIURW4TKr+8scU4O1xUpqSJzhjkFe9Is5PA39RdO9HunUOzKR+pU\r\nX2uqRhlGm0xioCYMg1HbwZAzKTD1vZoHvsxtzGKB0CkQl+8GUubtjbowEAuk\r\nam5vZ6MOHUy1Rrj5LyiLnzTyrKrcRtFXRn6OZHRRIIAKde5NEVi4TPP3Uldi\r\n695MKlcBYGolSEDqQ2KkFHchl6Hs6vjJt/wyN49Y3GY/ZDWX96u6ad1H3Gyp\r\nLqwlOtSEy6Bx51l1JaA4j5EYjGXS5TU+ZsrI14rY42QbmF/5/YHlnWWA1h+y\r\nyNFwt1cM68OptQ1yDvYI4Bs7az/HCDnhkq8r7viuOfUkU1rR6Cfpe/WSjh2A\r\n2kWlp2CRv0L/xFKzDOFfppNFVZhAIpdhFzN+DjU/cBLMpgV6ZAydemut/4dQ\r\njyAL7ApcAHksWHXTTfazplkwxGT3aVBtAL/d0Y43z/RqjCN1wPG6Ciu1hkJz\r\nF+iRT/vG2HaeHtADpmUq4QBGYjftvggcvQtTc1On6uKrMkM/lyk5qr5K7sln\r\nQqF4ZdpidlBY/0o9+R0bNXO4MXwCQpVgMfU=\r\n=yUTs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},"directories":{},"maintainers":[{"name":"muhammad.alkady","email":"muhammad.alkady@paytabs.com"},{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},{"name":"clickpaycomsa","email":"support@clickpay.sa"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cordova.plugin.clickpay_1.3.0_1670153920348_0.6467137308030995"},"_hasShrinkwrap":false},"1.3.1":{"name":"@clickpay.sa/cordova.plugin.clickpay","version":"1.3.1","description":"ClickPay Cordova Plugin","cordova":{"id":"sa.clickpay.cordova.plugin","platforms":["ios","android"]},"keywords":["ecosystem:cordova","cordova-ios","cordova-android","clickpay","clickpay cordova","payment"],"author":{"name":"Mohamed Adly","url":"m.adly@paytabs.com"},"license":"MIT","homepage":"https://github.com/clickpaysa/clickpay-cordova","gitHead":"8931cadf2023118c13186fb3d1fd39952aa8633f","_id":"@clickpay.sa/cordova.plugin.clickpay@1.3.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FZsXzFgUL5h96OLoN5EXMu/IsHuExXzT9Hf9gOFUdKqQz5MtpoWrA+EWLSNDve1/kMrehciaTOMu5LuU0ZQt+w==","shasum":"2b213141cf064998836f8c9ecb33ed1692eed1d9","tarball":"https://registry.npmjs.org/@clickpay.sa/cordova.plugin.clickpay/-/cordova.plugin.clickpay-1.3.1.tgz","fileCount":36,"unpackedSize":163740,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMr8mYoxDDp7x3V+EAMi6f979KJeWeGDIQUN+6RHsrIAiB6cTqXAeG+DcwXmddGSWNr7K2Sr9oR/TT8tJbxJ0w8aQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjcCKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRAg//Q6p4L0f/xo7S7i7ReNzMyXkPzlq8SW6sJuogRJ8c+y1qfsPV\r\nlFyMgqd09ssIWpWSY5FTJ79xw5wbgm7r3h8nbK/nfrU5LO1OX1uhYBYIEtgW\r\nFCXIkmIzbMrEUovaTC7Vzp8ec4xuX/RCrz6FhTO/KmGcfQcbu5TV+ONW7iwY\r\nO1vkHDrIT+hDi0PJHcZgWAZpx4iM8kQHRF6HPS6bICgOMPofZHU1tJReIazS\r\n/7XZMdQ6kSr97SbsHFrLCWdggD8Ory2s+qhZuAsV4vMB0qoB8XyomeguNKJO\r\n29NE+j1YjH3nRW1/Bsog8Px9GlnKdojKoomMUEHgHACLkX4Kqe+F3+Sb+Cl8\r\neAMFabfwDCc/13Ia3eQ0IgJp1W2r8DozxA77FyhNFlB8XAYgsIhamfqQI7Pd\r\nd9GSL6WgPvmg7M4j5GuuZbQvDM5RiGh0IKT6V/wD4FfDQm98zKICE9RrSZSl\r\nHxU3QzC/8gh67OAqKMl5nQAohVDehD2M/DdHiy5g1c9BXdwvrBHVm4I8/DtB\r\nJswang9XP245rS8eoOCVFe//CquB5XKoWuv4yIcCOiN3EkFsOUt+UN/hAuKB\r\nPzzirGFNAj6yDsjWVG+RRGhJL/qrQNmM4mErX2Q2d64pCCQzgkdqCguv9s3o\r\nn4FSSmPCRCszCAsDz7JygbYe/npBLl1HzjU=\r\n=B0Qd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},"directories":{},"maintainers":[{"name":"muhammad.alkady","email":"muhammad.alkady@paytabs.com"},{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},{"name":"clickpaycomsa","email":"support@clickpay.sa"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cordova.plugin.clickpay_1.3.1_1670234250648_0.635831917648205"},"_hasShrinkwrap":false},"1.3.2":{"name":"@clickpay.sa/cordova.plugin.clickpay","version":"1.3.2","description":"ClickPay Cordova Plugin","cordova":{"id":"sa.clickpay.cordova.plugin","platforms":["ios","android"]},"keywords":["ecosystem:cordova","cordova-ios","cordova-android","clickpay","clickpay cordova","payment"],"author":{"name":"Mohamed Adly","url":"m.adly@paytabs.com"},"license":"MIT","homepage":"https://github.com/clickpaysa/clickpay-cordova","gitHead":"bac3151aac07e185f2d27d058ab2332596c9209a","_id":"@clickpay.sa/cordova.plugin.clickpay@1.3.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Vx+T8UbqhXdAbxWZGSj3bgMK/UtAeqCuI4ikp/WrkGhLb7pDB1KpLtgWbvNAGHzNG/+wV1uYFMhlZqgtfsSfIg==","shasum":"f30773932d8b513a52a02bd17b9a55a87a566058","tarball":"https://registry.npmjs.org/@clickpay.sa/cordova.plugin.clickpay/-/cordova.plugin.clickpay-1.3.2.tgz","fileCount":36,"unpackedSize":163751,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd4N28BLWVPKO4XmgkPPIxpMrlrUXTIVmkxNdkCCugBwIgHSeS4lM5QMVvkbdTvCd+7Ls4yDKn5RuSHuERYz/nXh8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjyb0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmog1A//dLnKUARCgt6fihhK0qLAYEZ8IoYJP6OYe+P6xwFTsMyi+EAj\r\nXhTxwdCsHXRYvk6N2jhhX+AkI9ttLdliiiVddeF2z/5Gj2tCK8c79m6u8j88\r\nTQ1yBXkUMm83SspCARkL7e3/FaUaCslOanriCkUfon26hN3gXC3jf3lSD0zj\r\npMWbO/1SCrJROQ6mfJBDIJec21APHOIwfnxt9jFH6nQS2/ZOiFEm05atbuiv\r\nYUR0ttx1rgmnUrIUpy7JOMeaB84nyQI8ZwR2DrLVZb86SQJKYNOkMBxPek5P\r\nt9xs4k4V913G189yD5JIfyfXhVDRt9QznqzA9yZpMaxb2rIMR4JCbIUughBp\r\n1YTxljQUf6wvBaRd9Hl3avxHrJGeBpj8luMsM4rq7VAcyuw5E6hCoDQBc228\r\nHHqzWaEGpaI38A3dPJljKvnPx2SgGQrsF7TJ8cF/D2nVBbc/fbpDSVveGfWl\r\nHt8sCGO4qkOvbZjaXRRuVvzZAXa1mvkqeh9y2fk7R+xsKLWjt8uwZotpwMLo\r\nCbTNLk/RBGXrzp92hn2Wlu3gVKZUPiQw/uIJ1ezw36HAgN8LI4kBk6EAb1oD\r\nhrhDqxeC06bJh907Nx4Dc3pMkLjCNZcFGhXM3M29KyYxERCnxsYKk9xqQIdS\r\nn9lftQhsjSfIOVGj5VkembfwMaAyki/X2yo=\r\n=hAyS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},"directories":{},"maintainers":[{"name":"muhammad.alkady","email":"muhammad.alkady@paytabs.com"},{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},{"name":"clickpaycomsa","email":"support@clickpay.sa"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cordova.plugin.clickpay_1.3.2_1670326003860_0.23746497529492716"},"_hasShrinkwrap":false},"1.3.3":{"name":"@clickpay.sa/cordova.plugin.clickpay","version":"1.3.3","description":"ClickPay Cordova Plugin","cordova":{"id":"sa.clickpay.cordova.plugin","platforms":["ios","android"]},"keywords":["ecosystem:cordova","cordova-ios","cordova-android","clickpay","clickpay cordova","payment"],"author":{"name":"Mohamed Adly","url":"m.adly@paytabs.com"},"license":"MIT","homepage":"https://github.com/clickpaysa/clickpay-cordova","gitHead":"deb1d9cf33a36ae425ee153ee805ac64830bc892","_id":"@clickpay.sa/cordova.plugin.clickpay@1.3.3","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-/v5p3OM17uTD5Q16AurGyialnJUWeBJnLoBorwWEzAdG9j40bUq1AH4Q6rsSw73qy7dEhWPBv4jCMHByJUZjVA==","shasum":"ea4ba52cb63fa1814fa519a68375d4d34ee483fa","tarball":"https://registry.npmjs.org/@clickpay.sa/cordova.plugin.clickpay/-/cordova.plugin.clickpay-1.3.3.tgz","fileCount":29,"unpackedSize":172379,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGz8il2iz0CY7lBBrAVLBNpG1ylxQ41BKnzUFrM+mtkAiB/SKVKRNHPzY4xhN37vbJxPvx6LRczrE7Ex/8FIG9Zdg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtANzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4tQ//ZxuxOxYYb2ydm57nhiuLuY4xcmu8CMCkveA9jEOS0G57hd8X\r\nTMhoAfidnjED+vc9VC+q8PaggtSPpUzNVkI4fmw60QLv+YB8GBEk8bbP4SnV\r\nTVGvHJKYl59jNN5yRp0eunPuvtSYUIgGJuggZrMVst1wU++9lRzEFq4CJpI+\r\nEKrVNrqsPll1B5j+nt9ncgzxFFkAarcW69qQZQiKIE3EGJCfAZJFqmS5B6hJ\r\nyoXd4hG5vt4Zh/ZIFUNnoU/MSswB3dahqLtEfp0qmIR+TYK8ctt/dnv4t7+D\r\nvRivMAT/MTn/jopIoqrwpny8tI2OSInDEOk51gQq0ke/Hsrs/NKGlTrXsGC9\r\n5VMMX0Hxp+2GWCOiJ2ITrXFW1aHTGjfgORQL8cgg5lAIrr8wngsMcR/iraOj\r\nK8ior/nczOT19KBAhAxPBTquhefAraeiATmQo1wk0KthPGtcIS/sZ8ONjWd2\r\nu6ezuBhFKkavm6lszh33i2H5nJnLcynumnavKfWpI+jou9928VZgOd1rdety\r\nn1OyF4YuUy3rf37WlZ6IeFquoSpRp6QLfN8DEVXrIKvRp5CrbxOMqx8fur5t\r\n3lpRPjzIvPENBiNZ3pX2KTk7ZY/lkAP7hsGo+wr1J7x+Mel265Qx2hBuMeBg\r\nClxjNp9QDqBM3Eg3nxeTHjIS+tHqw76P6WE=\r\n=jh16\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},"directories":{},"maintainers":[{"name":"muhammad.alkady","email":"muhammad.alkady@paytabs.com"},{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},{"name":"clickpaycomsa","email":"support@clickpay.sa"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cordova.plugin.clickpay_1.3.3_1672741747706_0.4695945828250405"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-04T11:38:40.277Z","1.3.0":"2022-12-04T11:38:40.514Z","modified":"2023-01-03T10:29:08.019Z","1.3.1":"2022-12-05T09:57:30.804Z","1.3.2":"2022-12-06T11:26:44.060Z","1.3.3":"2023-01-03T10:29:07.871Z"},"maintainers":[{"name":"muhammad.alkady","email":"muhammad.alkady@paytabs.com"},{"name":"khaledalramampaytabs","email":"khaled.alramam@paytabs.com"},{"name":"clickpaycomsa","email":"support@clickpay.sa"}],"description":"ClickPay Cordova Plugin","homepage":"https://github.com/clickpaysa/clickpay-cordova","keywords":["ecosystem:cordova","cordova-ios","cordova-android","clickpay","clickpay cordova","payment"],"author":{"name":"Mohamed Adly","url":"m.adly@paytabs.com"},"license":"MIT","readme":"\r\n# Cordova ClickPay Plugin\r\n![Version](https://img.shields.io/badge/Cordova%20ClickPay%20Plugin-v1.3.3-green)\r\n[![npm](https://img.shields.io/npm/l/cordova-plugin-ClickPay.svg)](https://www.npmjs.com/package/cordova-plugin-ClickPay/)\r\n[![npm](https://img.shields.io/npm/dm/cordova-plugin-ClickPay.svg)](https://www.npmjs.com/package/cordova-plugin-ClickPay)\r\n\r\nCordova ClickPay Plugin is a wrapper for the native ClickPay Android and iOS SDKs, It helps you integrate with ClickPay payment gateway.\r\n\r\nPlugin Support:\r\n\r\n* [x] iOS\r\n* [x] Android\r\n\r\n# Installation\r\n\r\n```\r\n$ cordova plugin add '@clickpay.sa/cordova.plugin.clickpay'\r\n```\r\n\r\n### Android - Prerequisites\r\nOpen `gradle.properties` and set the flags useAndroidX and enableJetifier with true.\r\n\r\n```\r\nandroid.useAndroidX=true\r\nandroid.enableJetifier=true\r\n```\r\n\r\n## Usage\r\n\r\n### Pay with Card\r\n\r\n1. Configure the billing & shipping info, the shipping info is optional\r\n\r\n```javascript\r\nlet billingDetails = new cordova.plugins.CordovaPaymentPlugin.PaymentSDKBillingDetails(name= \"John Smith\",\r\n                                  email= \"email@test.com\",\r\n                                  phone= \"9731111111\",\r\n                                  addressLine= \"address line\",\r\n                                  city= \"Dubai\",\r\n                                  state= \"Dubai\",\r\n                                  countryCode= \"ae\", // ISO alpha 2\r\n                                  zip= \"1234\")\r\nlet shippingDetails = new cordova.plugins.CordovaPaymentPlugin. PaymentSDKShippingDetails(name= \"John Smith\",\r\n                                  email= \"email@test.com\",\r\n                                  phone= \"9731111111\",\r\n                                  addressLine= \"address line\",\r\n                                  city= \"Dubai\",\r\n                                  state= \"Dubai\",\r\n                                  countryCode= \"ae\", // ISO alpha 2\r\n                                  zip= \"1234\")\r\n                                              \r\n```\r\n\r\n2. Create object of `PaymentSDKConfiguration` and fill it with your credentials and payment details.\r\n\r\n```javascript\r\nlet configuration = new cordova.plugins.CordovaPaymentPlugin.PaymentSDKConfiguration();\r\n    configuration.profileID = \"*your profile id*\"\r\n    configuration.serverKey= \"*server key*\"\r\n    configuration.clientKey = \"*client key*\"\r\n    configuration.cartID = \"545454\"\r\n    configuration.currency = \"AED\"\r\n    configuration.cartDescription = \"Flowers\"\r\n    configuration.merchantCountryCode = \"ae\"\r\n    configuration.merchantName = \"Flowers Store\"\r\n    configuration.amount = 20\r\n    configuration.screenTitle = \"Pay with Card\"\r\n    configuration.billingDetails = billingDetails\r\n    configuration.forceShippingInfo = false\r\n```\r\n\r\nOptions to show billing and shipping info\r\n\r\n```javascript\r\n\tconfiguration.showBillingInfo = true\r\n\tconfiguration.showShippingInfo = true\r\n```\r\n\r\n# 1- Pay with card\r\nStart payment by calling `startCardPayment` method and handle the transaction details \r\n\r\n```javascript\r\ncordova.plugins.CordovaPaymentPlugin.startCardPayment(configuration, function (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n```\r\n\r\n<img width=\"191\" alt=\"card\" src=\"https://user-images.githubusercontent.com/17829232/205496647-59a35cce-4976-423d-9568-d23f4cea91fc.png\">\r\n\r\n\r\n# 2- Pay with Token\r\nStart payment by calling `startTokenizedCardPayment` method and handle the transaction details \r\n\r\n```javascript\r\ncordova.plugins.CordovaPaymentPlugin.startTokenizedCardPayment(configuration,\r\n\"Token\",\r\n\"TransactionReference\",\r\n function (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n```\r\n\r\n# 3- Pay with 3DS Secured Token\r\nStart payment by calling `start3DSecureTokenizedCardPayment` method and handle the transaction details \r\n\r\n```javascript\r\nlet cardInfo = new PaymentSDKSavedCardInfo(\"Card mask\", \"cardType\")\r\ncordova.plugins.CordovaPaymentPlugin.start3DSecureTokenizedCardPayment(configuration, cardInfo, \"token\",\r\nfunction (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n```\r\n<img width=\"197\" alt=\"rec 3ds\" src=\"https://user-images.githubusercontent.com/17829232/205496677-3e22a19e-84f4-4200-8c0d-25b9d153b862.png\">\r\n\r\n\r\n# 4- Pay with saved card\r\nStart payment by calling `startPaymentWithSavedCards` method and handle the transaction details \r\n\r\n```javascript\r\ncordova.plugins.CordovaPaymentPlugin.startPaymentWithSavedCards(configuration, support3DsBool,\r\nfunction (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n```\r\n<img width=\"197\" alt=\"rec 3ds\" src=\"https://user-images.githubusercontent.com/17829232/205496703-b823e57b-348c-4109-9429-ab261e5a5b50.png\">\r\n\r\n\r\n### Pay with Apple Pay\r\n\r\n1. Follow the guide [Steps to configure Apple Pay][applepayguide] to learn how to configure ApplePay with ClickPay.\r\n\r\n2. Do the steps 1 and 2 from **Pay with Card** although you can ignore Billing & Shipping details and Apple Pay will handle it, also you must pass the **merchant name** and **merchant identifier**.\r\n\r\n```javascript\r\nconfiguration.merchantApplePayIdentifier = \"com.merchant.bundleid\"\r\n```\r\n\r\n3. To simplify ApplePay validation on all user's billing info, pass **simplifyApplePayValidation** parameter in the configuration with **true**.\r\n\r\n```javascript\r\nconfiguration.simplifyApplePayValidation = true\r\n```\r\n\r\n4. Call `startApplePayPayment` to start payment\r\n\r\n```javascript\r\ncordova.plugins.CordovaPaymentPlugin.startApplePayPayment(configuration, function (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n```\r\n\r\n### Pay with Samsung Pay\r\n\r\nPass Samsung Pay token to the configuration and call `startCardPayment`\r\n\r\n```javascript\r\nconfiguration.samsungToken = \"token\"\r\n```\r\n\r\n### Pay with Alternative Payment Methods\r\n\r\nIt becomes easy to integrate with other payment methods in your region like STCPay, OmanNet, KNet, Valu, Fawry, UnionPay, and Meeza, to serve a large sector of customers.\r\n\r\n1. Do the steps 1 and 2 from **Pay with Card**.\r\n\r\n2. Choose one or more of the payment methods you want to support.\r\n\r\n```javascript\r\nconfiguration.alternativePaymentMethods = [AlternativePaymentMethod.stcPay]\r\n```\r\n\r\n3. Start payment by calling `startAlternativePaymentMethod` method and handle the transaction details \r\n\r\n```javascript\r\n\r\ncordova.plugins.CordovaPaymentPlugin.startAlternativePaymentMethod(configuration, function (result) {\r\n        if (result[\"status\"] == \"success\") {\r\n            // Handle transaction details here.\r\n            var transactionDetails = result[\"data\"];\r\n            console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n            console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n            console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n            console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n            console.log(\"token:\" + transactionDetails.token)\r\n          } else if (result[\"status\"] == \"error\") {\r\n            // Handle error here the code and message.\r\n          } else if (result[\"status\"] == \"event\") {\r\n            // Handle events here.\r\n          }\r\n    }, function (error) {\r\n        console.log(error)\r\n    });\r\n     \r\n```\r\n\r\n## Query transaction\r\n\r\nYou can check the status of a transaction\r\n\r\n 1- first create PaymentSDKQueryConfiguration\r\n```JavaScript\r\nvar configuration = new cordova.plugins.CordovaPaymentPlugin.PaymentSdkConfigurationDetails(\r\n    \"ServerKey\",\r\n    \"ClientKey\",\r\n    \"Country Iso 2\",\r\n    \"Profile Id\",\r\n    \"Transaction Reference\"\r\n);\r\n```\r\n\r\n2- Call cordova.plugins.CordovaPaymentPlugin.queryTransaction and pass the needed argument\r\n\r\n```JavaScript\r\ncordova.plugins.CordovaPaymentPlugin.queryTransaction(configuration, function (result) {\r\n      if (result[\"status\"] == \"success\") {\r\n          // Handle transaction details here.\r\n          var transactionDetails = result[\"data\"];\r\n          console.log(\"responseCode:\" + transactionDetails.paymentResult.responseCode)\r\n          console.log(\"transactionTime:\" + transactionDetails.paymentResult.transactionTime)\r\n          console.log(\"responseMessage:\" + transactionDetails.paymentResult.responseMessage)\r\n          console.log(\"transactionReference:\" + transactionDetails.transactionReference)\r\n          console.log(\"token:\" + transactionDetails.token)\r\n        } else if (result[\"status\"] == \"error\") {\r\n          // Handle error here the code and message.\r\n        } else if (result[\"status\"] == \"event\") {\r\n          // Handle events here.\r\n        }\r\n  }, function (error) {\r\n      console.log(error)\r\n  });\r\n```\r\n\r\n\r\n## Enums\r\n\r\nThose enums will help you in customizing your configuration.\r\n\r\n* Tokenise types\r\n\r\n The default type is none\r\n\r\n```javascript\r\nexports.TokeniseType = Object.freeze({\r\n\"none\":\"none\", // tokenise is off\r\n\"merchantMandatory\":\"merchantMandatory\", // tokenise is forced\r\n\"userMandatory\":\"userMandatory\", // tokenise is forced as per user approval\r\n\"userOptinoal\":\"userOptional\" // tokenise if optional as per user approval\r\n});\r\n```\r\n\r\n```javascript\r\nconfiguration.tokeniseType = cordova.plugins.CordovaPaymentPlugin.TokeniseType.userOptinoal\r\n```\r\n\r\n* Token formats\r\n\r\nThe default format is hex32\r\n\r\n```javascript\r\nexports.TokeniseFromat = Object.freeze({\"none\":\"1\", \r\n\"hex32\": \"2\", \r\n\"alphaNum20\": \"3\", \r\n\"digit22\": \"3\", \r\n\"digit16\": \"5\", \r\n\"alphaNum32\": \"6\"\r\n});\r\n```\r\n\r\n```javascript\r\nconfiguration.tokeniseFormat = cordova.plugins.CordovaPaymentPlugin.TokeniseFromat.hex32\r\n```\r\n\r\n* Transaction types\r\n\r\nThe default type is sale\r\n\r\n```javascript\r\nconst TransactionType = Object.freeze({\"sale\":\"sale\", \r\n\"authorize\": \"auth\"});\r\n```\r\n\r\n```javascript\r\nconfiguration.transactionType = cordova.plugins.CordovaPaymentPlugin.TransactionType.sale\r\n```\r\n\r\n* Alternative payment methods\r\n\r\n```javascript\r\nAlternativePaymentMethod = Object.freeze({\"unionPay\":\"unionpay\", \r\n\"stcPay\":\"stcpay\", \r\n\"valu\": \"valu\", \r\n\"meezaQR\": \"meezaqr\", \r\n\"omannet\": \"omannet\", \r\n\"knetCredit\": \"knetcredit\", \r\n\"knetDebit\": \"knetdebit\", \r\n\"fawry\": \"fawry\"});\r\n ```\r\n \r\n ```javascript\r\nconfiguration.alternativePaymentMethods = [cordova.plugins.CordovaPaymentPlugin.AlternativePaymentMethod.stcPay, ...]\r\n ```\r\n\r\n## Demo application\r\n\r\nCheck our complete [sample](https://github.com/clickpaysa/clickpay-cordova/tree/master/sample).\r\n\r\n\r\n## Overriding Resources:\r\n\r\nto override fonts Please add your custom fonts files with these names\r\n\r\npayment_sdk_primary_font.tff && payment_sdk_secondary_font.tff\r\n\r\nto override strings, colors or dimens add the resource you need to override from below resources\r\nwith the value you want\r\n\r\n## Theme\r\n\r\nUse the following guide to customize the colors, font, and logo by configuring the theme and pass it\r\nto the payment configuration.\r\n\r\n![UI guide](https://user-images.githubusercontent.com/95287975/160391259-97aaff10-cb9f-4103-bc3e-a938a1111128.png)\r\n\r\n## Override strings\r\n\r\nTo override string you can find the keys with the default values here\r\n[english]( https://github.com/clickpaysa/clickpay-android-library-sample/blob/master/res/strings.xml)\r\n[arabic](https://github.com/clickpaysa/clickpay-android-library-sample/blob/master/res/strings-ar.xml)\r\n\r\n````xml\r\n\r\n<resourse>\r\n    // to override colors\r\n    <color name=\"payment_sdk_primary_color\">#5C13DF</color>\r\n    <color name=\"payment_sdk_secondary_color\">#FFC107</color>\r\n    <color name=\"payment_sdk_primary_font_color\">#111112</color>\r\n    <color name=\"payment_sdk_secondary_font_color\">#6D6C70</color>\r\n    <color name=\"payment_sdk_separators_color\">#FFC107</color>\r\n    <color name=\"payment_sdk_stroke_color\">#673AB7</color>\r\n    <color name=\"payment_sdk_button_text_color\">#FFF</color>\r\n    <color name=\"payment_sdk_title_text_color\">#FFF</color>\r\n    <color name=\"payment_sdk_button_background_color\">#3F51B5</color>\r\n    <color name=\"payment_sdk_background_color\">#F9FAFD</color>\r\n    <color name=\"payment_sdk_card_background_color\">#F9FAFD</color>\r\n\r\n    // to override dimens\r\n    <dimen name=\"payment_sdk_primary_font_size\">17sp</dimen>\r\n    <dimen name=\"payment_sdk_secondary_font_size\">15sp</dimen>\r\n    <dimen name=\"payment_sdk_separator_thickness\">1dp</dimen>\r\n    <dimen name=\"payment_sdk_stroke_thickness\">.5dp</dimen>\r\n    <dimen name=\"payment_sdk_input_corner_radius\">8dp</dimen>\r\n    <dimen name=\"payment_sdk_button_corner_radius\">8dp</dimen>\r\n\r\n</resourse>\r\n````\r\n\r\n\r\n## See the common issues from here\r\n\r\n[common issues](https://github.com/clickpaysa/clickpay-android-library-sample/blob/main/common_issues.md)\r\n\r\n## Notes\r\n\r\n1- Please configure the IPN to avoid loosing any of the transaction status.\r\n\r\n\r\n## License\r\n\r\nSee [LICENSE][license].\r\n\r\n## ClickPay\r\n\r\n[Support][1] | [Terms of Use][2] | [Privacy Policy][3]\r\n\r\n [1]: https://clickpay.freshdesk.com/en/support/solutions\r\n [2]: https://clickpay.com.sa/wps/portal/clickPay/clickpay/footerpages/termsandconditions\r\n [3]: https://clickpay.com.sa/wps/portal/clickPay/clickpay/footerpages/privacy\r\n [license]: https://github.com/clickpaysa/clickpay-ios-library-sample/blob/main/LICENSE\r\n\r\n","readmeFilename":"README.md"}