Deployment
Once the integration has been verified end-to-end in the sandbox (see Testing), follow this checklist to go live.
Production CDN
Swap the script source from the test bundle to the production bundle:
<!-- Sandbox -->
<script src='https://test-pay.dnapayments.com/components/paypal/paypal-component.js'></script>
<!-- Production -->
<script src='https://pay.dnapayments.com/components/paypal/paypal-component.js'></script>
The bundle determines the default environment, so the environment field in init() can be omitted in production. Pass it explicitly only if you need to override.
Go-live checklist
| # | Step | Where |
|---|---|---|
| 1 | PayPal is enabled on the production terminal in Settings → Online payment methods → PayPal | portal.dnapayments.com |
| 2 | Backend uses production clientId, clientSecret and terminalId, and requests tokens from https://oauth.dnapayments.com/oauth2/token (instead of the test-oauth URL) | Your backend |
| 3 | <script> tag points at https://pay.dnapayments.com/components/paypal/paypal-component.js | Your HTML |
| 4 | Content-Security-Policy allows pay.dnapayments.com and the PayPal JS SDK host (*.paypal.com) | Your CSP headers |
| 5 | Smoke-test a small live transaction end-to-end (PayPal Smart Payment Button → live PayPal account → DNA Payments backend) and reconcile in the portal | Browser + portal |