Integrating E-junkie With Third-Party & Custom Services
How can I have E-junkie transmit the order data to an external script? With what third-party services is E-junkie pre-integrated?
E-junkie can transmit all the order data to your URL only for successful completed payments. We submit this data via HTTP POST, so any generic form-handler type of script (such as typically used for receiving an HTML form submission) should be able to receive and parse the order data however you wish. If your server fails to respond when E-junkie attempts to submit order data to it, our system will not retry but will normally email a notification of the failure to your E-junkie Login Email address. If your URL would receive the order data and also return output which you want us to forward to the buyer, use our Send Generated Codes feature instead.
Our data transmission follows the format of PayPal IPN but also includes some extra fields to report order data pertaining to our service that PayPal does not handle (these are listed as Non-IPN Variables below). Any script that can receive PayPal IPN should be able to receive our order data, as long as it can handle/ignore our extra fields and does not require validating the IPN with PayPal (which would fail since we are not PayPal, and we validate the actual PayPal IPN in the first place before sending order data anyway); however, you may optionally use our
handshake variable (documented below) to validate submissions from us. Since we can do this regardless of the buyer's checkout method, this means E-junkie can send a PayPal-style IPN even for checkouts that did not go through PayPal.
To have order data sent to the same URL for all purchases, you can specify your URL in Seller Admin > Manage Seller Account > Edit Preferences > Webhook & Integrations > Common Notification URL.
You can also/instead have order data sent when any specific product is purchased, or specify a different URL to receive purchase data for each product (the following steps are not necessary if you're only using a Common Notification URL):
- While adding or editing your product, check Webhook Integration;
- This will reveal the Product Notification URL field, where you would paste the URL where your custom/third-party script can receive order data;
- Click Submit to apply changes and proceed to the button codes screen;
- Use the E-junkie Cart or Buy Now button codes from this screen to start selling your product (if you had already copy-pasted the button code for this product and made no other changes to the product, the existing buttons in your site will continue to work fine).
txn_id- Transaction ID generated by payment processor (for non-PayPal txns we add a prefix identifying the payment service, followed by a dash and then the ID generated by that service)
mc_gross- total amount of payment
custom- if you added
&custom=someValueto the link URL for the buyer's purchase button
invoice- buyer's cart ID or Buy Now invoice ID
address_name- ship-to full name if different from billing (buyer) name
address_street- for two-line addresses, this variable passes both lines, separated by a newline character
address_country_code- shipping address 2-letter ISO country code
address_business_name- shipping address company name (if provided)
payment_date- Time/Date stamp generated by payment processor, in the format
HH:MM:SS Mmm DD, YYYY ZZZ(e.g.
12:34:56 Dec 21, 2012 MST)
payer_business_name- billing address company name (if provided)
payer_phone- billing phone
residence_country- billing country (if supported by payment processor)
charset- this should normally be 'utf-8', as we now convert order data into UTF-8 from whatever charset was sent by the payment processor (in very rare cases this may identify the original charset if conversion to UTF-8 cannot be done)
Item Specific IPN DataHere,
Xrepresents the position of each item in the buyer's cart (e.g., the first item in the buyer's cart would be identified with
quantity1, etc. while the second cart item would be
item_numberX- item number you have set in product configuration
quantityX- quantity sold
mc_gross_X- sale price for this product × quantity sold
- For products using
Variations which tell more, the option names/values passed for the item will be reported in these variables:
Additional Non-IPN Variables
The following variables are unique to our system and will be passed to your Integration URL(s) in addition to the order data we get from the payment processor. These are not part of the standard PayPal IPN data set, so any IPN-compatible scripts or third-party services you're using with our Integration feature should be able to handle or ignore the following fields.
Item Specific Non-IPN DataHere,
Xrepresents the position of each item in the buyer's cart, consistent with the Item Specific IPN Data variables documented above. These are only sent to a Common Notification URL:
sku_X- for items using Variants having individual price/weight/stock/SKU, this is the SKU value of the particular Variant ordered, taken from the first position of that Variant's line in your product's Variants configuration
key_X- (if applicable) stored or generated code (key/license/serial/PIN) sent to the buyer (this variable is not sent to keygen URLs)
item_affiliate_fee_X- (if applicable) commission earned on the item by your E-junkie affiliate
item_cart_position- this identifies which particular item in the order triggered a given submission to a product-specific Product Notification URL (which receives the full data for all items in the order), so you can match this to the value of
Xin the Item Specific IPN Data variable names (listed above) to identify which details in the submission pertain to that particular item -- e.g., if you receive
item_cart_position=2, you'll know that submission was triggered by the second item in the buyer's cart, corresponding to
sku- for items using Variants having individual price/weight/stock/SKU, this is the SKU value of the particular Variant ordered, taken from the first position of that Variant's line in your product's Variants configuration
expiry_hours- (if applicable) maximum number of Hours you allow your download links to be valid for in your product configuration
max_downloads- (if applicable) maximum number of download Attempts you allow in your product configuration
affiliate_fee- (if applicable) commission earned on the item by your E-junkie affiliate
key- (if applicable) stored or generated code (key/license/serial/PIN/etc.) sent to the buyer (this variable is not sent to keygen URLs, as those would generate the
keyvalue as output)
Common Order Non-IPN DataThese are sent to both a Common Notification URL and Product Notification URLs:
from_name- your Display Name in E-junkie profile
from_email- your Display Email in E-junkie profile
client_id- your E-junkie account number (you can find this ID in Seller Admin > Manage Seller Account > View Account Summary)
buyer_ip- public IP address assigned to buyer's computer or router at the time of checkout
country_mismatch=true- only sent if country selected in cart does not match the one given during a PayPal Payments Standard checkout (other checkout methods cannot mismatch)
zipcode_mismatch=true- only sent if postal/zipcode given in cart does not match the one given during a PayPal Payments Standard checkout (other checkout methods cannot mismatch)
client_shipping_method_id- # of the Shipping Rule applied in buyer's cart
shipping_method_type- Shipping Rate Calculator for the Shipping Rule applied in buyer's cart
shipping_method_desc- Shipping Method Description for the Shipping Rule applied in buyer's cart
discount_codes- Discounts applied to the order
item_affiliate_fee_total- (if applicable) total commission earned for all items in the order by your E-junkie affiliate
ej_txn_id- Payment confirmation ID shown to your affiliates when they earn commission on a sale)
txn_type- checkout method used:
cart(PayPal Payments Standard - cart order)
web_accept(PayPal Payments Standard - Buy Now button)
expresscheckout(PayPal Payments Pro Express Checkout using a PayPal account)
ppdirect(PayPal Payments Pro Direct Payment using a card)
ppadvanced(PayPal Payments Advanced)
payflow(PayPal Payflow Pro/Link)
ejgift(E-junkie Free Checkout)
handshake- result of
Your receiving script can optionally use this value to verify an Integration submission actually came from your account on our system. To generate this value, we take an MD5 hash of your E-junkie password, then tack your E-junkie login email in front of that hash, then re-hash the whole thing in MD5 again. If you ever change your E-junkie login email and/or password, you'd need to update the hash reference in your listener script. See this page for further tips on generating your handshake hash value.
Advanced Post-Checkout Integration
The independent developer behind EasyE-junkie has built a service called cartWiz that can perform many additional functions beyond what E-junkie itself supports natively, including tools to help you manage your business and analyize your sales states, as well as integration modules for many third-party services.
What third-party services already support E-junkie Integration? With what other services is E-junkie pre-integrated?
Please see the Tips pages linked below for complete details on using services already known to support E-junkie's standard Integration methods.
- Using E-junkie's built-in integration methods (Aweber, PDF Stamping, sending order data to multiple emails or URLs)
- Integrating E-junkie with mailing list services (Aweber, MailChimp, Drip, GetResponse)
- ConsoliBYTE QuickBooks Integration for E-junkie
- Using Continuata advanced download management
- Integrating E-junkie with on-demand media fulfillment services for CD/DVD discs, USB sticks, or printed books (Acutrack, Disk.com, TrepStar, Vervante)
- Integrating E-junkie with membership solutions (Digital Access Pass)
- Generating a 'handshake' value to verify Integration submissions
- Integrating E-junkie with Zapier