Overview
A hosted payment page lets you use a payment provider Nexudus doesn’t integrate with. When a customer chooses it to pay an invoice, Nexudus redirects them to a page you build and host. Your page takes the payment with your provider, then sends the customer back to Nexudus with the result, and Nexudus records the payment against the invoice. Both directions are signed with a shared secret, so Nexudus only accepts results that really came from your page. You can set up to three hosted payment pages per location.Building a hosted payment page needs a developer. Your page must read the request parameters, check the signature, take the payment and build a signed response, as described below.
How to access
Go to Settings → Billing and payments → Payments and currency → Payment methods and search for Hosted payment page. Select Hosted payment page #1, #2 or #3.Enable a hosted payment page
- Open a hosted payment page tile.
- Turn on Enabled.
- Enter a Name. Customers see this name as a payment option in the Members Portal.
- Enter your Shared secret.
- Enter your page’s full Payment URL, starting with
https://. - Select Save changes.
The request Nexudus sends
When a customer chooses your page, Nexudus redirects them to your Payment URL with these query string parameters:
Check the signature before you take any payment. Recalculate it from the other parameters with your shared secret and compare.
The response your page sends
After processing the payment, redirect the customer toreturnUrl and append:
If the signature matches and
result is OK, Nexudus records a payment for the amount you sent. You can take partial payments or overpayments: Nexudus records whatever amount you return. If the signature doesn’t match, the payment is not recorded and the customer sees an error.
Worked example
An invoice for $200.00 with payment reference5843, unique ID 446f5f1b-8fb1-41b9-b606-0751e55cd9f6 and a shared secret of Secret.
Request. Nexudus signs 20000|USD|5843|446f5f1b-8fb1-41b9-b606-0751e55cd9f6, which gives:
OK|20000|446f5f1b-8fb1-41b9-b606-0751e55cd9f6, which gives:
returnUrl it received, adding &result=OK&amount=20000&signature=bb1fcc7b4d97a91f11253b1f1f34692719c540d9dd5d4669b32355f8d8d47eb5.
Tips
- Keep
returnUrlexactly as you received it and append your parameters to it. It already contains the invoice and page details Nexudus needs. - Hosted payment pages take one-off payments only. Nexudus can’t use them to collect later invoices automatically.