@anteprimorac
@josipmatichr
@marijapolovic
Adds Reepay payment provider for Medusa Commerce.
Install:
npm i @agilo/medusa-payment-reepay
Add to medusa-config.js
{
resolve: `@agilo/medusa-payment-reepay`,
options: {
api_key: REEPAY_API_KEY,
payment_methods: ["mobilepay"],
webhook_secret: WEBOOK_SECRET,
accept_url: "www.some-webshop.com/checkout/payment",
cancel_url: "www.some-webshop.com/checkout",
},
}
Enable reepay as a payment provider in Medusa admin settings
Use Medusa API to create Payment Sessions for the available payment providers.
This will create a Reepay charge session.
Request
{
settle: false,
order: {
handle: CART_ID,
amount: TOTAL,
currency: CURRENCY_CODE,
customer: {
email: CART_EMAIL,
},
},
payment_methods: this.options_.payment_methods,
accept_url: this.options_.accept_url,
cancel_url: this.options_.cancel_url,
}
Response
{
id: "string",
url: "string"
}
Use Medusa API to complete cart, this will result in an attempt to authorize payment.
To authorize payment using Reepay checkout you can use cart.payment_session.data.action.url
to redirect user to the checkout page.
After completion user is redirected to the options.accept_url
, where you can complete a cart.
If you're using webhooks you should make sure to check that the cart is not already completed to avoid conflict. In this case you should retrieve an order before trying to complete the cart.
Capturing payment will result in an attempt to settle a payment
Canceling an order will result in an attempt to cancel a charge
Creating a refund will result in an attempt to create a refund
Currently, the only supported webhook is for invoice_authorized.
Once this webhook is fired, this will result in an attempt to complete a cart.
To enable MobilePay payment method you should add a MobilePay acquirer in the Reepay acquiring configuration. After that you should add "mobilepay" as a payment method in the medusa-payment-reepay options.
Medusa Docs
https://docs.medusajs.com/
Reepay Docs
https://reference.reepay.com/api/
MobilePay Docs
https://developer.mobilepay.dk/products/online/test