Integrating with the ProCheckout API brings frictionless payments to your web site. MEO Wallet handles all the complexity of dealing with different payment providers and gives you a single workflow to accept payments. You also get a single API for Web, Mobile and other channels such as MEO Interactive TV.
The workflow is simple
After getting your authentication token, you start by calling /api/v2/checkout to initialize the checkout process with your parameters. Like this:
MEO Wallet returns:
Then you redirect the user to wallet.pt using the provided url_redirect
URL. When all payments details are handled MEO Wallet redirects your customer back to your website using the URLs you provided. If everything goes well you will then receive a callback on your platform signaling the money is safely in your wallet. For some payment methods which require users to take extra actions (like Multibanco, an asynchronous payment method) you might receive more callbacks notifying the payment process is pending user action.
To know more more about callbacks click here.
Pro Checkout supports the payment methods below.
Method | Description | |
---|---|---|
MEO Wallet | MEO Wallet own payment method using your account balance | |
Multibanco | A popular payment method specific to Portugal with a large network of ATM machines and which allows deferred payments | |
MBWay | A payment method specific to Portugal available on smartphones which uses the Multibanco network | |
Payment Card | Common credit/debit card payment method. Supported schemes are currently VISA and MasterCard. | |
Google Pay™ | Payment with cards stored in a Google account. Supported schemes are currently VISA and MasterCard. | |
Apple Pay™ | Payment with cards stored in an Apple Pay account. Supported schemes are currently VISA and MasterCard. | |
Paypal™ | Payment with Paypal account |
Some methods may not be available in your wallet configuration. Others require you to agree with some use policy (e.g. Google Pay)
Check your wallet configuraton on your backoffice at https://wallet.pt or contact your account manager for further information.
The API provides you with a number of optional fields you can use to make your store simpler, help the customer and help yourself.
The items
field gives extra context to the user during the payment phase and makes customer support easier when you’re looking at transaction details.
The ext_customerid
, ext_invoiceid
and ext_email
help you with connecting payments with your sales. Passing your identifiers on this fields allows you to integrate MEO Wallet without even changing your database schemas. Just look up your own client or invoice id when you receive a callback or list payments.
MEO Wallet provides visual resources for easy integration into your website in the form of secure payments label which you should include in your website’s footer and premade payment button images to use in your checkout page. You can use the auxilary get payment methods API call to ensure the methods you are showing your customers are up to date.
If you want to keep your web site simple MEO Wallet can ask your customer for name, email, phone number and shipping address. This is configured using required_fields
on the Checkout structure. You can provide defaults for this information on the operation’s Client Data structure which is also where you find the information filled in by your customer.
You can also fill the Payment Item structure in Checkout to give your customer a payment smoother flow by keeping information about what they are buying on screen.
The MEO Wallet website defaults to the portuguese language but follows the browser prefered language. However, if your website supports multiple langagues you can achieve continuity by passing the locale
parameter on the checkout URL (url_redirect
) query string.
For example, if you get:
You can programmatically change it by adding the locale=lang
parameter on your frontend just before doing the actual redirection:
Currently the pt_PT
and en_US
locales are supported.
Instead of a regular payment checkout you can choose to request an authorization checkout which allows you to make sure the specified amount is reserved for a subsequent settlement (capture) which can be done over the total authorized funds or over a partial amount. In the latter case you can issue up to 10 captures provided they do not exceed the total authorized amount. The authorization is valid for 30 days. You can also void it explicitly, totally or partially by issuing a release request.
Currently, the authorizations are restricted to the credit card payment method. If your wallet does not support this payment method, you’ll get a HTTP 404 status upon trying to create an authorization.
Even if you don’t want us to collect customer data for you should still pass customer order information on your checkout request. We use these data in our fraud detection systems and having it makes us more capable of protecting you against fraudulent transactions. This doesn’t mean your business should not do its own fraud detection but that we try to provide an extra line of defense.
Here’s our official security page for more information and good pratices (in Portuguese).
If you have mobile face-to-face or interactive TV scenarios please contact us. We have specific integration architectures for those scenarios.