|
|
(JavaScript) ClickBank Parse Instant Notification JSON
Demonstrates how to parse the JSON of a ClickBank instant notification.
var json = new CkJsonObject();
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"
// }
// }
//
//
var transactionTime;
var receipt;
var transactionType;
var vendor;
var affiliate;
var role;
var totalAccountAmount;
var paymentMethod;
var totalOrderAmount;
var totalTaxAmount;
var totalShippingAmount;
var currency;
var orderLanguage;
var customerShippingFirstName;
var customerShippingLastName;
var customerShippingFullName;
var customerShippingPhoneNumber;
var customerShippingEmail;
var customerShippingAddressAddress1;
var customerShippingAddressAddress2;
var customerShippingAddressCity;
var customerShippingAddressCounty;
var customerShippingAddressState;
var customerShippingAddressPostalCode;
var customerShippingAddressCountry;
var customerBillingFirstName;
var customerBillingLastName;
var customerBillingFullName;
var customerBillingPhoneNumber;
var customerBillingEmail;
var customerBillingAddressState;
var customerBillingAddressPostalCode;
var customerBillingAddressCountry;
var upsellUpsellOriginalReceipt;
var upsellUpsellFlowId;
var upsellUpsellSession;
var upsellUpsellPath;
var hopfeedHopfeedClickId;
var hopfeedHopfeedApplicationId;
var hopfeedHopfeedCreativeId;
var hopfeedHopfeedApplicationPayout;
var hopfeedHopfeedVendorPayout;
var version;
var attemptCount;
var vendorVariablesV1;
var vendorVariablesV2;
var i;
var count_i;
var strVal;
var itemNo;
var productTitle;
var shippable;
var recurring;
var accountAmount;
var quantity;
var downloadUrl;
var lineItemType;
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.I = i;
strVal = json.StringOf("trackingCodes[i]");
i = i+1;
}
i = 0;
count_i = json.SizeOfArray("lineItems");
while (i < 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;
}
|