Skip to main content

Chargedesk Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Chargedesk location.
chargedesk_api.png

Chargedesk

Create a Chargedesk Destination

  1. Click the + icon on the Nexset that will be sent to the Chargedesk destination, and select the Send to Destination option from the menu.

  2. Select the Chargedesk connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Chargedesk account, and click Next; or, create a new Chargedesk credential for use in this flow.

  3. In Nexla, Chargedesk destinations can be created using pre-built endpoint templates, which expedite destination setup for common Chargedesk endpoints. Each template is designed specifically for the corresponding Chargedesk endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Chargedesk destinations can also be configured manually, allowing you to send data to Chargedesk endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Chargedesk endpoints. Each template is designed specifically for the corresponding Chargedesk endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create Charge

    Creates a new charge against a customer. Use this endpoint to push new transactions to ChargeDesk from a Nexla flow.

    • Each Nexset record is sent as the JSON body of a POST request to the ChargeDesk charges endpoint. Map your Nexset fields to the charge attributes expected by ChargeDesk.

    For the full list of fields accepted when creating a charge, see the official ChargeDesk charges documentation.

    Update Charge

    Updates an existing charge, such as its memo or metadata, by ID. Use this endpoint to enrich or annotate charges already stored in ChargeDesk.

    • Enter the ID of the charge to update in the Charge ID field.
    • Each Nexset record is sent as the JSON body of the update request.

    Create Charge Refund

    Issues a refund against a specific charge. Use this endpoint to automate refund processing from a Nexla flow.

    • Enter the ID of the charge to refund in the Charge ID field.
    • Each Nexset record is sent as the JSON body describing the refund.

    Refunds are processed against the underlying payment gateway connected to ChargeDesk. Verify charge IDs carefully, as refunds move real funds.

    Delete Charge

    Deletes (voids or removes) a charge by ID. Use this endpoint to remove charges that should no longer appear in ChargeDesk.

    • Enter the ID of the charge to delete in the Charge ID field. This endpoint sends a DELETE request and does not require a request body.

    Create Customer

    Creates a new customer record. Use this endpoint to add customers to ChargeDesk from a Nexla flow.

    • Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the customer attributes expected by ChargeDesk.

    Update Customer

    Updates an existing customer record by ID. Use this endpoint to keep ChargeDesk customer details in sync with your other systems.

    • Enter the ID of the customer to update in the Customer ID field.
    • Each Nexset record is sent as the JSON body of the update request.

    Delete Customer

    Deletes a customer record by ID. Use this endpoint to remove customers that should no longer exist in ChargeDesk.

    • Enter the ID of the customer to delete in the Customer ID field. This endpoint sends a DELETE request and does not require a request body.

    Create Subscription

    Creates a new subscription. Use this endpoint to start recurring billing for a customer from a Nexla flow.

    • Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the subscription attributes expected by ChargeDesk.

    Update Subscription

    Updates an existing subscription by ID. Use this endpoint to change subscription details such as the plan or quantity.

    • Enter the ID of the subscription to update in the Subscription ID field.
    • Each Nexset record is sent as the JSON body of the update request.

    Delete Subscription

    Cancels (deletes) a subscription by ID. Use this endpoint to end recurring billing for a customer.

    • Enter the ID of the subscription to cancel in the Subscription ID field. This endpoint sends a DELETE request and does not require a request body.

    Create Product

    Creates a new product (plan). Use this endpoint to add billable products or plans to ChargeDesk.

    • Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the product attributes expected by ChargeDesk.

    Update Product

    Updates an existing product (plan) by ID. Use this endpoint to keep your ChargeDesk catalog in sync.

    • Enter the ID of the product to update in the Product ID field.
    • Each Nexset record is sent as the JSON body of the update request.

    Delete Product

    Deletes (archives) a product (plan) by ID. Use this endpoint to retire products that should no longer be available.

    • Enter the ID of the product to delete in the Product ID field. This endpoint sends a DELETE request and does not require a request body.

    Create Webhook

    Registers a webhook endpoint to receive real-time event notifications. Use this endpoint to programmatically configure where ChargeDesk sends event callbacks.

    • Each Nexset record is sent as the JSON body of a POST request describing the webhook endpoint and the events it should receive.

    For the list of available webhook event types, see the official ChargeDesk webhooks documentation.

    Delete Webhook

    Deregisters a webhook endpoint by ID. Use this endpoint to stop ChargeDesk from sending notifications to a given endpoint.

    • Enter the ID of the webhook to delete in the Webhook ID field. This endpoint sends a DELETE request and does not require a request body.

    Create Agent

    Creates a new support agent account. Use this endpoint to provision agents who can act on billing records in ChargeDesk.

    • Each Nexset record is sent as the JSON body of a POST request describing the agent.

    Delete Agent

    Deprovisions a support agent by ID. Use this endpoint to revoke an agent's access to ChargeDesk.

    • Enter the ID of the agent to delete in the Agent ID field. This endpoint sends a DELETE request and does not require a request body.

Configure Manually

Chargedesk destinations can be manually configured to send data to any valid ChargeDesk API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the ChargeDesk API after each call to a new Nexla webhook data source.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the ChargeDesk API from the Method pulldown menu. ChargeDesk uses POST for create and update operations and DELETE for removal operations.

Data Format

  1. Select the format in which the Nexset data will be sent to the ChargeDesk API from the Content Format pulldown menu. ChargeDesk expects application/json, so JSON is the appropriate format. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the ChargeDesk API endpoint to which you want to send the Nexset data in the URL field, for example https://api.chargedesk.com/v1/charges. For update or delete operations, include the ID of the object to be modified at the end of the URL (for example, https://api.chargedesk.com/v1/charges/CHARGE_ID).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Basic Authentication header is handled automatically by Nexla.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Chargedesk destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Response Webhook

Optional

Nexla can automatically send the response received from the ChargeDesk API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call, such as the ID assigned to a newly created charge or customer.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the ChargeDesk API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the ChargeDesk API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the ChargeDesk API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to ChargeDesk, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to ChargeDesk until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.