UNPKG

react-native-plug-pag-service

Version:
143 lines (116 loc) 5.77 kB
# react-native-plug-pag-service ## Getting started `$ npm install react-native-plug-pag-service --save` ### Mostly automatic installation `$ react-native link react-native-plug-pag-service` ### Manual installation #### iOS 1. In XCode, in the project navigator, right click `Libraries``Add Files to [your project's name]` 2. Go to `node_modules``react-native-plug-pag-service` and add `PlugPagService.xcodeproj` 3. In XCode, in the project navigator, select your project. Add `libPlugPagService.a` to your project's `Build Phases` ➜ `Link Binary With Libraries` 4. Run your project (`Cmd+R`)< #### Android 1. Open up `android/app/src/main/java/[...]/MainApplication.java` - Add `import com.reactlibrary.PlugPagServicePackage;` to the imports at the top of the file - Add `new PlugPagServicePackage()` to the list returned by the `getPackages()` method 2. Append the following lines to `android/settings.gradle`: ``` include ':react-native-plug-pag-service' project(':react-native-plug-pag-service').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-plug-pag-service/android') ``` 3. Insert the following lines inside the dependencies block in `android/app/build.gradle`: ``` compile project(':react-native-plug-pag-service') ``` 4. AndroidManifest.xml - Permissions To integrate the library with the PlugPagService library in Android applications you must add the following permission to AndroidManifest.xml. ``` <uses-permission android:name="br.com.uol.pagseguro.permission.MANAGE_PAYMENTS"/> ``` This permission allows the library to bind to PlugPagService , Moderninha Smart's embedded service , which manages all payment transactions. - Intent-filter In order for your app to be chosen as the default payment app and receive Card Insertion Intents, you need to add the following code to your AndroidManifest.xml within your main Activity. ``` <intent-filter> <action android:name="br.com.uol.pagseguro.PAYMENT"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> ``` ## Usage ```javascript import PlugPagService from 'react-native-plug-pag-service' ``` ### CONSTANTS #### PAYMENT TYPES PlugPagService.PAYMENT_CREDITO - Set the payment as CREDIT. PlugPagService.PAYMENT_DEBITO - Set the payment as DEBIT. PlugPagService.PAYMENT_VOUCHER - Set the payment as VOUCHER. #### INSTALLMENTS TYPES PlugPagService.INSTALLMENT_TYPE_A_VISTA - Set the installment type as VISTA PlugPagService.INSTALLMENT_TYPE_PARC_VENDEDOR - Set the installment type as PARCELADO VENDEDOR PlugPagService.INSTALLMENT_TYPE_PARC_COMPRADOR - Set the installment type as PARCELADO COMPRADOR ### METHODS PlugPagService.setAppIdendification(appName, appVersion) - Set app information PlugPagService.initializeAndActivatePinpad(activationCode, promise) - Initialize and activate pinpad PlugPagService.doPayment(paymentDataJsonString, promise) - Do payment ### Implementation Examples Below are some examples of layers of the PlugPagService Wrapper methods for performing transactions. #### Payment of $ 250.00. Credit in sight: startPayment() { // Cria a identificação do aplicativo PlugPagService.setAppIdendification("MeuApp", "1.0.7") // Ativa terminal e faz o pagamento var activationCode = "403938" PlugPagService.initializeAndActivatePinpad(activationCode).then((initResult) => { if (initResult.retCode == PlugPagService.RET_OK) { // Define os dados do pagamento const paymentData = { type: PlugPagService.PAYMENT_CREDITO, amount: 250, installmentType: PlugPagService.INSTALLMENT_TYPE_A_VISTA, installments: 1, userReference: "CODVENDA" }; PlugPagService.doPayment(JSON.stringify(paymentData)).then((result) => { if (result.retCode == PlugPagService.RET_OK) { alert("Payment success with ret code: " + success) } else { alert("Payment failed with error code: " + error2) } }) // Trata o resultado da transação } else { alert("Initialize And Activate failed with error code: " + initResult) } }) } #### Payment of $ 300.00. Credit in sight: startPayment() { // Cria a identificação do aplicativo PlugPagService.setAppIdendification("MeuApp", "1.0.7") // Ativa terminal e faz o pagamento var activationCode = "403938" PlugPagService.initializeAndActivatePinpad(activationCode).then((initResult) => { if (initResult.retCode == PlugPagService.RET_OK) { // Define os dados do pagamento const paymentData = { type: PlugPagService.PAYMENT_CREDITO, amount: 300, installmentType: PlugPagService.INSTALLMENT_TYPE_PARC_VENDEDOR, installments: 3, userReference: "CODVENDA" }; PlugPagService.doPayment(JSON.stringify(paymentData)).then((result) => { if (result.retCode == PlugPagService.RET_OK) { alert("Payment success with ret code: " + success) } else { alert("Payment failed with error code: " + error2) } }) // Trata o resultado da transação } else { alert("Initialize And Activate failed with error code: " + initResult) } }) }