/appstoreIAP

Appstore In-App Purchase server validate

Primary LanguageJavaScript

AppstoreIAP

Appstore In-App Purchase server validation.

For usage,please see example.js

    var receipt = '{"signature" = "AmPcPxkSHxeumR/vCKEi+15Eo627uunIpPDuPQe/x9EUwwwSRZO4n8Vp7ndyBom3XaKEsvYPnkfPRyPIsKh2l9475zLKeW20weaLcPjp5hIlbgSb/lEGE3Pwj6Sggar2UwF0ng9UdjAQawNt9epBqTzqiwHvaLkjjgosrEOdfLVfAAADVzCCA1MwggI7oAMCAQICCGUUkU3ZWAS1MA0GCSqGSIb3DQEBBQUAMH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEzMDEGA1UEAwwqQXBwbGUgaVR1bmVzIFN0b3JlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA5MDYxNTIyMDU1NloXDTE0MDYxNDIyMDU1NlowZDEjMCEGA1UEAwwaUHVyY2hhc2VSZWNlaXB0Q2VydGlmaWNhdGUxGzAZBgNVBAsMEkFwcGxlIGlUdW5lcyBTdG9yZTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrRjF2ct4IrSdiTChaI0g8pwv/cmHs8p/RwV/rt/91XKVhNl4XIBimKjQQNfgHsDs6yju++DrKJE7uKsphMddKYfFE5rGXsAdBEjBwRIxexTevx3HLEFGAt1moKx509dhxtiIdDgJv2YaVs49B0uJvNdy6SMqNNLHsDLzDS9oZHAgMBAAGjcjBwMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUNh3o4p2C0gEYtTJrDtdDC5FYQzowDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSpg4PyGUjFPhJXCBTMzaN+mV8k9TAQBgoqhkiG92NkBgUBBAIFADANBgkqhkiG9w0BAQUFAAOCAQEAEaSbPjtmN4C/IB3QEpK32RxacCDXdVXAeVReS5FaZxc+t88pQP93BiAxvdW/3eTSMGY5FbeAYL3etqP5gm8wrFojX0ikyVRStQ+/AQ0KEjtqB07kLs9QUe8czR8UGfdM1EumV/UgvDd4NwNYxLQMg4WTQfgkQQVy8GXZwVHgbE/UC6Y7053pGXBk51NPM3woxhd3gSRLvXj+loHsStcTEqe9pBDpmG5+sk4tw+GK3GMeEN5/+e1QT9np/Kl1nj+aBw7C0xsy0bFnaAd1cSS6xdory/CUvM6gtKsmnOOdqTesbp0bs8sn6Wqs0C9dgcxRHuOMZ2tm8npLUm7argOSzQ==";'
      + '"purchase-info" = "ewoJIm9yaWdpbmFsLXB1cmNoYXNlLWRhdGUtcHN0IiA9ICIyMDEzLTA4LTE1IDAwOjM1OjM5IEFtZXJpY2EvTG9zX0FuZ2VsZXMiOwoJInVuaXF1ZS1pZGVudGlmaWVyIiA9ICJiYTdhOTk2Mjc4NzY1NDZjZTZjZTkyYzE5ZjQwMTNjYmMwMDlhOWEzIjsKCSJvcmlnaW5hbC10cmFuc2FjdGlvbi1pZCIgPSAiMTAwMDAwMDA4NDE1NzQwNCI7CgkiYnZycyIgPSAiMS4xMCI7CgkidHJhbnNhY3Rpb24taWQiID0gIjEwMDAwMDAwODQxNTc0MDQiOwoJInF1YW50aXR5IiA9ICIxIjsKCSJvcmlnaW5hbC1wdXJjaGFzZS1kYXRlLW1zIiA9ICIxMzc2NTUyMTM5MTU3IjsKCSJ1bmlxdWUtdmVuZG9yLWlkZW50aWZpZXIiID0gIkZGRDZFQjIxLTQ4NTEtNDgwNi1CNDBDLTE3MzEwNzY0NDAxMyI7CgkicHJvZHVjdC1pZCIgPSAiY29tLjEwMTVnYW1lLmNyeXN0YWwyMzYiOwoJIml0ZW0taWQiID0gIjY0MzcxNTA3NCI7CgkiYmlkIiA9ICJ3d3cuZmVpbGl1LmhsaiI7CgkicHVyY2hhc2UtZGF0ZS1tcyIgPSAiMTM3NjU1MjEzOTE1NyI7CgkicHVyY2hhc2UtZGF0ZSIgPSAiMjAxMy0wOC0xNSAwNzozNTozOSBFdGMvR01UIjsKCSJwdXJjaGFzZS1kYXRlLXBzdCIgPSAiMjAxMy0wOC0xNSAwMDozNTozOSBBbWVyaWNhL0xvc19BbmdlbGVzIjsKCSJvcmlnaW5hbC1wdXJjaGFzZS1kYXRlIiA9ICIyMDEzLTA4LTE1IDA3OjM1OjM5IEV0Yy9HTVQiOwp9";'
      + '"environment" = "Sandbox";'
      + '"pod" = "100";'
      + '"signing-status" = "0"; }';

    var Validation= require('./Validation.js');

    var validation = new Validation();
    validation.check(receipt, function (data, isValid) {
        console.log('is valid :  ' + isValid);
        console.log('receive data :  ' + data);
    });