pcrawfor / iap_verifier

Node.js implementation of iOS In App Purchase receipt verification
MIT License
158 stars 37 forks source link

Callback invoked twice #20

Open coderholic opened 9 years ago

coderholic commented 9 years ago

For some receipt inputs the callback gets invoked twice. Here's a little test script:

var fs = require('fs');
var IAPVerifier = require('iap_verifier');
var verifier = new IAPVerifier(process.env.ITUNES_SHARED_SECRET);
var receipt = fs.readFileSync('receipt').toString();
fs.writeFileSync('receipt', receipt);
verifier.verifyAutoRenewReceipt(receipt, true, function(valid, msg, data) {
    console.log("CALLBACK:", valid, msg, data);
});

When I run it I see this output:

$ node test.js
CALLBACK: false error null
CALLBACK: false error [SyntaxError: Unexpected end of input]

The traceback for both callbacks is the same:

  at node_modules/iap_verifier/lib/iap_verifier.js:193:20
  at IncomingMessage.<anonymous> (node_modules/iap_verifier/lib/iap_verifier.js:249:22)
  at IncomingMessage.emit (events.js:117:20)
  at _stream_readable.js:943:16
  at process._tickCallback (node.js:419:13)
coderholic commented 9 years ago

Looks like this was fixed in https://github.com/pcrawfor/iap_verifier/pull/19 but hasn't yet been merged

pcrawfor commented 9 years ago

Just merged and published the changes from #19 let me know if that is working @coderholic