PowerShell
PowerShell
ClickBank Parse Instant Notification JSON
See more ClickBank Examples
Demonstrates how to parse the JSON of a ClickBank instant notification.Chilkat PowerShell Downloads
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
}