IPN Notification URL

Track and Export Your Sales and Customer Data with DPD Purchase Notifications

DPD provides details of all of your completed purchases to any HTTP form processor or 3rd party service of your choice.

The purchase details that we provide are submitted to your form processor via an HTTP POST. The format of the posted data loosly follows the Paypal IPN format. Any processor that can process a Paypal IPN should be able to process our purchase details.

Integration is easy:

The IPN notification URL is a website level option.  This allows you to integrate with specific mailing lists or 3rd party services for each store you manage with DPD.

  1. Login to DPD.
  2. Choose the store you want to track from the Store pull down at the top of the page.
  3. Click on Integrations from the left navigation.
  4. Click on + Add next to the URL integration.
  5. Enter the notification URL  and click on save.

We support HTTP and HTTPS for communicating with your form processor. You can also use a password protected URL using the format: https://username:password@example.com/myprocessor. All purchase notifications will posted to your form processor within one minute of the purchase completion. If your server fails to respond, we do not try to post the notification again.

DPD provides the following details in our purchase notification:

Purchase information fields

    txn_id => Unique identifier for this purchase
    mc_gross => Total amount of payment
    discount =>  The discount (coupon) amount applied to this order
    mc_currency => Currency of the total amount
    tax => Total tax
    coupon_code => The coupon code used on this order, if any.
    mc_shipping => Total shipping
    shipping_method => Shipping method
    verify_sign => Verification signature. You can verify that the notification came from DPD by using the verify notification API method. 

Customer information fields


Shipping address fields


Custom fields (if configured)

Custom fields are passed using the same ID as displayed on your custom field list. They always look like custom_N where N is a unique number for the custom field.

For Each Item in the Cart

X = the item number in the checkout, i.e. 1, 2, 3, etc.

item_nameX => The product name for this item
item_numberX => The DPD product ID number for this item
quantityX => The quantity of this item sold.  Typically "1"
mc_gross_X => The product price for this item
discount_X => The discount applied to this product
mc_currency_X => The price currency for this item
skuX => The SKU / Stock number for this item
product_keyX => If a product key was delivered through DPD's new keycode delivery system for this item, it will be included here.


Related Topics:

Have more questions? Submit a request


  • Avatar
    James Dickens

    Could you make a video on how to do this?

    I was doing good up to this point.


    James Dickens

  • Avatar
    Tanja Miller

    I need these values sent to my DVD manufacturer when a DVD is ordered. Can I customize my HTTP code so this part of my business can become automated?

    | Order
    | The root element tag requesting a manufacturing and fulfillment order.
    | UserId
    | The publisher's user id -- usually an email address.
    | Password
    | The publisher's password.
    | Mode
    | This element is equal to LIVE or TEST.
    | Name
    | The recipient's name.
    | Company
    | The recipient's company or organization name. This element can be left empty.
    | Address1
    | The recipient's street address.
    | Address2
    | The recipient's secondary address. (E.g., Apt number) This element can be left empty.
    | City
    | The recipient's city.
    | State_Province
    | The recipient's state or province. If the Country is United States or Canada this element must be a two character abbreviation. Otherwise it can be left blank.
    | PostalCode
    | The recipient's zip or postal code.
    | Country
    | The recipient's country. Select a country from the list below. For the USA use "United States".
    | ShippingDescription
    | The shipping description selected from the options retrieved in Step 1.
    | State_Province
    | For states and provinces in the United States and Canada use the two-character abbreviation. For countries other than USA and Canada you can leave this element blank.
    | Postal_Code
    | The recipient's postal code.
    | ProductId
    | The Product's 10-character Product Id. Each product published by Kunaki has a unique Product Id.
    | Quantity
    | The quantity of this product.

  • Avatar
    Darwin Sanoy

    An example would be very helpful.  I am assuming that I should do "http://website.com/getdata.php?customerfullname=first_name%20last_name&email=payer_email" - but I don't know how to handle spaces and I don't know whether anything special is required around the field names.

  • Avatar
    Brandon Savage

    Why you can't just post this to us as a JSON array is beyond me.

  • Avatar
    Tom Pedley

    Looks like JSON arrays are covered by their API


  • Avatar
    Maddy Shan

    Can we get the payment status? 

    Transaction status like "Completed" or "Pending"

  • Avatar
    Jason Chance

    Maddy you can get the full response from PayPal by opening up the purchase page (from the purchase list) and clicking the "Full Response" link under the transaction history as shown in this screenshot:   https://s3.amazonaws.com/dpdshare/DGL39.png

  • Avatar
    Maddy Shan

    I want payment_status value form ipn file like txn_id other values.

  • Avatar
    Dan Harrison

    Is there any way to test the IPN URL integration, without needing to do a real payment?


  • Avatar
    Brandon Savage

    You can set the price of a product at $0 or give yourself a coupon for $0. Then check out normally. It will post to your IPN URL and run integrations.

Powered by Zendesk