Sample code for 30+ languages & platforms
PowerShell

ClickBank Parse Instant Notification JSON

See more ClickBank Examples

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

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$json = New-Object Chilkat.JsonObject

$json.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" 
#     }
#  }
# 
# 

$transactionTime = $json.StringOf("transactionTime")
$receipt = $json.StringOf("receipt")
$transactionType = $json.StringOf("transactionType")
$vendor = $json.StringOf("vendor")
$affiliate = $json.StringOf("affiliate")
$role = $json.StringOf("role")
$totalAccountAmount = $json.StringOf("totalAccountAmount")
$paymentMethod = $json.StringOf("paymentMethod")
$totalOrderAmount = $json.StringOf("totalOrderAmount")
$totalTaxAmount = $json.StringOf("totalTaxAmount")
$totalShippingAmount = $json.StringOf("totalShippingAmount")
$currency = $json.StringOf("currency")
$orderLanguage = $json.StringOf("orderLanguage")
$customerShippingFirstName = $json.StringOf("customer.shipping.firstName")
$customerShippingLastName = $json.StringOf("customer.shipping.lastName")
$customerShippingFullName = $json.StringOf("customer.shipping.fullName")
$customerShippingPhoneNumber = $json.StringOf("customer.shipping.phoneNumber")
$customerShippingEmail = $json.StringOf("customer.shipping.email")
$customerShippingAddressAddress1 = $json.StringOf("customer.shipping.address.address1")
$customerShippingAddressAddress2 = $json.StringOf("customer.shipping.address.address2")
$customerShippingAddressCity = $json.StringOf("customer.shipping.address.city")
$customerShippingAddressCounty = $json.StringOf("customer.shipping.address.county")
$customerShippingAddressState = $json.StringOf("customer.shipping.address.state")
$customerShippingAddressPostalCode = $json.StringOf("customer.shipping.address.postalCode")
$customerShippingAddressCountry = $json.StringOf("customer.shipping.address.country")
$customerBillingFirstName = $json.StringOf("customer.billing.firstName")
$customerBillingLastName = $json.StringOf("customer.billing.lastName")
$customerBillingFullName = $json.StringOf("customer.billing.fullName")
$customerBillingPhoneNumber = $json.StringOf("customer.billing.phoneNumber")
$customerBillingEmail = $json.StringOf("customer.billing.email")
$customerBillingAddressState = $json.StringOf("customer.billing.address.state")
$customerBillingAddressPostalCode = $json.StringOf("customer.billing.address.postalCode")
$customerBillingAddressCountry = $json.StringOf("customer.billing.address.country")
$upsellUpsellOriginalReceipt = $json.StringOf("upsell.upsellOriginalReceipt")
$upsellUpsellFlowId = $json.IntOf("upsell.upsellFlowId")
$upsellUpsellSession = $json.StringOf("upsell.upsellSession")
$upsellUpsellPath = $json.StringOf("upsell.upsellPath")
$hopfeedHopfeedClickId = $json.StringOf("hopfeed.hopfeedClickId")
$hopfeedHopfeedApplicationId = $json.IntOf("hopfeed.hopfeedApplicationId")
$hopfeedHopfeedCreativeId = $json.IntOf("hopfeed.hopfeedCreativeId")
$hopfeedHopfeedApplicationPayout = $json.StringOf("hopfeed.hopfeedApplicationPayout")
$hopfeedHopfeedVendorPayout = $json.StringOf("hopfeed.hopfeedVendorPayout")
$version = $json.StringOf("version")
$attemptCount = $json.IntOf("attemptCount")
$vendorVariablesV1 = $json.StringOf("vendorVariables.v1")
$vendorVariablesV2 = $json.StringOf("vendorVariables.v2")
$i = 0
$count_i = $json.SizeOfArray("trackingCodes")
while ($i -lt $count_i) {
    $json.I = $i
    $strVal = $json.StringOf("trackingCodes[i]")
    $i = $i + 1
}

$i = 0
$count_i = $json.SizeOfArray("lineItems")
while ($i -lt $count_i) {
    $json.I = $i
    $itemNo = $json.StringOf("lineItems[i].itemNo")
    $productTitle = $json.StringOf("lineItems[i].productTitle")
    $shippable = $json.BoolOf("lineItems[i].shippable")
    $recurring = $json.BoolOf("lineItems[i].recurring")
    $accountAmount = $json.StringOf("lineItems[i].accountAmount")
    $quantity = $json.IntOf("lineItems[i].quantity")
    $downloadUrl = $json.StringOf("lineItems[i].downloadUrl")
    $lineItemType = $json.StringOf("lineItems[i].lineItemType")
    $i = $i + 1
}