Getting Started With Neutro

Intro

Neutro is an easy to set up and integrate, additional e-commerce payment gateway.
Once set up, any payments made with Neutro will arrive instantly in your bank account.

Currently, Neutro only operates in the UK. We will expand as Open Banking becomes available in other countries.

To see how simple the payments are click here Or try Neutro out for yourself here

Contact us at support@neutro.net with any questions.

Who can use Neutro Payments

Any e-commerce merchants can use Neutro as a payment gateway.
Easy integration is already available via plugins for WooCommerce and Magento 2. Neutro is also available for easy integration with our API.

For legal reasons we must perform KYC before any live payments are available but this is typically a five-minute call. You can use the gateway with a sandbox (test) bank until we confirm you as a business.

Registering for a merchant API key

  • Apply here: https://app.neutro.net/#/merchant/new
  • You will receive an API key which works with a “sandbox bank”
  • Note that sandbox NatWest bank account number is 123456789012
  • Once your integration is live and tested, contact Neutro at support@neutro.net to request that your API key be enabled for live payments.

WooCommerce Installation

  • Install the Neutro Payments plugin on your WordPress site
    • Go to your WordPress admin page. Plugins -> Add New -> Search plugins
    • Search for “Neutro Payments”
    • Install the plugin
    • Activate the plugin
  • Activate Neutro with your API key
    • Make sure you have you API key – Steps explained above
    • Go to WooCommerce >> Settings >> Payments and click “manage” next to the Neutro payment option
    • Copy your API key to the API KEY field
  • You can now turn on Neutro payments with a fake bank account for testing
    • Go to WooCommerce >> Settings >> Payments, and switch the “enabled” switch to activate Neutro as a payment system
  • Activate Neutro for live payments
    • Neutro must preform a short, legally required, KYC call before you can receive live payments. This is typically a 3 minute call. Contact us at support@neutro.net to set up the call

And that’s it, Neutro is now a payment option in your store.

Magento 2 Installation

  • Download the plugin from the Magento Marketplace and install it in your shop
  • Go to your store setting Stores >> Configurations >> Sales >> Payment Methods >> Neutro Payment
    • Set “Live Mode” to Yes
    • Set “Payment from applicable counties” to “Specific Countries”
    • Set “Payment from specific Countries” to “United Kingdom”
    • Add your API key
    • Set “Enabled” to Yes
      • Neutro payments are now active on you site, but with our test bank for testing purposes.
    • Neutro must preform a short, legally required, KYC call before you can receive live payments. This is typically a 3 minute call. Contact us at support@neutro.net to set up the call

And that’s it, Neutro is now a payment option in your store.

Direct API integration

In case you have your own e-commerce solution not based on Magento or WooCommerce, here is an integration guide.

Prepare payment

Request

POST https://test.neutro.net/servlet/requestPayment
BODY:
apiKey = [Required, the merchant API key you obtained above]
amount = 123.45 [required]
currency=GBP  [required only GBP allowed for now]
callbackUrl = [URL in your site site that Neutro will call when payment executed or failed]
merchantTransactionId = [your id of transaction e.g. order number. recommended!]
userID = [identifier of the user if signed in to shop. recommended!]
transactionDesc = [optional description of the most expensive item in the shopping card]
transactionRef = [optional reference e.g. the end-customers reference number]

For a standing order (repeat payment only) add to the request

firstPaymentDate = [optional first date yyyy-mm-dd.  Default is today.  However some banks (NatWest group) require this and require that it is at least 3 business days in the future]
dayOfWeek = 2=Monday...6=Friday [for standing order must specify this or dayOfMonth but not both] 
dayOfMonth = 1..31 [for standing order must specify this or dayOfWeek but not both] 

Response

The response to the POST will be

{
	startPaymentUrl: [URL to send the user to],
	neutroPaymentRequestId: [Neutro’s identifier for the transaction - not secret],
}

Redirect user

Redirect your user to the URL provided in startPaymentUrl

Now Neutro will allow the user to select their bank, connect to their bank, and transfer the requested amount to your bank.

Receive callback

After payment, Neutro will redirect user’s browser back to the callbackUrl you provided.

(Note you can use the callbackUrl parameter https://app.neutro.net/testShopCallback.jsp for testing callbacks)

The redirect will have the following parameters added

merchantTransactionId= [Will match the value passed to Neutro]
neutroPaymentRequestId= [will match the neutroPaymentRequestId from /requestPament response]
neutroSinglePaymentId= [new key to be used for status verification]
status=executed|failed|rejected|cancelled

Or for a failure result will be one of: failed cancelled rejected

Callback may be called more than once.

Validate status

After receiving the call back take the parameter neutroSinglePaymentId  and call

GET http://app.neutro.net/servlet/paymentStatus
?neutroSinglePaymentId=...
&neutroPaymentRequestId=...

Response should be the same status as you received

{
  status=executed|failed|rejected|cancelled, 
  currency=
  amount=
  ... 
}

After validating the status, if executed, confirm the order in the shop. If any other status, offer the user to retry Neutro payment or try another payment method.

If executed, the payment should appear instantly in your bank account.