Sample code for 30+ languages & platforms
AutoIt

ClickBank Parse Instant Notification JSON

See more ClickBank Examples

Demonstrates how to parse the JSON of a ClickBank instant notification.

Chilkat AutoIt Downloads

AutoIt
$oJson = ObjCreate("Chilkat.JsonObject")

$oJson.Load("{  ...  }")

; Use this online tool to generate parsing code from sample JSON: 
; Generate Parsing Code from JSON

; See the parsing code below..

; Sample notification JSON: 

; {
;     "transactionTime": "2016-06-05T13:47:51-06:00",
;     "receipt": "CWOGBZLN",
;     "transactionType": "SALE",
;     "vendor": "testacct",
;     "affiliate": "affiliate1",
;     "role": "VENDOR",
;     "totalAccountAmount": 0.00,
;     "paymentMethod": "VISA",
;     "totalOrderAmount": 0.00,
;     "totalTaxAmount": 0.00,
;     "totalShippingAmount": 0.00,
;     "currency": "USD",
;     "orderLanguage": "EN",
;     "trackingCodes": [
;         "tracking_code"
;     ],
;     "lineItems": [
;         {
;             "itemNo": "1",
;             "productTitle": "Product Title",
;             "shippable": false,
;             "recurring": false,
;             "accountAmount": 5.00,
;             "quantity": 1,
;             "downloadUrl": "<download_url>"
;             "lineItemType": "CART"
;        }
;         {
;             "itemNo": "2",
;             "productTitle": "Second Product",
;             "shippable": false,
;             "recurring": true,
;             "accountAmount": 2.99,
;             "quantity": 1,
;             "downloadUrl": "<download_url>"
;             "lineItemType": "CART"
;        }
; 
;     ],
;      "customer": {
;         "shipping": {
;             "firstName": "TEST",
;             "lastName": "GUY",
;             "fullName": "Test Guy",
;             "phoneNumber": "",
;             "email": "test@example.net",
;             "address": {
;                 "address1": "12 Test Lane",
;                 "address2": "Suite 100",
;                 "city": "LAS VEGAS",
;                 "county": "LAS VEGAS",
;                 "state": "NV",
;                 "postalCode": "89101",
;                 "country": "US"
;             }
;         },
;         "billing": {
;             "firstName": "TEST",
;             "lastName": "GUY",
;             "fullName": "Test Guy",
;             "phoneNumber": "",
;             "email": "test@example.net",
;             "address": {
;                 "state": "NV",
;                 "postalCode": "89101",
;                 "country": "US"
;             }
;         }
;     },
;      "upsell": {
;         "upsellOriginalReceipt": "XXXXXXXX",
;         "upsellFlowId": 55,
;         "upsellSession": "VVVVVVVVVV",
;         "upsellPath": "upsell_path"
;     },
;      "hopfeed": {
;         "hopfeedClickId": "hopfeed_click",
;         "hopfeedApplicationId": 0000,
;         "hopfeedCreativeId": 0000,
;         "hopfeedApplicationPayout": 0.00,
;         "hopfeedVendorPayout": 0.00
;     },
;      "version": 6.0,
;     "attemptCount": 1,
;      "vendorVariables": {
;        "v1": "variable1", 
;        "v2": "variable2" 
;     }
;  }
; 
; 

Local $sTransactionTime
Local $sReceipt
Local $sTransactionType
Local $sVendor
Local $sAffiliate
Local $sRole
Local $sTotalAccountAmount
Local $sPaymentMethod
Local $sTotalOrderAmount
Local $sTotalTaxAmount
Local $sTotalShippingAmount
Local $sCurrency
Local $sOrderLanguage
Local $sCustomerShippingFirstName
Local $sCustomerShippingLastName
Local $sCustomerShippingFullName
Local $sCustomerShippingPhoneNumber
Local $sCustomerShippingEmail
Local $sCustomerShippingAddressAddress1
Local $sCustomerShippingAddressAddress2
Local $sCustomerShippingAddressCity
Local $sCustomerShippingAddressCounty
Local $sCustomerShippingAddressState
Local $sCustomerShippingAddressPostalCode
Local $sCustomerShippingAddressCountry
Local $sCustomerBillingFirstName
Local $sCustomerBillingLastName
Local $sCustomerBillingFullName
Local $sCustomerBillingPhoneNumber
Local $sCustomerBillingEmail
Local $sCustomerBillingAddressState
Local $sCustomerBillingAddressPostalCode
Local $sCustomerBillingAddressCountry
Local $sUpsellUpsellOriginalReceipt
Local $iUpsellUpsellFlowId
Local $sUpsellUpsellSession
Local $sUpsellUpsellPath
Local $sHopfeedHopfeedClickId
Local $iHopfeedHopfeedApplicationId
Local $iHopfeedHopfeedCreativeId
Local $sHopfeedHopfeedApplicationPayout
Local $sHopfeedHopfeedVendorPayout
Local $sVersion
Local $iAttemptCount
Local $sVendorVariablesV1
Local $sVendorVariablesV2
Local $i
Local $iCount_i
Local $strVal
Local $sItemNo
Local $sProductTitle
Local $bShippable
Local $bRecurring
Local $sAccountAmount
Local $iQuantity
Local $sDownloadUrl
Local $sLineItemType

