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
(Delphi ActiveX) ClickBank Parse Instant Notification JSONDemonstrates how to parse the JSON of a ClickBank instant notification.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var json: TChilkatJsonObject; transactionTime: WideString; receipt: WideString; transactionType: WideString; vendor: WideString; affiliate: WideString; role: WideString; totalAccountAmount: WideString; paymentMethod: WideString; totalOrderAmount: WideString; totalTaxAmount: WideString; totalShippingAmount: WideString; currency: WideString; orderLanguage: WideString; customerShippingFirstName: WideString; customerShippingLastName: WideString; customerShippingFullName: WideString; customerShippingPhoneNumber: WideString; customerShippingEmail: WideString; customerShippingAddressAddress1: WideString; customerShippingAddressAddress2: WideString; customerShippingAddressCity: WideString; customerShippingAddressCounty: WideString; customerShippingAddressState: WideString; customerShippingAddressPostalCode: WideString; customerShippingAddressCountry: WideString; customerBillingFirstName: WideString; customerBillingLastName: WideString; customerBillingFullName: WideString; customerBillingPhoneNumber: WideString; customerBillingEmail: WideString; customerBillingAddressState: WideString; customerBillingAddressPostalCode: WideString; customerBillingAddressCountry: WideString; upsellUpsellOriginalReceipt: WideString; upsellUpsellFlowId: Integer; upsellUpsellSession: WideString; upsellUpsellPath: WideString; hopfeedHopfeedClickId: WideString; hopfeedHopfeedApplicationId: Integer; hopfeedHopfeedCreativeId: Integer; hopfeedHopfeedApplicationPayout: WideString; hopfeedHopfeedVendorPayout: WideString; version: WideString; attemptCount: Integer; vendorVariablesV1: WideString; vendorVariablesV2: WideString; i: Integer; count_i: Integer; strVal: WideString; itemNo: WideString; productTitle: WideString; shippable: Integer; recurring: Integer; accountAmount: WideString; quantity: Integer; downloadUrl: WideString; lineItemType: WideString; begin json := TChilkatJsonObject.Create(Self); 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 do begin json.I := i; strVal := json.StringOf('trackingCodes[i]'); i := i + 1; end; i := 0; count_i := json.SizeOfArray('lineItems'); while i < count_i do begin 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; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.