Skip to main content

Adds a new payment service for Adyen

Project description

Beta License: AGPL-3 shopinvader/odoo-shopinvader-payment

This module implements rest services for Adyen payments.

Table of contents

Configuration

  • Go to Invoicing > Payment Acquirers > Adyen

  • Add the Api key corresponding to the backend user

Usage

This has been developed following https://docs.adyen.com/checkout/drop-in-web and will allow to get automatic payment form generated by Adyen like:

https://user-images.githubusercontent.com/19529533/67020136-02274c00-f0fe-11e9-972b-25014d0cae5c.png

Four services are exposed to manage payments with Adyen.

Here are the services (that can be explored and tested with Swagger):

  • paymentMethods

    • This will call Adyen to retrieve all backend configured payment methods that correspond to the “payable” object (in terms of amount, country, currency, … see Adyen)

    • This takes as parameters:

      • target: (eg.: “current_cart”)

      • payment_mode_id: The Adyen payment mode

    • This will return a dict containing payment methods that are activated on the Adyen backend and intended to be passed to the drop-in widget.

{
 "paymentMethods":[
  {
    "details":[...],
    "name":"Credit Card",
    "type":"scheme"
    ...
  },
  {
    "details":[...],
    "name":"SEPA Direct Debit",
    "type":"sepadirectdebit"
  },
  ...
  ]
}
  • payments

    • This will initiate the payment itself.

    • This takes as parameters:

      • target: (eg.: “current_cart”)

      • payment_mode_id: The Adyen payment mode

      • transaction_id: The current transaction

      • payment_method: The Adyen payment method chosen (bcmc, scheme, …)

      • return_url: The url to return to in case of redirection

    • This will return a dict containing payment response containing :

{
  "resultCode":"IdentifyShopper",
  "action":{
    "paymentMethodType":"scheme",
    "token":"eyJ0aHJlZURTTWV0aG9kTm90aWZpY...",
    "type":"threeDS2Fingerprint"
  },
  "authentication":{
    "threeds2.fingerprintToken":"eyJ0aHJlZURTTWV0aG9kTm90aWZpY..."
  },
  "details":[
    {
      "key":"threeds2.fingerprint",
      "type":"text"
    }
  ],
  "paymentData":"Ab02b4c0!BQABAgCuZFJrQOjSsl\/zt+..."
}
  • payment_details

    • This will allow to pass further details required by provider

    • This takes as parameters:

      • data

      • transaction_id

    • This will return :

{
 data: {
    details: {
      threeds2.fingerprint: "eyJ0aHJlZURTQ29tcEluZCI6IlkifQ=="
    },
    paymentData: "Ab02b4c0!BQABAgAKspbjN8+5..."
 }
}

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

Contributors

Maintainers

Current maintainer:

rousseldenis

This module is part of the shopinvader/odoo-shopinvader-payment project on GitHub.

You are welcome to contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page