$sTransactionTime = $oJson.StringOf("transactionTime")
$sReceipt = $oJson.StringOf("receipt")
$sTransactionType = $oJson.StringOf("transactionType")
$sVendor = $oJson.StringOf("vendor")
$sAffiliate = $oJson.StringOf("affiliate")
$sRole = $oJson.StringOf("role")
$sTotalAccountAmount = $oJson.StringOf("totalAccountAmount")
$sPaymentMethod = $oJson.StringOf("paymentMethod")
$sTotalOrderAmount = $oJson.StringOf("totalOrderAmount")
$sTotalTaxAmount = $oJson.StringOf("totalTaxAmount")
$sTotalShippingAmount = $oJson.StringOf("totalShippingAmount")
$sCurrency = $oJson.StringOf("currency")
$sOrderLanguage = $oJson.StringOf("orderLanguage")
$sCustomerShippingFirstName = $oJson.StringOf("customer.shipping.firstName")
$sCustomerShippingLastName = $oJson.StringOf("customer.shipping.lastName")
$sCustomerShippingFullName = $oJson.StringOf("customer.shipping.fullName")
$sCustomerShippingPhoneNumber = $oJson.StringOf("customer.shipping.phoneNumber")
$sCustomerShippingEmail = $oJson.StringOf("customer.shipping.email")
$sCustomerShippingAddressAddress1 = $oJson.StringOf("customer.shipping.address.address1")
$sCustomerShippingAddressAddress2 = $oJson.StringOf("customer.shipping.address.address2")
$sCustomerShippingAddressCity = $oJson.StringOf("customer.shipping.address.city")
$sCustomerShippingAddressCounty = $oJson.StringOf("customer.shipping.address.county")
$sCustomerShippingAddressState = $oJson.StringOf("customer.shipping.address.state")
$sCustomerShippingAddressPostalCode = $oJson.StringOf("customer.shipping.address.postalCode")
$sCustomerShippingAddressCountry = $oJson.StringOf("customer.shipping.address.country")
$sCustomerBillingFirstName = $oJson.StringOf("customer.billing.firstName")
$sCustomerBillingLastName = $oJson.StringOf("customer.billing.lastName")
$sCustomerBillingFullName = $oJson.StringOf("customer.billing.fullName")
$sCustomerBillingPhoneNumber = $oJson.StringOf("customer.billing.phoneNumber")
$sCustomerBillingEmail = $oJson.StringOf("customer.billing.email")
$sCustomerBillingAddressState = $oJson.StringOf("customer.billing.address.state")
$sCustomerBillingAddressPostalCode = $oJson.StringOf("customer.billing.address.postalCode")
$sCustomerBillingAddressCountry = $oJson.StringOf("customer.billing.address.country")
$sUpsellUpsellOriginalReceipt = $oJson.StringOf("upsell.upsellOriginalReceipt")
$iUpsellUpsellFlowId = $oJson.IntOf("upsell.upsellFlowId")
$sUpsellUpsellSession = $oJson.StringOf("upsell.upsellSession")
$sUpsellUpsellPath = $oJson.StringOf("upsell.upsellPath")
$sHopfeedHopfeedClickId = $oJson.StringOf("hopfeed.hopfeedClickId")
$iHopfeedHopfeedApplicationId = $oJson.IntOf("hopfeed.hopfeedApplicationId")
$iHopfeedHopfeedCreativeId = $oJson.IntOf("hopfeed.hopfeedCreativeId")
$sHopfeedHopfeedApplicationPayout = $oJson.StringOf("hopfeed.hopfeedApplicationPayout")
$sHopfeedHopfeedVendorPayout = $oJson.StringOf("hopfeed.hopfeedVendorPayout")
$sVersion = $oJson.StringOf("version")
$iAttemptCount = $oJson.IntOf("attemptCount")
$sVendorVariablesV1 = $oJson.StringOf("vendorVariables.v1")
$sVendorVariablesV2 = $oJson.StringOf("vendorVariables.v2")
$i = 0
$iCount_i = $oJson.SizeOfArray("trackingCodes")
While $i < $iCount_i
    $oJson.I = $i
    $strVal = $oJson.StringOf("trackingCodes[i]")
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJson.SizeOfArray("lineItems")
While $i < $iCount_i
    $oJson.I = $i
    $sItemNo = $oJson.StringOf("lineItems[i].itemNo")
    $sProductTitle = $oJson.StringOf("lineItems[i].productTitle")
    $bShippable = $oJson.BoolOf("lineItems[i].shippable")
    $bRecurring = $oJson.BoolOf("lineItems[i].recurring")
    $sAccountAmount = $oJson.StringOf("lineItems[i].accountAmount")
    $iQuantity = $oJson.IntOf("lineItems[i].quantity")
    $sDownloadUrl = $oJson.StringOf("lineItems[i].downloadUrl")
    $sLineItemType = $oJson.StringOf("lineItems[i].lineItemType")
    $i = $i + 1
Wend