Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) ClickBank Parse Instant Notification JSONDemonstrates how to parse the JSON of a ClickBank instant notification.
use chilkat(); $json = chilkat::CkJsonObject->new(); $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 < $count_i) { $json->put_I($i); $strVal = $json->stringOf("trackingCodes[i]"); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray("lineItems"); while ($i < $count_i) { $json->put_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; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.