Nummuspay Checkout Hosted Pages
This option doesn't require any development effort, and you don't have to worry about PCI Compliance, because you avoid the sensitive card information passing through your server. Our hosted checkout pages are fully PCI compliant. Nummuspay hosted checkout pages are created automatically via the dashboard interface when you create a product. You are able to add your logo, company details and choose your preferable colors.
This is the simplest way to implement Nummuspay to your website and make online payments possible. The checkout URL will be: YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/checkout. Nummuspay checkout pages support multiple payment gateways such as paypal, braintree, stripe etc.
Hosted payment pages allow customers to choose and buy your product or service, while you are able to collect card details and personal information from each transaction without worrying about PCI-compliance.
Checkout process via hosted payment pages is simple enough. By creating a product on nummuspay dashboard, nummuspay automatically create public checkout pages. Nummuspay provides you with 4 different links to the Public Signup Page for the Products you would like to offer to your customers. Once you embed one of these links in your website, your customer can buy your product or subscribe to your plan by giving their personal and card information.
There are 2 different scenarios to embed hosted payment page in your website:
- 1st scenario: Checkout link
In this case you add the checkout link to a button, text or page in your website and when customers click on "Subscribe", "Pricing" or "Buy" button or text they’ll be redirected to the hosted payment page to compete the transaction. in this scenario the hosted checkout page appears as a separate page outside of your site.
- 2nd scenario: Using an iframe
In this case you allow customers to stay on your site while they complete checkout. In order to embed the hosted payment page in an iframe, you have to add following code in your website where you want to embed the specific hosted page:
Example:
<iframe src="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout?publicCheckoutPageID=YOUR_CHECKOUT_PAGE_ID" allow="geolocation"></iframe>
You can find your checkout page ID by visiting your check out page on nummuspay dashboard.
The following parameters can be used in javascript function Nummuspay.Checkout:
Type | Parameter name | Parameter description |
---|---|---|
long | projectID | When provided, checkout will use your first checkout page or create one if none found |
long | invoiceID | When provided, checkout will prefill products, customer |
long | publicCheckoutPageID | The id of your checkout page |
long | productID | Specify a product by id |
int | productQuantity | Specify the product's quantity |
string | currency | Specify a 3-letter currency code to display checkout amounts (e.g USD) |
decimal? | amount | When provided, a specific amount to charge the customer (a dummy product will be created) |
string | firstName | When provided, prefill customer info |
string | lastName | When provided, prefill customer info |
string | When provided, prefill customer info | |
string | company | When provided, prefill customer info |
string | phone | When provided, prefill customer info |
string | billingAddress1 | When provided, prefill customer info |
string | billingAddress2 | When provided, prefill customer info |
string | billingCountry | When provided, prefill customer info |
string | billingState | When provided, prefill customer info |
string | billingCity | When provided, prefill customer info |
string | billingZip | When provided, prefill customer info |
bool | shippingSameAsBilling | When provided, prefill customer info |
string | shippingAddress1 | When provided, prefill customer info |
string | shippingAddress2 | When provided, prefill customer info |
string | shippingCountry | When provided, prefill customer info |
string | shippingState | When provided, prefill customer info |
string | shippingCity | When provided, prefill customer info |
string | shippingZip | When provided, prefill customer info |
bool | issueInvoice | When provided, we create and send an invoice to customer |
bool | capture | When provided, if false we just authorize the transaction, if true we both authorize-capture the transaction |
long[] | vendorID | When provided, we show products associated with these vendor IDs |
bool | hideHeaderFooter | When provided, we show/hide the checkout header/footer |
string | merchantUniqueID | When provided, we set this unique id to the transaction metadata |
string | collectCustomerInfo | When provided, customer details are required to be collected |
string | customerToken | When provided, a specific customer is used* |
bool | hideCookieNotice | When provided we hide the accept cookies notice |
long | businessID | When provided we assign a specific customer business to the transaction |
bool | hideCustomerInfo | When provided we hide customer info from checkout right side panel |
bool | splitDiscountWithVendor | This should be set to true if you want to split the discount amount with your vendor. If the discount should be taken from the marketplace share, set it to false |
- 3rd scenario: Sending extended parameters to checkout
In this case you have the same result with 1st scenario, while additionally you have the option to send some of the parameters listed below:
Type | Required | Parameter name | Parameter description |
---|---|---|---|
long | yes | PublicCheckoutPage.ID | The id of your public checkout page |
string | Currency.ISO4217 | Override checkout page's currency setting | |
string | CartProducts[0].ProductType | Product type (Service, Subscription, Goods) | |
string | CartProducts[0].Title | Product title | |
string | CartProducts[0].Description | Product description | |
decimal | CartProducts[0].Price | Product price | |
decimal | CartProducts[0].Shipping | Product shipping price | |
decimal | CartProducts[0].Tax | Product vat rate | |
int | CartProducts[0].Quantity | Product quantity | |
decimal | CartProducts[0].SetupFee |
Subscription setup fee amount | |
decimal | CartProducts[0].SecurityDeposit |
Subscription security deposit amount | |
string | CartProducts[0].Period |
Subscription charge period (Day, Month, Term, Semester, Year) | |
int | CartProducts[0].PeriodInterval |
Subscription charge period interval | |
string | CartProducts[0].CalendarBilling |
Subscription calendar billing in case of Month period (SignupDate, Day01, Day02, ... Day28, DayLast) | |
long | CartProducts[0].Vendors[0].ID | Product vendor ID | |
decimal | CartProducts[0].Vendors[0].CommisionAmountOverride | Vendor commision amount | |
string | Customer.Email | Your customer's email | |
string | Customer.FirstName | Your customer's first name | |
string | Customer.LastName | Your customer's last name | |
string | Customer.BillingAddress1 | Your customer's billing address line 1 | |
string | Customer.BillingAddress2 | Your customer's billing address line 2 | |
string | Customer.BillingCity | Your customer's billing city | |
string | Customer.BillingZip | Your customer's billing zip | |
string | Customer.BillingCountry.CountryCode2Letter | Your customer's 2-letter billing country code | |
string | Customer.BillingState.Name | Your customer's billing state | |
bool | Customer.UseSameAsBilling | True: uses the same data as billing for shipping details | |
string | Customer.ShippingAddress1 | Your customer's shipping address line 1 | |
string | Customer.ShippingAddress2 | Your customer's shipping address line 2 | |
string | Customer.ShippingCity | Your customer's shipping city | |
string | Customer.ShippingZip | Your customer's shipping zip | |
string | Customer.ShippingCountry.CountryCode2Letter | Your customer's 2-letter shipping country code | |
string | Customer.ShippingState.Name | Your customer's shipping state | |
string | Customer.Company | Your customer's company | |
string | Customer.VatCountry | Your customer's 2-letter vat country code | |
string | Customer.VatNumber | Your customer's vat number | |
string | Customer.Phone | Your customer's phone number | |
string | Customer.Email | Your customer's email | |
bool | HideHeaderFooter | Hides checkout page header & footer | |
bool | FixCapture | Override payment method's default setting, true: auth & capture, false: only auth | |
string | CouponCode | Coupon code | |
long | BusinessID | Customer's business ID | |
bool | IssueInvoice | Override checkout page's issue invoice setting | |
decimal | FixPrice | Creates a dummy product with specific amout (Currency.ISO4217 is also required). | |
decimal | FixTax | Fixed vat percentage (for example: 19 for 19%) | |
bool | HideCustomerInfo | Hides checkout customer info from right side panel | |
string | Metadata[0].Name | Metadata array item name (for example: merchantUniqueID) | |
string | Metadata[0].Value | Metadata array item value (for example: YOUR_UNIQUE_MERCHANT_ID) | |
bool | SplitDiscountWithVendor | This should be set to true if you want to split the discount amount with your vendor. If the discount should be taken from the marketplace share, set it to false |
Examples:
- Product selection
<form action="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout" method="post"> <input type="hidden" name="PublicCheckoutPage.ID" value="YOUR_CHECKOUT_PAGE_ID" /> <button type="submit">CHECKOUT</button> </form>
- Customer info (with selected product)
<form action="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout" method="post"> <input type="hidden" name="PublicCheckoutPage.ID" value="YOUR_CHECKOUT_PAGE_ID" /> <input type="hidden" name="CartProducts[0].ID" value="YOUR_PRODUCT_ID" /> <input type="hidden" name="CartProducts[0].Quantity" value="YOUR_PRODUCT_QUANTITY" /> <button type="submit">CHECKOUT</button> </form>
- Payment method selection (with selected product and customer)
<form action="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout" method="post"> <input type="hidden" name="PublicCheckoutPage.ID" value="YOUR_CHECKOUT_PAGE_ID" /> <input type="hidden" name="CartProducts[0].ID" value="YOUR_PRODUCT_ID" /> <input type="hidden" name="CartProducts[0].Quantity" value="YOUR_PRODUCT_QUANTITY" /> <input type="hidden" name="Customer.Token" value="YOUR_CUSTOMER_TOKEN" /> <button type="submit">CHECKOUT</button> </form>
- Payment method selection (with selected new products, customer and vendor with custom amount/percent)
<form action="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout" method="post"> <input type="hidden" name="PublicCheckoutPage.ID" value="YOUR_CHECKOUT_PAGE_ID" /> <input type="hidden" name="Currency.ISO4217" value="YOUR_CURRENCY" /> <input type="hidden" name="CartProducts[0].ProductType" value="YOUR_PRODUCT_TYPE" /> <input type="hidden" name="CartProducts[0].Title" value="YOUR_PRODUCT_TITLE" /> <input type="hidden" name="CartProducts[0].Description" value="YOUR_PRODUCT_DESCRIPTION" /> <input type="hidden" name="CartProducts[0].Price" value="YOUR_PRODUCT_PRICE" /> <input type="hidden" name="CartProducts[0].Quantity" value="YOUR_PRODUCT_QUANTITY" /> <input type="hidden" name="CartProducts[0].Vendors[0].ID" value="YOUR_VENDOR_ID" /> <input type="hidden" name="CartProducts[0].Vendors[0].CommisionAmountOverride" value="YOUR_VENDOR'S_AMOUNT" /> <input type="hidden" name="CartProducts[1].ProductType" value="YOUR_PRODUCT_TYPE" /> <input type="hidden" name="CartProducts[1].Title" value="YOUR_PRODUCT_TITLE" /> <input type="hidden" name="CartProducts[1].Description" value="YOUR_PRODUCT_DESCRIPTION" /> <input type="hidden" name="CartProducts[1].Price" value="YOUR_PRODUCT_PRICE" /> <input type="hidden" name="CartProducts[1].Quantity" value="YOUR_PRODUCT_QUANTITY" /> <input type="hidden" name="CartProducts[1].Vendors[0].ID" value="YOUR_VENDOR_ID" /> <input type="hidden" name="CartProducts[1].Vendors[0].CommisionPercentOverride" value="YOUR_VENDOR'S_PERCENT" /> <input type="hidden" name="Customer.Token" value="YOUR_CUSTOMER_TOKEN" /> <button type="submit">CHECKOUT</button> </form>
- Payment method selection (with selected new subscription, customer and using custom metadata)
<form action="https://YOUR_NUMMUSPAY_SUBDOMAIN.nummuspay.com/Checkout" method="post"> <input type="hidden" name="PublicCheckoutPage.ID" value="YOUR_CHECKOUT_PAGE_ID" /> <input type="hidden" name="Currency.ISO4217" value="YOUR_CURRENCY" /> <input type="hidden" name="CartProducts[0].ProductType" value="Subscription" /> <input type="hidden" name="CartProducts[0].Title" value="YOUR_SUBSCRIPTION_TITLE" /> <input type="hidden" name="CartProducts[0].Description" value="YOUR_SUBSCRIPTION_DESCRIPTION" /> <input type="hidden" name="CartProducts[0].Price" value="YOUR_SUBSCRIPTION_PRICE" /> <input type="hidden" name="CartProducts[0].Tax" value="YOUR_SUBSCRIPTION_PRICE_TAX_PERCENTAGE" /> <input type="hidden" name="CartProducts[0].SetupFee" value="YOUR_SUBSCRIPTION_SETUP_FEE_AMOUNT" /> <input type="hidden" name="CartProducts[0].SecurityDeposit" value="YOUR_SUBSCRIPTION_SECURITY_DEPOSIT_AMOUNT" /> <input type="hidden" name="CartProducts[0].Period" value="YOUR_SUBSCRIPTION_CHARGE_PERIOD" /> <input type="hidden" name="CartProducts[0].PeriodInterval" value="YOUR_SUBSCRIPTION_CHARGE_PERIOD_INTERVAL" /> <input type="hidden" name="CartProducts[0].CalendarBilling" value="YOUR_SUBSCRIPTION_CALENDAR_BILLING" /> <input type="hidden" name="Metadata[0].Name" value="customField1" /> <input type="hidden" name="Metadata[0].Value" value="custom field 1 value" /> <input type="hidden" name="Metadata[1].Name" value="customField2" /> <input type="hidden" name="Metadata[1].Value" value="custom field 2 value" /> <input type="hidden" name="Customer.Token" value="YOUR_CUSTOMER_TOKEN" /> <button type="submit">CHECKOUT</button> </form>
If you want to receive real-time notifications whenever a pre-defined event occurs in your billing site, you have to set up webhooks. Here you can find all available webhooks
Learn more regarding checkout pages