{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Checkout SDK","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"checkout-sdk","__idx":0},"children":["Checkout SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide is for merchant developers integrating Resolve into their e-commerce site. The goal is for your business to offer Resolve as a payment option to your customers as quickly and easily as possible. After integrating Resolve, your site will:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Offer Resolve as payment option on the checkout page"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Process Resolve charges in your order management system"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Load Resolve's credit application on your website"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integration-steps","__idx":1},"children":["Integration steps"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#sandbox-development"},"children":["Request a sandbox account"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-1-add-resolvejs-to-your-website"},"children":["Add Resolve.js to your website"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-2-add-resolve-credit-terms-application-on-your-website"},"children":["Add Resolve credit terms application on your website"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-3-initiate-a-checkout"},"children":["Initiate a checkout"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-4-capture-charge-to-receive-funds"},"children":["Capture charge to receive funds"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-5-test-your-integration"},"children":["Test your integration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#step-6-deploy-to-production"},"children":["Deploy to production"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sandbox-development","__idx":2},"children":["Sandbox development"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Develop and test the Resolve integration in your development environment connected to our sandbox. To get started, reach out to your Resolve account manager to request sandbox API credentials."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-sandbox-customer-account","__idx":3},"children":["Create a sandbox customer account"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://app-sandbox.resolvepay.com/<your_merchant_id>"]}," and submit a test customer application. Resolve will approve your sandbox buyer account for testing purposes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-add-resolvejs-to-your-website","__idx":4},"children":["Step 1: Add Resolve.js to your website"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the Resolve.js embed code to the head of your global page template."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","header":{"controls":{"copy":{}}},"source":"<script src=\"//app.resolvepay.com/js/resolve.js\"></script>\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-add-resolve-credit-terms-application-on-your-website","__idx":5},"children":["Step 2: Add Resolve credit terms application on your website"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before a customer can pay with credit terms, they must have applied and been approved for a Resolve account. You'll want to allow customers to apply directly from your website."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Common placement locations include:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["home page via a banner"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["product detailed page"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["dedicated financing landing page"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["wholesale, large orders, or commercial/trade program landing page"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["checkout page"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After adding the Resolve.js embed code, you'll use the following command to open the credit application. If you prefer to redirect to Resolve's hosted application page rather than open a modal on your website, then set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["modal: false"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"resolve.application({\n  sandbox: true, // Do not include this line if implementing in production environment\n  modal: true,\n  merchant: {\n    id: 'MERCHANT_ID',\n  },\n});\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-initiate-a-checkout","__idx":6},"children":["Step 3: Initiate a checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a customer is ready to pay with credit terms, you should launch the Resolve checkout. Typically, Resolve will add as another payment method in your checkout flow."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following command does the following:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sends the checkout object to our checkout API"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Redirects the customer to the Resolve checkout process on the resolvepay.com domain or shows them a Resolve modal"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Validates the required data in the checkout object"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"resolve.checkout({\n  sandbox: true,\n  modal: true,\n  merchant: {\n    id:          'MERCHANT_ID',\n    success_url: 'https://www.merchantsite.com/confirm',\n    cancel_url:  'https://www.merchantsite.com/cancel',\n  },\n  customer: {\n    first_name: 'First',\n    last_name:  'Last',\n    name:       'First Last',\n    phone:      '',\n    email:      '',\n  },\n  shipping: {\n    name:            'First Last',\n    company_name:    'Company Name',\n    phone:           '4153334567',\n    address_line1:   '633 Folsom St',\n    address_line2:   'FL 7',\n    address_city:    'San Francisco',\n    address_state:   'CA',\n    address_postal:  '94017',\n    address_country: 'US',\n  },\n  billing: {\n    name:            '',\n    company_name:    '',\n    phone:           '',\n    address_line1:   '',\n    address_line2:   '',\n    address_city:    '',\n    address_state:   '',\n    address_postal:  '',\n    address_country: '',\n  },\n  items: [{\n    name:       'Product Name',\n    sku:        'ABC-123',\n    unit_price: 19.99,\n    quantity:   3,\n  }],\n  order_number:    'ORDER_NUMBER',\n  po_number:       '',\n  shipping_amount: 10.00,\n  tax_amount:      5.00,\n  total_amount:    74.97,\n  metadata: {\n    platform_resolve:  '1.0.0',\n    platform_type:     'checkout-sdk',\n    platform_version:  '1.0.0',\n  },\n});\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["modal: false"]}," for a full-page checkout instead of a modal window."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"successful-checkout","__idx":7},"children":["Successful checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After a successful checkout, an authorized charge is created. This is a pending charge that will show up in both the merchant's and customer's dashboard."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The customer is redirected to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success_url"]}," with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_id"]}," appended:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://www.merchantsite.com/confirm?charge_id=czTrT9opfkBaYZNh\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On your success page:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Redirect the customer to the order confirmation page or display an order confirmation message."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Store the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_id"]}," in your order management system, since it will be used to capture the charge."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Mark the order payment as pending."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For immediate fulfillment, capture the charge right away. Otherwise, consult your account manager about capture timing best practices."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For invoices in the \"Pay Now\" flow, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/guides/checkout-sdk-invoices"},"children":["Checkout SDK Invoice Flows"]}," guide."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unsuccessful-checkout","__idx":8},"children":["Unsuccessful checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the customer cancels the checkout, they will be redirected back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancel_url"]},". Typically, this page is the payment method selection page in the checkout flow."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the customer never reaches the success page, assume the payment failed and do not fulfill the order."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-capture-charge-to-receive-funds","__idx":9},"children":["Step 4: Capture charge to receive funds"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To receive funds and start the Net 30-60-90 clock for the customer, you will need to capture the charge using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_id"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Environment"},"children":["Environment"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Production"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://app.resolvepay.com/api/charges/<charge_id>/capture"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sandbox"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://app-sandbox.resolvepay.com/api/charges/<charge_id>/capture"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For legacy integrations, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.resolvepay.com/docs/api/v2"},"children":["v2 API documentation"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use either HTTP Basic Auth (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchant_id"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["secret_key"]},") or Bearer token auth."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For request/response schemas and live examples, see the Merchant API reference:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/merchant-api/openapi/charges/capturecharge"},"children":["Capture a charge"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5-test-your-integration","__idx":10},"children":["Step 5: Test your integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After completing your integration, do a thorough testing of both your front-end and back-end integration in our sandbox to ensure that both the user experience and your order management system work as expected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-6-deploy-to-production","__idx":11},"children":["Step 6: Deploy to production"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before deploying the Resolve integration to your production site, Resolve will need to test it in your development or staging environment connected to our live environment."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-to-the-production-resolve-environment","__idx":12},"children":["Connect to the production Resolve environment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For production credential setup and authentication configuration, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/guides/direct-api-access-and-authentication"},"children":["Direct API Access and Authentication"]}," guide."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Remove any ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ sandbox: true }"]}," options from your application and checkout code to use our live environment."]}]},"headings":[{"value":"Checkout SDK","id":"checkout-sdk","depth":1},{"value":"Integration steps","id":"integration-steps","depth":2},{"value":"Sandbox development","id":"sandbox-development","depth":2},{"value":"Create a sandbox customer account","id":"create-a-sandbox-customer-account","depth":3},{"value":"Step 1: Add Resolve.js to your website","id":"step-1-add-resolvejs-to-your-website","depth":2},{"value":"Step 2: Add Resolve credit terms application on your website","id":"step-2-add-resolve-credit-terms-application-on-your-website","depth":2},{"value":"Step 3: Initiate a checkout","id":"step-3-initiate-a-checkout","depth":2},{"value":"Successful checkout","id":"successful-checkout","depth":3},{"value":"Unsuccessful checkout","id":"unsuccessful-checkout","depth":3},{"value":"Step 4: Capture charge to receive funds","id":"step-4-capture-charge-to-receive-funds","depth":2},{"value":"Step 5: Test your integration","id":"step-5-test-your-integration","depth":2},{"value":"Step 6: Deploy to production","id":"step-6-deploy-to-production","depth":2},{"value":"Connect to the production Resolve environment","id":"connect-to-the-production-resolve-environment","depth":3}],"frontmatter":{"seo":{"title":"Checkout SDK"}},"lastModified":"2026-03-25T15:47:19.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/checkout-sdk","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}