Payment LinkUpdated a month ago
Easily add a payment link to NetSuite sales orders, invoices, invoice groups, and quotes/estimates that are sent to your customers. This allows them to pay using any payment method supported by Stripe.
Note: Invoice groups is a feature that needs to be enabled on NetSuite. See NetSuite's documentation for Invoice Groups Setup.
Enable Payment Link
Enable the feature by selecting the checkbox for Enable Payment Link on Sales Order & Invoice.
Disable Payment Link Script
In some business workflows, NetSuite users may want a payment link on the Sales Order but not on the Quote/Estimate.
Follow the steps below to disable payment links from generating for the following NetSuite transactions (Quote/Estimate, Sales Order, Invoice, and Invoice Groups).
- Go to NetSuite → Customization → Scripting → Script Deployments
- Click on Filters and select User Event in the Type Dropdown.
- For Quote/Estimate, search for script "nm PayPack Estimate Generate Param". For Sales Order/Invoice/Invoice Groups, search for script "nm PayPack for NS Generate Param".
- Click on Edit.
- Uncheck the checkbox DEPLOYED on the page and change the status to TESTING.
- Finally click Save.
Display Billing Address
Show or hide the transaction billing address by selecting the checkbox for Display Billing Address.
Save Payment Methods
If there is a requirement to save customer payment method to their Stripe customer at the time of payment, select the checkbox for Save Payment Method in Stripe. Additionally, you can check Default if you want to automatically mark the newly saved payment method as the default moving forward.
Saved Cards
Offer customers the ability to save cards on a payment link for future purchases. This is a different customer experience than using Stripe Link.
Enable this setting by checking Display Saved Cards.
The payment link will have a new option named Saved.
Note
A customer can choose to save payment details by selecting the checkbox.
Note: If the payment link configuration also has Save Payment Method in Stripe checked, this will remove the customer facing checkbox and display a notice on the page.
Supported Payment Methods
Specify which payment methods will be available for a customer on a payment link by selecting the available payment methods in the PayPack configuration. This is a global setting that is applied to all transactions.
Using Rule-Based Logic
With PayPack, you are able to leverage NetSuite Workflows to define rules for displaying specific payment methods at the customer and transaction level (quote, sales order, invoice, and invoice group).
Example 1: Select allowable payment methods at the customer level.
Example 2: Select allowable payment methods at the transaction level.
Example 3: Automatically select ACH Direct Debit as the only allowable payment method for all Sales Orders with a total greater than to $100.
- Step 1 - Create a new NetSuite Workflow.
- Step 2 - Set the workflow event definition.
- Step 3 - Update parameters field and value selection.
The following is a list of payment methods currently supported by PayPack:
- Pre-authorized debit payments
- Affirm
- Afterpay / Clearpay
- Alipay
- Amazon Pay
- BECS Direct Debit
- Bacs Direct Debit
- Bancontact
- BLIK
- Boleto
- Card payments
- Stripe Terminal
- Bank Transfer
- EPS
- FPX
- giropay
- GrabPay
- iDEAL
- Interac Stripe Terminal
- Klarna
- Konbini
- Link
- OXXO
- Przelewy24
- PayNow
- PayPal
- PromptPay
- SEPA Direct Debit
- Sofort
- ACH Direct Debit
- WeChat Pay
Please note that support for specific payment methods can vary depending on the customer's location and the currency used for the transaction. You can find the latest information on regionally available payment methods through Stripe's guide: Guide to Payment Methods.
Pay Other Amount
When using Sales Order Prepayment or Invoice Partial Payment Percentages, a customer can also Pay Other Amount. The minimum amount is the percentage set for the transaction and a customer can choose to pay any amount between the minimum and 100%.
ACH Micro-Deposit Verification
Enable the feature by selecting the checkbox for Enable Micro-Deposit Verification.
When Micro-Deposit Verification is enabled, you will see a notice above the Pay button and under Stripe's pop-up Agree button.
Payment Schedule
When a customer preference needs to be collected as one-time or recurring charge, this setting can be enabled and displayed on the payment link page.
The recurring toggle, Default Recurring, can be set to on so it automatically shows as recurring on the payment link page. Additionally, the payment schedule label text can be modified to meet your business requirements.
Customer records will store the payment schedule option under the custom PayPack field.
Customize the Header & Footer
Update the header or footer design using the WYSIWYG editors.
- Header Design (label) is used for anything above the payment form.
- Add Text to Payment Link Page (label) is used for anything below the payment form.
When dealing multiple brands on the sales order or invoice, include conditional logic on the record type fields to specify appropriate content.
1<#if record.custbody2 == 'Offline Order'>2 <img src="https://www.novamodule.com/novamodule-logo.png">3<#else>4 <img src="https://www.novamodule.com/PayPack-Logo.png">5<#if>
Add custom footer text using text area field Add Text to Payment Link Page.
Additionally customize footer text on the error page by using text area field Add Text to Error Page.
Guest Checkout Customer ID
When using the PayPack payment link for guest checkout, you are able to set a single Stripe Customer ID to catch all transactional data into Stripe. This will benefit your Stripe dashboard so a new Stripe Customer ID will not be created for every PayPack payment link checkout.
When using guest checkout Stripe Customer ID, certain payment link features will no longer be available for security reasons such as:
- Save Payment Method in Stripe
- Enable Payment Schedule
Note: In order for a PayPack payment link to use a guest checkout customer ID, the NetSuite Stripe Customer Id (PayPack) field must be blank. The customer record Stripe Customer Id will take priority over the Guest Checkout Customer ID.
Payment Intent Cancellation
There are instances where an invoice that is open may have multiple Stripe Payment Intents. In order to close out Stripe Payment Intents when an invoice status changes to paid, you will need to add a Saved Search ID.
Saved Search Template Name: novamodule PayPack Payment Intent Cancellation
After saving your Payment Intent Cancellation Saved Search ID, you will need to deploy the script nm PayPack for Payment Intent Cancel.
Payment Intent Process
If you are using payment methods that require authorization and a delayed capture process (i.e. ACH Direct Debit), a script deployment for nm PayPack for Payment Intent Process is required.
This script will run every so often to check if the Stripe Payment Intent has been updated from processing to succeeded.
Sales Order Prepayment
PayPack supports prepayment percentage using a global configuration value, a custom field on the Sales Order, or by a couple configuration override field IDs on the sales order and customer records.
Note: Prepayment percentage only applies on the first payment of a sales order. The subsequent amount due will be the remaining amount of the sales order.
The override record is prioritized from top to bottom.
- Sales Order Field ID (Override Percentage)- Find this at PayPack's Configuration → Payment Link → Sales Order Prepayment.
- Prepayment Percentage on Sales Order Record- Find this on the Sales Order → novamodule tab → PayPack subtab.
- Customer Field ID (Override Percentage)- Find this at PayPack's Configuration → Payment Link → Sales Order Prepayment.
- Prepayment Percentage on Customer Record - Find this on the Customer → novamodule tab → PayPack subtab.
- Prepayment Percentage (%) - Find this at PayPack's Configuration → Payment Link → Sales Order Prepayment. This is the global configuration value.
Invoice Partial Payment
PayPack supports partial payment percentage using a global configuration value, a custom field on the Invoice, or with a configuration override custom field ID on the invoice records.
The override record is prioritized from top to bottom.
- Invoice Field ID (Override Percentage)- Find this at PayPack's Configuration → Payment Link → Invoice Partial Payment.
- If this field id is populated in the configuration, any invoice that has a blank field value will automatically set partial percentage to 100%.
- Partial Percentage- Find this on the Invoice → novamodule tab → PayPack subtab.
- If this field is empty in the invoice, the partial percentage will default to the global configuration value.
- Partial Percentage (%) - Find this at PayPack's Configuration → Payment Link → Invoice Partial Payment. This is the global configuration value.
Stripe Radar Rules
Occassionally there may be a requirement to only allow debit cards. With the Stripe card payment method, there is no option to allow for debit cards and not credit cards.
With Stripe Radar fraud rules, it is possible to block credit cards by adding a block rule (card_funding = 'credit').
Add Payment Link to Email Template
PayPack supports adding a Payment link to NetSuite's Advance PDF/HTML template. This type of template is found under Customization > Forms > Advance PDF/HTML Templates.
To add the Payment Link Field to this form:
- Open the form you would like to add the payment link too
- Navigate to the section where you want to add the payment link
- Click the "plus" button
- Search for "PayPack Payment Link" or "PayPack Payment Link (Plain Text)"
If you would like to add a Payment Link to a button, you will need to add the field ID, custbody_nm_stripe_charge_pt_lnk_plain, to the source code of your document:
This is an example of the document when it is ready to be sent:
To display the PayPack customer portal link instead of a payment link for customers with a recurring payment schedule, use the below NetSuite PDF/HTML form syntax.
1<#if record.entity.custentity_nm_stripecharge_pay_schedule=="Recurring">2 <a href="${record.entity.custentity_pp_stripe_cust_port_lnk}" rel="link">Click Here to Update Payment Method</a>3<#else>4 <a href="${record.custbody_nm_stripe_charge_pt_lnk_plain}" rel="link">Click Here to Pay Invoice Online</a>5</#if>