Events
IPN Events for Order
An IPN-event is sent for each transaction and for some other conditions (such as a missed backbilling payment). The event name is sent as $_POST['event'].
The names in the backoffice are sent via the parameter "event_label".
Each IPN call sends exactly one of these event notifications:
When copying any parameters, please pay attention to possible line breaks.
Event Table
Event | Name in backoffice | Description |
---|---|---|
on_payment | payment | The buyer makes a successful payment. |
on_refund | refund | The support team of the vendor or Digistore24 has initiated a refund, which has been successfully processed. |
on_chargeback | chargeback | The credit card company processed a chargeback. |
on_payment_missed | missed recurring payment | For a subscription or installment payment, a payment is missing. Use this e.g. to revoke access to a subscription membership, if the buyer has - for whatever reason - stopped paying. The "on_payment_missed" event is triggered, after a payment failed (after some tries) or after the rebilling was cancelled by the buyer - e.g. by an explizit cancellation request or by a refund or a chargeback. See billing_stop_reason. Please note, that an “on_payment” event may occur, if the buyer succeeds in payment after the “on_payment_missed” event. In the case the buyer wants to conitunue his membership and access should be granted again. |
payment_denial | rejected payment | The payment was rejected. The IPN event is sent after the last payment attempt. By default, rejected payments are not selected in the IPN configuration. |
on_rebill_cancelled | rebilling canceled | This event is sent immediately when the support clicks the “stop rebilling” button in the order details. Some days later (when the payment is due, but not completed), an on_payment_missed event is sent. |
on_rebill_resumed | rebilling resumed | The buyer has requested to continue the rebilling payments. This event is sent, when the support clicks the “restart rebilling” button in the order details. |
last_paid_day | end of paid period | The last paid day of the order is over. The event is usually sent early in the morning. |
What is the difference between “on_payment_missed” and “on_rebill_cancelled”?
“On_rebill_cancelled” is sent, when the customers cancels a subscription or installment payment and the support operator stops the payments. “On_payment_missed” event is sent, when the next payment would be due.
Other IPN-Events
Event | Name in backoffice | Description |
---|---|---|
connection_test | Test connection | Our server sends this event to test the connection to your server, e.g. if you hit the “Test connection” button in the vendor’s IPN settings section. The response should always be “OK”. If the test fails, check again the above points of this integration guide and if the server is reachable with the script. |
on_affiliation | New affiliate | When an affiliate wants to promote your product and the affiliation is accepted, then an IPN-Call with this event will be sent. |
eticket | New e-ticket | For created e-tickets. This may also take place after the order has been placed, as the buyer may not enter the participant data until later. The IPN message for an e-ticket can also be sent twice if, for example, a name is entered or corrected later. Therefore, please use eticket_id to check whether the ticket is already in your database. |
custom form | New custom form | For completed additional input fields. |
Order Events
With each IPN request, we send this set of parameters.
These parameters are included in the SHA512 signature.
The SHA512 Signature itself is transferred as the parameter "sha_sign".
Parametername | Type | Description | Example value |
---|---|---|---|
ipn_version | float | Current version of the IPN-interface. | 1.2 |
api_mode | string(4) | Indicates live or test mode. Possible values: live, test | live |
order_id | string(15) | Unique ID of the order. Multiple transactions of the same order have the same order-ID. | 34DEFS45DE2 |
order_date | string(10) | Date of the order. | 2013-03-31 |
order_time | string(8) | Time of the order | 15:57:34 |
order_type | string(31) | Type of order. Values are: regular - order via regular orderform upgrade - replaces of an existing order (see below) phone_order - order via DigiCalls cart - shopping cart order vat_change - created because of change of vat | regular |
order_date_time | string(19) | Date and time of the order. | 2013-03-31 15:57:34 |
transaction_date | date | Date of the transaction (e.g. of the payment). It is often the same as order_date but may differ, e.g. for payment by e-check. | 2013-03-31 |
receipt_url | string(127) | URL for the receiving page of the order of Digistore24. | https://www.digistore24.com/receipt/abc123/xyz789 |
renew_url | string(127) | URL to redo a payment if the payment was cancelled (or to change the payment data for rebilling). | https://www.digistore24.com/renew/abc123/xyz789 |
add_url | string(127) | URL to add or remove products from an order (when the main product’s or the addon’s quantity may be changed after the purchase. This is set up in the product editor). | https://www.digistore24.com/order/add/abc123/xyz789 |
support_url | string(127) | URL to access our buyer support system. This system answers frequently asked questions. It also allows the buyer to cancel rebilling payments and to request a refund. | |
rebilling_stop_url | string(127) | URL to stop the rebilling payments. It's empty if the purchase is not a rebilling purchase. | |
request_refund_url | string(127) | URL to request a refund. | |
order_details_url | string(127) | URL for order details. If you are not logged in at Digistore24, you will be asked to log in. | |
customer_to_affiliate_url | string(127) | If you have enabled the “Customers to Affiliates”-program for the purchased main product, this links contains the invitation URL for the customer to become an affiliate. If they follow the URL, a Digistore24-account will be created. If the program is disabled/inactive, this parameter is missing. | https://www.digistore24.com/become_affiliate/abc123/xyz789 |
customer_affiliate_name | string(31) | If the buyer has a Digistore24 account, this is the account name. This does not necessarily mean, that they have established affiliations with your products. | user12345 someusername |
customer_affiliate_promo_url | tring(127) | The new affiliate my use this url to promote the product he bought. | http://www.digistore.local/redir/54321/user12345/ |
payment_id | string(40) | Unique ID of the payment. Multiple payments of the same order have different payment-IDs. | PAYID-43-3999234 |
merchant_id | int | Unique ID of a vendor. | 39499382 |
merchant_name | string(31) | Unique Digistore24 name of the vendor. | JohnSmith |
custom | string(63) | Custom parameter the vendor has sent as GET-Parameter “custom” to the order form. | user_300342 |
country | string(2) | Country ISO-Code (two characters) of the buyer’s country. If the buyer does not enter a country (e.g. for digital products), the country is determined using the buyer's IP. | US |
is_gdpr_country | Y/N | Y = The user data fall under the EU gdrp (German: DSGVO) N = The user data do not fall under the gdrp. | Y |
affiliate_id | int | Unique ID of the affiliate. It is “0” if the sale was made without an affiliate. | 339993 |
affiliate_name | string(31) | Unique Digistore24 name of the affiliate. It is empty if the sale was made without an affiliate. | |
campaignkey | string(23) | The campaignkey of the affiliate (used as part of the promolink). | NewsletterXY |
trackingkey | string(47) | The vendor’s trackingkey (used as GET-Parameter “ds24tr” as part of the promolink or orderform-URL) | SalespageXY |
salesteam_name | string(63) | Name of the sales team who has created the purchase. | A-Team |
salesteam_id | int | The ID of the sales team. | 12345 |
transaction_id | int | The transaction-ID. | 3999938 |
transaction_amount | float | The amount of the transaction. | 37.99 |
transaction_currency | string(3) | Currency code. | USD |
transaction_processed_at | date | Date of the transaction. | 2012-03-23 18:21:47 |
transaction_type | enum | Possible values: payment, refund, chargeback | payment |
pay_sequence_no | int | For single payments this value is 0. For instalments and subscription only: Number of payment, e.g. 1 for the first payment, 2 for the second and so on. | 3 |
currency | string(3) | Currency code. | USD |
amount_brutto | float | Gross amount of the payment. | 97.00 |
amount_netto | float | Net/After-tax amount of the payment (i.e. the Gross amount minus the VAT-amount). | 81.51 |
amount_vat | float | Amount of the VAT. | 15.49 |
amount_provider | float | Fee for Digistore24. | 8.66 |
amount_fee | float | If applicable: chargeback fee. | 0.00 |
amount_payout | float | Amount shared between vendor, affiliate, Joint Venture partner and Cross Upsell partner (as far as applicable). | 72.85 |
amount_vendor | float | Share of the vendor. | 51.00 |
amount_affiliate | float | Share of the affiliate (if applicable). | 21.85 |
amount_partner | float | Share of Joint Venture/Cross Upsell partners (if applicable). | 0.00 |
amount_credited | float | If the buyer performs an upgrade or downgrade of the order, changes the payment plan or removes items from an existing order, there may be a credit balance from the previous purchase. This is the amount of the credit balance for this payment. | 0.00 |
vat_rate | float | The VAT-rate in percent. | 19.00 |
number_of_installments | int | Total number of payments including the first payment. | 3 |
billing_type | Possible values: single_payment, subscription, installment | single_payment | |
billing_status | string(15) | Possible values: paying (only for rebilling; payments are active)aborted, unpaid, reminding, completed (only for single payment and instalments; the single payment is completed/all instalment payments are completed) | completed |
is_cancelled_for | date | If given, the order is cancelled for this date. The product access should stop on this day. | |
billing_stop_reason | string(23) | Only if a rebilling has stopped. Possible values: by_operator, by_buyer, by_refund, by_chargeback, by_payment_denial, by_payment_uncertain, pay_alias_invalid, upgraded, no_product, merchant_inactive, unknown | by_operator / |
pay_method | string(23) | Payment method, e.g. PayPal, ELV, credit card. | ELV |
tags | string(47) | Tags of purchase – separated by commas. | tag1,tag2,tag3 |
tag1 | string(47) | Tag of first product | tag1,tag2 |
tag2 | string(47) | Tag of second product | tag3 |
... | ... | ... | |
product_id | int | Unique ID of the product. | 3323323 |
product_language | Language code of the product’s language. | en | |
product_name | string(63) | Readable name of the product. | Fast wealth guide |
product_delivery_type | enum | Possible values: digital, shipping | digital |
variant_id | string(31) | The ID of product variant the buyer has selected (only if variants have been added to the product). | blue |
variant_name | string(63) | The name of the product variant the buyer has selected (only if variants have been added to the product). | blue coloured shirt |
quantity | int | Number of ordered products (with ID “product_id”). The most common one is “1”. | 1 |
product_id_2 | int | Unique ID of the second product of the purchase (if applicable). | |
product_id_3 | int | Unique ID of the third product of the purchase (if applicable). | |
product_txn_amount | amount | gros/net/vat/shipping amount per product and transaction | 27.33 |
product_amount | amount | dito for the purchase. Is the same as above for subscription and single payment. Differs for installments. | 99.95 |
Same for: product_id_4, product_id_5, product_name, product_name_2, ... product_delivery_type, variant_id variant_name quantity product_txn_amount product_txn_netto_amount product_txn_vat_amount product_txn_shipping
| |||
buyer_id | int | The ID of the buyer. | 333222 |
string(63) | The email of the buyer. | claus@domain-xyz.com | |
language | string(2) | Language code of the buyer’s language. | en |
address_first_name | The first name of the buyer. | Claus | |
address_last_name | The last name of the buyer. | Myer | |
address_id | The adress-ID of the buyer. | 12345 | |
address_street | Street name and street number. Empty if no address is specified. | Mainstr.123a | |
address_street_name | Street name only. | Mainstr. | |
address_street_number | Street number only. | 123a | |
address_street2 | Only Address suffix | suite, building, etc. | |
address_city | City name. | Berlin | |
address_state | Only for countries, which have a state (like USA). E.g. for Germany, no state is given. | ||
address_zipcode | The address-zipcode. | 12345 | |
address_country | 2-Letter ISO country code. Empty if no address is specified. | DE | |
address_country_name | Full name of the country. Empty if no address is specified. | Germany | |
address_company | Empty if no company is specified. | Some Company Ltd. | |
address_tax_id | The VAT-ID of the buyer's company. Empty if no VAT-ID is specified. | ||
address_phone_no | Empty if no phone number is specified. | ||
upgrade_key | string(23) | Use this key together with the order id for upgrade links and the smart upgrade widget to fill the placeholders [ORDER_ID] and [UPGRADE_KEY] | ABCDEFGHI1234567890 |
custom_key | string(23) | A random key, which is unique for the order. This key is transmitted to DigiMember and DigiBizz and may be used for automated user login. | 1234-Naiy8ahSaiT |
orderform_id | int | The ID of order form used for the purchase. | 654321 |
payplan_id | int | The ID of the selected payment plan. | 123456 |
refund_days | int | The number of days within a refund is possible. 0= no refund is possible at all. 30 the buyer may refund within 30 days after purchase. | 14 |
Rebilling
For "billing_type" subscription or installments, these extra values are transferred:
Parameter name | Type | Description | Example value |
---|---|---|---|
first_amount | float | The gross amount the buyer agreed to pay. | 30.00 |
first_vat_amount | float | The VAT amount of first_amount. | 4.79 |
other_amounts | float | The second and following gross amounts the buyer agreed to pay | 30.00 |
other_vat_amounts | float | For the second and following VAT amounts. | 4.79 |
first_billing_interval | time interval | The period of time between the first and the second payment. | 7_day |
other_billing_intervals | time interval | The period of time between the second and the third payment (and subsequent payments). | 1_month |
next_payment_at | date | Date of the next expected payment. | 2016-03-30 |
rebill_stop_noted_at | date | Date on which the buyer's cancellation request was received. | 2019-03-31 |
Upgrades
For upgrade purchases these additional fields are transferred:
Parameter name | Type | Description | Example value |
---|---|---|---|
upgrade_type | string(15) | “upgrade”=Change to more, expensive product, “downgrade”=Change to cheaper product, “special_offer”=Membership Offer, “switch_plan”=Tariff change, “package_change”=Package change | |
upgraded_order_id | string(15) | ID of the “upgraded” order, i.e. the order ID the buyer has purchased the upgrade for. | 1A2B3C4E |
upgraded_order_date | string(10) | Date of the upgraded order. | 30.2013-03-31 |
upgraded_order_time | string(8) | Time of the upgraded order. | 15:57:34 |
upgraded_order_date_time | string(19) | Date and time of the upgraded order. | 2013-03-31 15:57:34 |
upgraded_buyer_id | int | ID of the buyer who placed the original order. This is usually the same as the current order, but may be different if the buyer has entered a different name. | 1234 |
upgraded_email | string(63) | user@domain.com | |
upgraded_address_first_name | string(39) | Claus | |
upgraded_address_last_name | string(39) | Meyer | |
upgraded_product_id | int | 15332 | |
upgraded_product_name | string(63) | Instant Happiness | |
upgraded_product_id_2 | int | 16331 | |
upgraded_product_name_2 | string(63) | Wealth – the Guide | |
upgraded_product_id_3 | int | 12332 | |
upgraded_product_name_3 | string(63) | The Wealth Action Plan | |
and so on | |||
delivery_date | date | The date, when the new product should be delivered and access to the previous (upgraded) product should be stopped. If empty, access to the new product should be granted immediately. | (empty) or 2014-03-12 |
upgraded_order_paid_until | date | For upgrade_type “switch_plan” only. The previous order is paid until this date. | 2014-03-12 |
License Data
This section only applies, if Digistore24 delivers a license key together with your product. These data is only transferred for order events, not for other events like affiliation events.
If no license key is delivered with your product, these parameters are omitted.
Parameter name | Type | Description | Example value |
---|---|---|---|
license_id | int | Unique ID for the license. | 12345678 |
license_key | string(255) | The license key displayed to the customer. The format varies with the creation method. | 26WBC-694J5-N7BBG-9LN4V-HBD9E-TVPEE-H38F9-D72CB |
license_created | date | The date the license key was created. | 2012-12-15 21:09:28 |
license_key_type | enum | Possible values: list – the key was taken from a list of keys you have uploaded to Digistore24; random – Digistore24 has created the key randomly and unique; remote – Digistore24 has fetched the key from your server via http request | random |
license_data_first_name license_data_last_name license_data_email license_data_product (for license key type list and random) | string(each) | For license key types “list” and “random”, Digistore24 sets the parameters to the values corresponding to the purchase. | |
license_data_KEY1 license_data_KEY1_label license_data_KEY2 license_data_KEY2_label license_data_KEY3 license_data_KEY3_label …..(for license key type remote) | string (each) | For license key type “remote” your license server may deliver license data as key-value pairs. Example: Your name: Myers Your key: ooZai8oh Then Digistore24 adds license data in this way: license_data_XX1=Myers license_data_XX1_label=Your name; license_data_XX2=ooZai8oh; license_data_XX2_label=Your key XX1/XX2 are random keys. |
License data and addon products
If there is more than one product part of a purchase, then for the second product a “_2” is added to the parameter name, e.g.: license_key_2 For the third addon product, a “_3” is added. And so on.
Coupon
Buying Coupons (Parameter-Table)
Parameter name | Type | Description | Example value |
---|---|---|---|
coupon_id | Int | ID of the coupon. | 12345 |
coupon_code | string(64) | The code used to redeem the coupon. | DS11 22AA BB44 55CC DD66 |
coupon_amount_total | float | The amount of the coupon. | 50.00 |
coupon_amount_left | float | The unused amount of the coupon. | 17.33 |
coupon_currency | string(7) | The currency code of the coupon. | EUR |
coupon_code_2 | string(64) | The code of the second coupon of the purchase (if applicable). | |
coupon_amount_total_2 | float | … | |
coupon_amount_left_2 | float | … | |
coupon_currency_2 | string(7) | … |
Using Coupons (Parameter-Table)
Parameter name | Type | Description | Example value |
---|---|---|---|
coupon_id | Int | ID of the coupon bought in this purchase. | 12345 |
coupon_code | string(64) | The code of the coupon bought in purchase. | DS11 22AA BB44 55CC DD66 |
voucher_code | string(64) | The tracking voucher code of the coupon. | coupon_12345 |
used_coupon_code | String(64) | The coupon code used for this purchase. | DS11 22AA BB44 55CC DD66 |
used_coupon_id | Int | The ID of the coupon used for this purchase. | 1122 |
E-Tickets
This section only applies, if Digistore24 delivers E-tickets together with your product. These data are only transferred for order events, not for other events like affiliation events.
Please note that there is also a separate IPN notification for created and updated E-tickets. The IPN data described here are transferred for the order IPN notifications.
If no E-ticket is delivered with your product, these parameters are omitted.
If the user opens the URL in the web browser, he may be asked for his name (if no name is known for the E-ticket). Then the ticket will be saved on his/her computer.
Please do NOT use instructions like “Right click the link and select save” because the user may not be able to enter his name.
Parameter name | Type | Description | Example value |
---|---|---|---|
eticket_date | date | Date of the event (of the 1st product of the order). | 2015-12-27 |
eticket_date_2 | date | Date of the event (of the 2nd product of the order). | 2015-12-27 |
eticket_date_3 | date | Date of the event (of the 3rd product of the order). | 2015-12-27 |
and so on | |||
eticket_hint | string(127) | Hint/time on the event (of the 1st product of the order). | 7:00 am (Room 174) |
eticket_hint_2 | string(127) | Hint/time on the event (of the 2nd product of the order). | 7:00 am (Room 174) |
eticket_hint_3 | string(127) | Hint/time on the event (of the 3rd product of the order). | 7:00 am (Room 174) |
and so on | |||
eticket_url | string(255) | URL to download the E-ticket as an pdf-file (if it is created for the 1st product of the order). | https://www.digistore24.com/eticket/file009382586171.pdf |
eticket_url_2 | …same for the 2nd product of the order. | ||
eticket_url_3 | …same for the 3rd product of the order. | ||
(and so on) | |||
eticket_url_B | 2nd E-ticket of the 1st product. | ||
eticket_url_C | 3rd E-ticket of the 1st product. | ||
eticket_url_D | 4th E-ticket of the 1st product. | ||
… | |||
eticket_url_Z | 26th E-ticket of the 1st product. | ||
eticket_url_ZA | 27th E-ticket of the 1st product. | ||
eticket_url_ZB | 28th E-ticket of the 1st product. | ||
… | |||
eticket_url_ZZ | 52nd E-ticket of the 1st product. | ||
eticket_url_ZZA | 53rd E-ticket of the 1st product. | ||
… | |||
eticket_url_ZZZ | 78th E-ticket of the 1st product. | ||
eticket_url_ZZZA | 79th E-ticket of the 1st product. | ||
(and so on) | |||
eticket_url_2_B | 2nd E-ticket of the 2nd product. | ||
eticket_url_3_B | 2nd E-ticket of the 3nd product. | ||
eticket_url_4_B | 2nd E-ticket of the 4nd product. |
Newsletter subscription
On the order form, the user can be asked for a newsletter subscription (see the settings in the product editor, Tab "Order form").
Parameter name | Type | Description | Example value |
---|---|---|---|
newsletter_choice | string(15) | none = no newsletter optin-checkbox was shown. optin = the buyer checked the newsletter optin-checkbox.optout = the buyer did not check the newsletter optin-checkbox (but it was present on the order form). | optin |
newsletter_choice_msg | string(63) | The selected option as readable text (in the language of the order). | Newsletter subscribed. |
"Customer to Affiliate"-program
Parameter name | Type | Description | Example value |
---|---|---|---|
customer_affiliate_url | string(127) | If you have enabled the “Customers to Affiliates”-program for the purchased main product, this links contains the invitation URL for the customer to become an affiliate. If he follows the URL, a Digistore24 account will be created. | https://www.digistore24.com/become_affiliate/abc123/xyz789 |
customer_affiliate_name | string(31) | If the buyer has a Digistore24-account, this is the account name. This does not necessarily mean, that he has established affiliations with your products. | user12345 supermerchant claus |
customer_affiliate_promo_url | string(127) | The promolink for the affiliate. |
IPN-Connection
Parameter name | Description |
---|---|
ipn_config_id | The ID of the IPN connection – as it occurs, for example, in the edit link (https://www.digistore24-app.com/vendor/settings/ipn/edit/ID) or is returned by ipnSetup() as ipn_config_id. |
ipn_config_domain_id | If the IPN connection was created via the Digistore API: The value passed as domain_id for ipnSetup(). |
ipn_config_api_key_id | If the IPN connection was created via the Digistore API: The numerical ID of the API key used. For the API key 12345-xxxxxxx, the ID would be 12345 |
ipn_config_products_ids | “All” (if the connection applies to all products) or the list of product IDs separated with commas – without spaces e.g. 123,456,789 |
Affiliation Event
Parameter name | Type | Description | Example value |
---|---|---|---|
ipn_version | float | Current version of the IPN-interface | 1.2 |
api_mode | string(4) | Indicates test mode. Possible value is only “live“. | live |
string(63) | Email-address of the new affiliate. | user@domain.com | |
affiliate_name | string(31) | Digistore24-ID of the new affiliate. | maxmarketer |
affiliate_link | string(127) | The new affiliate’s promolink | https://promo.123.maxmarketer.digistore24.com |
referring_affiliate_name | string(31) | Name of the referring affiliate (if any) | anothermarketer |
language | string(2) | The new affiliate’s language | de |
order_id | string(31) | “affiliate-“, followed by the affiliate-ID. | affiliate-12345 |
order_date | string(10) | 2013-03-31 | |
order_time | string(8) | 15:57:34 | |
order_date_time | string(19) | 2013-03-31 15:57:34 | |
address_first_name | |||
address_last_name | |||
address_id | |||
address_street | Street name and street number. Empty if no address was specified. | Mainstr. 123a | |
address_street_name | Street name only. | Mainstr. | |
address_street_number | Street number only. | 123a | |
address_city | Empty if no address was specified. | ||
address_state | Empty if no address was specified. | KlausMeier | |
address_zipcode | Empty if no address was specified. | 123456,78900,9865 | |
address_country | Empty if no address was specified. | ||
address_company | Empty if no company was specified. | ||
product_id | Unique ID of the product. | 3323323 | |
product_language | Language code of the product’s language. | en | |
product_name | string(63) | Readable name of the product. | Fast wealth guide |
E Ticket Event
Note: The address data may be missing, if an E-ticket is created, but no participant data are available. When the buyer enters the participant data, a new IPN-notification is sent with the event “E-ticket” and action “update”.
Parameter name | Type | Description | Example value |
---|---|---|---|
ipn_version | float | Current version of the IPN-interface. | 1.2 |
api_mode | string(4) | Indicates test mode. Possible value is only “test“. | test |
action | string(15) | Possible values: create; update; use; cancel_use; revoke; cancel_revoke | |
address_email | string(63) | Email-address of the new affiliate. | |
address_first_name | string(39) | ||
address_last_name | string(39) | ||
address_salutation | string(1) | Possible values: F – for Mrs. ; M – for Mr. | |
address_title | string(31) | Prof. Dr. Dr. | |
merchant_id | int | Unique ID of the vendor. | |
merchant_name | string(31) | Unique Digistore24-name of the vendor. | |
order_id | string(31) | The order-ID followed by a dash and the E-ticket-ID. | |
order_date | string(10) | Date of the order. | |
order_time | string(8) | Time of the order. | |
order_date_time | string(19) | Date and time of the order. | |
order_is_paid | string(1) | Y The order is paid or will be paid soon (in case of subscription or installments). N The order is not paid (e.g. the payment was refunded or charged back). | Y |
order_billing_status | string(15) | Possible values: paying (only for rebilling; Payments are active); aborted; unpaid; reminding; completed (only for single payment and installments. The single payment is completed / All; installment payments are completed) | completed |
product_id | int | ||
product_name | string(63) | ||
language | string(2) | 2-letter language code of product. | |
note | text | ||
eticket_id | int | Short ID of the E-ticket (unique). | |
eticket_code | int | Long ID of the E-ticket (includes the short ID and additionally an authentication code). | 10032261877243293591 |
eticket_no | int | Number of this E-ticket in the current order position (1 for the first eticket, 2 for the second, …) | 1 |
eticket_count | int | Total number of E-tickets in the current order position. | 3 |
eticket_is_blocked | string(1) | Y The eticket has been revoked manually; N The E-ticket is usable. | N |
eticket_used_at | date | Empty (if not used) or a date. | |
eticket_created_at | date | Empty (if not used) or a date. | |
eticket_modified_at | date | Empty (if not used) or a date. | |
eticket_url | url | The URL to download the E-ticket as a pdf-document. | |
location_id | int | ||
location_name | string[63] | ||
location_note | text | ||
location_map_image_url | string[255] | ||
location_country | string[2] | ISO-Code of the country of the location of the seminar. | DE |
location_address | text | ||
location_latitude | string[15] | 43.132472 | |
location_longitude | string[15] | 11.1109412 | |
location_directions | text |
Custom Form Event
Note: The address fields may be missing. They are only added if the custom form contains inputs of an address type (like first name, last name, salutation, street, city and so on).
Parameter name | Type | Description | Example value |
---|---|---|---|
ipn_version | float | Current version of the IPN-interface. | 1.2 |
api_mode | string(4) | Indicates test mode. Possible value is only “test“. | test |
action | string(15) | Possible value is only “create“. | create |
order_id | string(31) | “E-ticket-“ followed by the E-ticket-ID. | affiliate-1234567890 |
order_date | string(10) | Date of the order. | 2013-03-31 |
order_time | string(8) | Time of the order. | 15:57:34 |
order_date_time | string(19) | Date and time of the order. | 2013-03-31 15:57:34 |
address_email | string(63) | Email-address of the new affiliate. | user@domain.com |
address_first_name | string(39) | ||
address_last_name | string(39) | ||
address_salutation | string(1) | Possible values: F – for Mrs.; M – for Mr. | F |
(and so on) | |||
merchant_id | int | Unique ID of the vendor. | 39499382 |
merchant_name | string(31) | Unique Digistore24-name of the vendor. | KlausMeier |
order_id | string(31) | The order-ID followed by a dash, the form id or the form number. | A1B2D3E4-12345-1 |
order_date | string(10) | Date of the order. | 2013-03-31 |
order_time | string(8) | Time of the order. | 15:57:34 |
order_date_time | string(19) | Date and time of the order. | 2013-03-31 15:57:34 |
order_billing_status | string(15) | Possible values:paying (only for rebilling; Payments are active); aborted; unpaid; reminding; completed (only for single payment and installments. The single payment is completed / All installment payments are completed) | completed |
product_id | int | ||
form_no | |||
form_count | |||
data-XXXXX | string | For each field of the custom form, a field data-XXXXX is added, where XXXXX is the (internal) name of the field. |
Test Event
Parameter name | Type | Description | Example value |
---|---|---|---|
ipn_version | float | Current version of the IPN-interface. | 1.2 |
api_mode | string(4) | Indicates test mode. Possible value is only “test“. | test |
merchant_id | int | Unique ID of the vendor. | 39499382 |
merchant_name | string(31) | Unique Digistore24-name of the vendor. | JohnSmith |
product_ids | string(10000) | Comma-separated list of the vendor's product-IDs (or empty, if the vendor has not yet created any products). | 123456, 123456, 78900,9865 |
SHA-Signature
We add to our request a SHA-512-signature. This allows you to verify the integrity of the transferred data.
Example
The ipn request contains these parameters:
Parameter name | Value |
---|---|
buyer_email | claus@domain-xyz.de |
payment_id | PAYID-39-22012 |
order_id | 273732 |
transaction_amount | 17.00 |
transaction_currency | USD |
To create the string to hash
- Put all parameters in one line without line breaks (We have inserted the line breaks for better readability)
- Do not add the parameter sha_sign to the hash.
- Sort the parameters by the name (not case sensitive).
- create a SHA512 hash of that string
Example string to hash:
buyer_email=claus@domain-xyz.dexxxxxorder_id=273732xxxxxpayment_id=PAYID-39-22012xxxxxtransaction_amount=17.00xxxxxtransaction_currency=USDxxxxx
Example signature:
342770076245D14ED7DF4D2E5D82216D7EDF8F9E7969B5964C9C5DCB53E962BBECD545E90422B5329C69554FD8B1A7E7410736615FCA7FB5CBB3624CC016E4BC
For every IPN call, the SHA-signature is sent as parameter “sha_sign”.