GithubHelp home page GithubHelp logo

duynd1 / react-native-adyen-drop-in Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yourit/react-native-adyen-drop-in

0.0 0.0 1.0 216 KB

React Native Cross-Platform Adyen Drop-in

Home Page: https://github.com/YouriT/react-native-adyen-drop-in

Java 46.76% JavaScript 7.10% Objective-C 2.64% Swift 42.58% Ruby 0.92%

react-native-adyen-drop-in's Introduction

React Native Adyen Drop-In

React Native Adyen Drop-In is a cross platform (Android & iOS) plugin enabling Adyen Drop-In integration in a React-Native project.

Current Adyen versions

  • Android: 3.4.0
  • iOS: ~>3.1.3

Disclamer

At the moment the implementation is very opiniated on the use case we encountered. Feel free to submit P.R.

Getting Started

$ yarn add react-native-adyen-drop-in

This module uses autolinking and has not been tested on RN<0.60.

API

import AdyenDropIn from 'react-native-adyen-drop-in'

// configures the public key used for encryption by the native library and sets the environment "test/live" that Adyen should be using.
AdyenDropIn.configPayment(publicKey, env);

// Launch a CardComponent
AdyenDropIn.cardPaymentMethod(
    paymentMethodJson, // accepted cards, use: https://docs.adyen.com/api-explorer/#/PaymentSetupAndVerificationService/paymentMethods result or provide yours.
    name, // form name
    showHolderField, // Display "Holder name" field
    showStoreField, // Display toggle to save card for future payments
    buttonTitle // Content on the call to action ("Pay" button)
)

// Supply Adyen with the available payment methods. Populate it from https://docs.adyen.com/api-explorer/#/PaymentSetupAndVerificationService/paymentMethods or supply custom JSON yourself.
AdyenDropIn.paymentMethods(paymentMethodJson);

// Use a stored payment method
AdyenDropIn.storedCardPaymentMethod(paymentMethodJson, index)

// Set contract payment method
AdyenDropIn.contractPaymentMethod(paymentMethodJson, index)

// Handle further actions (like 3DS etc) asked by Adyen in (action key in /payments response - ie iDEAL, Bancontact)
AdyenDropIn.handleAction(actionJson)

// Notify Adyen Drop In of the payment result.
AdyenDropIn.handlePaymentResult(paymentResult)

// Register a listener on Adyen3DS2Component and RedirectComponent responses
AdyenDropIn.onPaymentProvide((response) => {})
/**
 * response {
 *  isDropIn: boolean,
 *  env: string,
 *  msg: string,
 *  data: {
 *      paymentData,
 *      details,
 *  }
 * }
 */

// Register a listener on payment failures
AdyenDropIn.onPaymentFail((error) => {})
/**
 * error {
 *  isDropIn: boolean,
 *  env: string,
 *  msg: string, // error message
 *  error: string // exception message
 * }
 */

// Register a listener when payment form is submitted
AdyenDropIn.onPaymentSubmit((response) => {})
/**
 * response {
 *  isDropIn: boolean,
 *  env: string,
 *  data: {
 *      paymentMethod: {
 *          type: "scheme",
 *          recurringDetailReference: string
 *      },
 *      storePaymentMethod: true,
 *  }
 * }
 */

License

This repository is open source and available under the MIT license.

react-native-adyen-drop-in's People

Contributors

duynd1 avatar yourit avatar

Forkers

infohkengage

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.