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 email 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

Still need help? Contact Us Contact Us