The iap top-up base64 code for IOS game players is sent to Apple's verification receipt. There is no strange problem in the returned value of in_app. iapin_app

Source: Internet
Author: User

The iap top-up base64 code for IOS game players is sent to Apple's verification receipt. There is no strange problem in the returned value of in_app. iapin_app

In the past few days, our IOS games have been shelved and many users have been recharged. However, only two people on itunesconnet have actually paid for the game. Someone must have cheated us.

Let's first introduce our verification process:

Recharge initiated by mobile phone-> purchase successful-> get the base64 receipt-> send to the game server for verification-> If successful, the result of the successful player recharge

At first glance, it seems that there is no problem. It should be okay, but there is a problem. You can see a magic base64 receipt. The ghost knows how to hold it out. The hacker is excited.

There are several accounts. According to the server log, we can see the requests sent by these users. base64 is not convenient to post out. Then we can post the results.

"D:\Program Files (x86)\JetBrains\WebStorm 140.2753\bin\runnerw.exe" "C:\Program Files\iojs\node.exe" main.jsstatusCode:  200headers:  { 'x-apple-jingle-correlation-key': 'L4AZATKFKDNN7WI2P3UEX3P3YY',  pod: '2',  'x-apple-translated-wo-url': '/WebObjects/MZFinance.woa/wa/verifyReceipt',  'x-apple-orig-url': 'http://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/verifyReceipt',  'x-apple-application-site': 'ST11',  'edge-control': 'no-store, cache-maxage=0',  date: 'Wed, 11 Mar 2015 06:03:14 GMT',  'set-cookie':    [ 'itspod=2; version="1"; expires=Sat, 11-Apr-2015 06:03:14 GMT; path=/; domain=.apple.com',     'mzf_in=022393; version="1"; path=/WebObjects; domain=.apple.com; secure; HttpOnly',     'mzf_dr=0; version="1"; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/WebObjects; domain=.apple.com',     'ns-mzf-inst=36-60-80-109-96-8269-22393-2-st11; version=1; Max-Age=1800; path=/; domain=.apple.com; httponly',     'NSC_nagjobodf-bopo-qppm*0=ffffffff12a53a2d45525d5f4f58455e445a4a423660;path=/;secure;httponly' ],  'apple-timing-app': '9 ms',  'cache-control': 'private, no-cache, no-store, no-transform, must-revalidate, max-age=0',  expires: 'Wed, 11 Mar 2015 06:03:14 GMT',  'x-apple-lokamai-no-cache': 'true',  'x-apple-application-instance': '22393',  'x-frame-options': 'SAMEORIGIN',  itspod: '2',  'x-webobjects-loadaverage': '23',  connection: 'keep-alive',  'content-length': '631' }{"status":0, "environment":"Production", "receipt":{"receipt_type":"Production", "adam_id":958813739, "app_item_id":958813739, "bundle_id":"com.tsgame.godlike", "application_version":"2.2", "download_id":80011053156383, "version_external_identifier":811584718, "request_date":"2015-03-11 06:03:14 Etc/GMT", "request_date_ms":"1426053794658", "request_date_pst":"2015-03-10 23:03:14 America/Los_Angeles", "original_purchase_date":"2015-03-07 18:22:23 Etc/GMT", "original_purchase_date_ms":"1425752543000", "original_purchase_date_pst":"2015-03-07 10:22:23 America/Los_Angeles", "original_application_version":"2.2", "in_app":[]}}Process finished with exit code 0
This is the base64. verification information returned after being submitted to itc.

Yes. status returns 0;

However, if you know the new format after IOS6, you will surely find that the. In_App field does not exist .......

I am also very surprised. why not. what is the advanced technology... almost all the internal purchase verification posts on the Internet say that it is OK to return 0 .. but in this case. the returned 0 is definitely not a problem.

"D:\Program Files (x86)\JetBrains\WebStorm 140.2753\bin\runnerw.exe" "C:\Program Files\iojs\node.exe" main.jsstatusCode:  200headers:  { 'x-apple-jingle-correlation-key': 'F6CPKDZP4ZVKJKKMOFLMRLY354',  pod: '54',  'x-apple-translated-wo-url': '/WebObjects/MZFinance.woa/wa/verifyReceipt',  'x-apple-orig-url': 'http://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/verifyReceipt',  'x-apple-application-site': 'ST13',  'edge-control': 'no-store, cache-maxage=0',  date: 'Wed, 11 Mar 2015 06:10:34 GMT',  'set-cookie':    [ 'itspod=54; version="1"; expires=Sat, 11-Apr-2015 06:10:34 GMT; path=/; domain=.apple.com',     'mzf_in=542401; version="1"; path=/WebObjects; domain=.apple.com; secure; HttpOnly',     'mzf_dr=0; version="1"; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/WebObjects; domain=.apple.com',     'ns-mzf-inst=183-23-80-220-13-8162-542401-54-st13; version=1; Max-Age=1800; path=/; domain=.apple.com; httponly',     'NSC_nagjobodf-bopo-qppm*0=ffffffff12a5a90645525d5f4f58455e445a4a423660;path=/;secure;httponly' ],  'apple-timing-app': '9 ms',  'cache-control': 'private, no-cache, no-store, no-transform, must-revalidate, max-age=0',  expires: 'Wed, 11 Mar 2015 06:10:34 GMT',  'x-apple-lokamai-no-cache': 'true',  'x-apple-application-instance': '542401',  'x-frame-options': 'SAMEORIGIN',  itspod: '54',  'x-webobjects-loadaverage': '16',  connection: 'keep-alive',  'content-length': '1099' }{"status":0, "environment":"Production", "receipt":{"receipt_type":"Production", "adam_id":958813739, "app_item_id":958813739, "bundle_id":"com.tsgame.godlike", "application_version":"2.2", "download_id":74004963679107, "version_external_identifier":811584718, "request_date":"2015-03-11 06:10:34 Etc/GMT", "request_date_ms":"1426054234103", "request_date_pst":"2015-03-10 23:10:34 America/Los_Angeles", "original_purchase_date":"2015-03-08 07:26:30 Etc/GMT", "original_purchase_date_ms":"1425799590000", "original_purchase_date_pst":"2015-03-07 23:26:30 America/Los_Angeles", "original_application_version":"2.2", "in_app":[{"quantity":"1", "product_id":"Gifts1", "transaction_id":"340000061439445", "original_transaction_id":"340000061439445", "purchase_date":"2015-03-08 07:38:35 Etc/GMT", "purchase_date_ms":"1425800315000", "purchase_date_pst":"2015-03-07 23:38:35 America/Los_Angeles", "original_purchase_date":"2015-03-08 07:38:35 Etc/GMT", "original_purchase_date_ms":"1425800315000", "original_purchase_date_pst":"2015-03-07 23:38:35 America/Los_Angeles", "is_trial_period":"false"}]}}Process finished with exit code 0

"In_app" is the key. I don't know why there is no internal purchase Bill. This is really strange.

Generally, they believe in ghosts and gods when they do not understand them. we often blame others for hacking when we don't know how the server has bugs. if someone is black. hope you can see this article.

If you know that the block is written incorrectly on our client. the base64 receipt for the result of this omnipotent state = 0 is displayed. also hope to give you some advice. testing in the sandbox environment. there was no such receipt without in_app.

I have seen the great gods in this article. I have a clear explanation .~




Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.