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
(Visual FoxPro) ClickBank Parse Instant Notification JSONDemonstrates how to parse the JSON of a ClickBank instant notification.
LOCAL loJson LOCAL lcTransactionTime LOCAL lcReceipt LOCAL lcTransactionType LOCAL lcVendor LOCAL lcAffiliate LOCAL lcRole LOCAL lcTotalAccountAmount LOCAL lcPaymentMethod LOCAL lcTotalOrderAmount LOCAL lcTotalTaxAmount LOCAL lcTotalShippingAmount LOCAL lcCurrency LOCAL lcOrderLanguage LOCAL lcCustomerShippingFirstName LOCAL lcCustomerShippingLastName LOCAL lcCustomerShippingFullName LOCAL lcCustomerShippingPhoneNumber LOCAL lcCustomerShippingEmail LOCAL lcCustomerShippingAddressAddress1 LOCAL lcCustomerShippingAddressAddress2 LOCAL lcCustomerShippingAddressCity LOCAL lcCustomerShippingAddressCounty LOCAL lcCustomerShippingAddressState LOCAL lcCustomerShippingAddressPostalCode LOCAL lcCustomerShippingAddressCountry LOCAL lcCustomerBillingFirstName LOCAL lcCustomerBillingLastName LOCAL lcCustomerBillingFullName LOCAL lcCustomerBillingPhoneNumber LOCAL lcCustomerBillingEmail LOCAL lcCustomerBillingAddressState LOCAL lcCustomerBillingAddressPostalCode LOCAL lcCustomerBillingAddressCountry LOCAL lcUpsellUpsellOriginalReceipt LOCAL lnUpsellUpsellFlowId LOCAL lcUpsellUpsellSession LOCAL lcUpsellUpsellPath LOCAL lcHopfeedHopfeedClickId LOCAL lnHopfeedHopfeedApplicationId LOCAL lnHopfeedHopfeedCreativeId LOCAL lcHopfeedHopfeedApplicationPayout LOCAL lcHopfeedHopfeedVendorPayout LOCAL lcVersion LOCAL lnAttemptCount LOCAL lcVendorVariablesV1 LOCAL lcVendorVariablesV2 LOCAL i LOCAL lnCount_i LOCAL lcStrVal LOCAL lcItemNo LOCAL lcProductTitle LOCAL lnShippable LOCAL lnRecurring LOCAL lcAccountAmount LOCAL lnQuantity LOCAL lcDownloadUrl LOCAL lcLineItemType * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.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" * } * } * * lcTransactionTime = loJson.StringOf("transactionTime") lcReceipt = loJson.StringOf("receipt") lcTransactionType = loJson.StringOf("transactionType") lcVendor = loJson.StringOf("vendor") lcAffiliate = loJson.StringOf("affiliate") lcRole = loJson.StringOf("role") lcTotalAccountAmount = loJson.StringOf("totalAccountAmount") lcPaymentMethod = loJson.StringOf("paymentMethod") lcTotalOrderAmount = loJson.StringOf("totalOrderAmount") lcTotalTaxAmount = loJson.StringOf("totalTaxAmount") lcTotalShippingAmount = loJson.StringOf("totalShippingAmount") lcCurrency = loJson.StringOf("currency") lcOrderLanguage = loJson.StringOf("orderLanguage") lcCustomerShippingFirstName = loJson.StringOf("customer.shipping.firstName") lcCustomerShippingLastName = loJson.StringOf("customer.shipping.lastName") lcCustomerShippingFullName = loJson.StringOf("customer.shipping.fullName") lcCustomerShippingPhoneNumber = loJson.StringOf("customer.shipping.phoneNumber") lcCustomerShippingEmail = loJson.StringOf("customer.shipping.email") lcCustomerShippingAddressAddress1 = loJson.StringOf("customer.shipping.address.address1") lcCustomerShippingAddressAddress2 = loJson.StringOf("customer.shipping.address.address2") lcCustomerShippingAddressCity = loJson.StringOf("customer.shipping.address.city") lcCustomerShippingAddressCounty = loJson.StringOf("customer.shipping.address.county") lcCustomerShippingAddressState = loJson.StringOf("customer.shipping.address.state") lcCustomerShippingAddressPostalCode = loJson.StringOf("customer.shipping.address.postalCode") lcCustomerShippingAddressCountry = loJson.StringOf("customer.shipping.address.country") lcCustomerBillingFirstName = loJson.StringOf("customer.billing.firstName") lcCustomerBillingLastName = loJson.StringOf("customer.billing.lastName") lcCustomerBillingFullName = loJson.StringOf("customer.billing.fullName") lcCustomerBillingPhoneNumber = loJson.StringOf("customer.billing.phoneNumber") lcCustomerBillingEmail = loJson.StringOf("customer.billing.email") lcCustomerBillingAddressState = loJson.StringOf("customer.billing.address.state") lcCustomerBillingAddressPostalCode = loJson.StringOf("customer.billing.address.postalCode") lcCustomerBillingAddressCountry = loJson.StringOf("customer.billing.address.country") lcUpsellUpsellOriginalReceipt = loJson.StringOf("upsell.upsellOriginalReceipt") lnUpsellUpsellFlowId = loJson.IntOf("upsell.upsellFlowId") lcUpsellUpsellSession = loJson.StringOf("upsell.upsellSession") lcUpsellUpsellPath = loJson.StringOf("upsell.upsellPath") lcHopfeedHopfeedClickId = loJson.StringOf("hopfeed.hopfeedClickId") lnHopfeedHopfeedApplicationId = loJson.IntOf("hopfeed.hopfeedApplicationId") lnHopfeedHopfeedCreativeId = loJson.IntOf("hopfeed.hopfeedCreativeId") lcHopfeedHopfeedApplicationPayout = loJson.StringOf("hopfeed.hopfeedApplicationPayout") lcHopfeedHopfeedVendorPayout = loJson.StringOf("hopfeed.hopfeedVendorPayout") lcVersion = loJson.StringOf("version") lnAttemptCount = loJson.IntOf("attemptCount") lcVendorVariablesV1 = loJson.StringOf("vendorVariables.v1") lcVendorVariablesV2 = loJson.StringOf("vendorVariables.v2") i = 0 lnCount_i = loJson.SizeOfArray("trackingCodes") DO WHILE i < lnCount_i loJson.I = i lcStrVal = loJson.StringOf("trackingCodes[i]") i = i + 1 ENDDO i = 0 lnCount_i = loJson.SizeOfArray("lineItems") DO WHILE i < lnCount_i loJson.I = i lcItemNo = loJson.StringOf("lineItems[i].itemNo") lcProductTitle = loJson.StringOf("lineItems[i].productTitle") lnShippable = loJson.BoolOf("lineItems[i].shippable") lnRecurring = loJson.BoolOf("lineItems[i].recurring") lcAccountAmount = loJson.StringOf("lineItems[i].accountAmount") lnQuantity = loJson.IntOf("lineItems[i].quantity") lcDownloadUrl = loJson.StringOf("lineItems[i].downloadUrl") lcLineItemType = loJson.StringOf("lineItems[i].lineItemType") i = i + 1 ENDDO RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.