PayPack Logs
PayPack keeps a log record of all processes for payment charges and refunds.
You can find logs under each NetSuite transaction’s subtab or by using the custom PayPack pages listed below.
- PayPack Payment Intent
- PayPack Charge Logs
- PayPack Customer Statement Logs
- PayPack Refund Logs
- PayPack Stripe Webhook Event Logs
- PayPack Developer Logs (requires enabling debug mode in PayPack configuration)
NetSuite Logs
NetSuite automatically records script execution logs for background processes (SuiteScripts, Map/Reduce, User Event, RESTlets, etc.).
By default, PayPack script deployments are set to Error Log Level.
Debug logs (DEBUG) will only appear if the Log Level field on the Script Deployment is set to Debug or Testing. If it is set to Audit or Error, NetSuite skips recording debug-level messages.
If you encounter unexpected behavior or need to collect logs for support, follow the steps below to view both Debug and Error messages.
View Specific Script Deployment
-
Navigate to Script Deployments:
- In NetSuite, go to Customization > Scripting > Script Deployments.
-
Locate the Target Script:
- Use the filters to find the script or integration deployment you want to inspect.
- Click View or Edit next to the deployment record.
-
Open the Execution Log Subtab:
- Scroll down to the subtabs area near the bottom of the page and select Execution Log.
-
Inspect the Logs:
- Date / Time: Indicates when the entry was created.
-
Type: Identifies severity (
DEBUG,AUDIT,ERROR,EMERGENCY). - Title: Short description or function name.
- Details: Displays the full error message, stack trace, or payload object.
View All Execution Logs
If you are unsure which specific script created an error, you can search across all execution logs at once:
- Go to Customization > Scripting > Script Execution Logs.
- Use the filters at the top of the page to narrow your search:
-
Log Type: Filter by
ERRORorDEBUG. - Date: Select a specific timeframe (e.g., Today or Last 7 Days).
- Script / Deployment: Filter by script name if known.
-
Log Type: Filter by
- Click Refresh to review the log entries.
Best Practices & Troubleshooting Tips
- Copying Full Error Messages: Click into or expand the Details column to copy the full exception message or JSON payload when sharing details with support.
- Log Retention: NetSuite automatically purges execution logs periodically as new logs are generated. Export or save relevant logs immediately after reproducing an issue.
- Temporary Log Level Adjustments: If you need to troubleshoot an active issue, temporarily set the Script Deployment Log Level to Debug, reproduce the issue, collect the logs, and set the Log Level back to Error or Audit.
Common Errors
Below is a list of common PayPack error messages and how to resolve them.
Error Message |
Error Reason |
| Invalid Payload when syncing customer to Stripe manually. | No email address on the customer record. Check the configuration saved search that is used for customer syncing. |
| No such customer: 'cus_N1C3tRaelKyvFk'; a similar object exists in test mode, but a live mode key was used to make this request. | This occurs when a NetSuite customer has already been synced to a Stripe Test Mode environment with test mode key. To fix, remove the value in the customer's field Stripe Customer Id (PayPack) and re-sync. |
| Multiple customers with same email exists in Stripe | In the event Stripe has multiple customers with the same email address, it is best to manually import the corresponding Stripe Customer ID to the NetSuite Customer record. This can be manually done or using NetSuite CSV Imports. |
| Unable to load the payment form. Please contact us. |
A payment link will be generated on a NetSuite Sales Order, Invoice, or Invoice Group record. The script is a user event type that runs after submit. In certain situations when other NetSuite scripts are running, the payment link script may be delayed in executing. Please troubleshoot what other scripts may be causing the delay. For other scenarios, bad HTML in the payment link header design can also cause the page to break. In some cases, poorly formatted double quotes in the currency field mapping can also cause issues which results in an error message: "Unterminated string literal". Lastly, always check to see if another customer deposit or customer payment has already been applied to the transaction. |
| Invalid Page Parameter. Unable to view page. | NetSuite introduced an additional parameter, &ns-at=<VALUE>, to be added to the internal URL of Suitelets to ensure continued user access. As a result, existing Stripe Invoice links missing this new parameter, may become invalid. To fix this error, the payment link under the PayPack Data → PayPack Fields tab needs to be regenerated. Select edit on the invoice then delete the payment link. Click save and a new payment link will be created. |
| Getting error while generating customer portal Session URL |
Activate Stripe customer portal link in the Stripe configuration settings. See Stripe Customer Portal help article for reference. |
Stripe Error Codes
Find the latest Stripe API error codes, HTTP status codes, and error types by visiting the links below.
HTTP STATUS CODE SUMMARY
| 200 - OK | Everything worked as expected. |
| 400 - Bad Request | The request was unacceptable, often due to missing a required parameter. |
| 401 - Unauthorized | No valid API key provided. |
| 402 - Request Failed | The parameters were valid but the request failed. |
| 403 - Forbidden | The API key doesn't have permissions to perform the request. |
| 404 - Not Found | The requested resource doesn't exist. |
| 409 - Conflict | The request conflicts with another request (perhaps due to using the same idempotent key). |
| 429 - Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
| 500, 502, 503, 504 - Server Errors | Something went wrong on Stripe's end. (These are rare.) |
ERROR TYPES
| api_error | API errors cover any other type of problem (e.g., a temporary problem with Stripe's servers), and are extremely uncommon. |
| card_error | Card errors are the most common type of error you should expect to handle. They result when the user enters a card that can't be charged for some reason. |
| idempotency_error | Idempotency errors occur when anIdempotency-Keyis re-used on a request that does not match the first request's API endpoint and parameters. |
| invalid_request_error | Invalid request errors arise when your request has invalid parameters. |