2012-04-24 25 views
14

Trước hết, tôi không nói về việc gọi số https://buy.itunes.apple.com/verifyReceipt/, thay vào đó, những gì tôi hỏi là cách xác minh biên nhận iTuneStore từ một trong những người dùng của chúng tôi.Cách xác minh biên nhận iTunes Store để mua hàng trong ứng dụng

Chúng tôi có mua hàng trong ứng dụng trong ứng dụng của mình và chúng tôi xác minh biên nhận trong trò chơi trên máy chủ của mình trước khi chúng tôi cấp sản phẩm. Tuy nhiên, người dùng cụ thể này đã tuyên bố rằng anh ta bị cửa hàng iTunes tính phí nhưng không nhận được sản phẩm đã mua và gửi cho chúng tôi biên nhận của anh ấy làm bằng chứng.

Vì vậy, tôi tự hỏi nếu có anyway chúng tôi có thể xác minh một biên nhận như vậy. Tuy nhiên, có "biên nhận không" và "số đơn đặt hàng" trong biên nhận của iTunes Store, với xác minh nhận trong trò chơi, chúng tôi nhận được transaction_id và các số này khá khác nhau. Bất kỳ ý tưởng?

Xin cảm ơn trước.

+0

Bạn đã bao giờ tìm thấy giải pháp cho vấn đề này chưa? Tôi khá tò mò nếu điều này thậm chí có thể. – FallingReign

Trả lời

0

Bạn nên liên hệ với bộ phận hỗ trợ nhà phát triển của Apple. Tôi nghi ngờ có một cách để xác minh nó một mình nếu bạn không thể tìm thấy một giao dịch tương ứng trong hệ thống của riêng bạn.

0

Không có cách thủ công để làm điều này, trừ khi bạn bằng cách nào đó có thể nhận dữ liệu biên nhận từ thiết bị của mình, trong trường hợp đó bạn có thể sử dụng API của Apple mà bạn đã đề cập để xác minh xác nhận quyền sở hữu của mình. Nếu những gì anh ta nói là đúng thì đề nghị anh ta yêu cầu hoàn lại tiền và sau đó mua lại. Anh ta có thể làm điều này here.

+0

Trong trường hợp của tôi, tôi đang thử nghiệm trên thiết bị của riêng mình, vì vậy tôi có quyền truy cập vào API, biên lai thực tế của tôi được Apple gửi qua email và nội dung Mua hàng trong ứng dụng, chẳng hạn như mã nhận dạng giao dịch, mã hóa đầy đủ nhận và như vậy. Vấn đề là dường như không có gì trên biên lai của khách hàng (một trong những điều mà Apple gửi email cho người mua) liên kết lại từ 1 đến 1 với giao dịch Mua trong ứng dụng. – nspire

+0

Vâng, đó có thể là chính xác. Những gì tôi có nghĩa là bởi "nhận" là tập tin nhị phân mà bạn sử dụng trong mã, tôi tin rằng đó là điều tương tự như những gì bạn đang đề cập đến là "nhận được mã hóa đầy đủ". Sử dụng điều này, bạn có thể sửa chữa nó, tuy nhiên yêu cầu khách hàng của bạn để làm một khoản hoàn lại và mua lại có lẽ là cách tốt nhất để đi về nó. – Rick

-1

Có mã nguồn tại https://github.com/roddi/ValidateStoreReceipt/blob/master/validatereceipt.m sẽ xác thực biên nhận và cho phép bạn phân tích biên lai và loại bỏ tất cả các giao dịch. Nếu giao dịch IAP ở đó, bạn sẽ thấy nó.

Bạn sẽ phải viết một ứng dụng iOS có mục đích đặc biệt sử dụng mã đó và cấp cho nó biên lai. Nó có vẻ như rất nhiều công việc.

+0

Tôi đã sử dụng nguồn này nhưng không được dùng nữa. Bây giờ chúng ta cần một giải pháp khác. Có vẻ như nguồn đó là Apple hotfix cho lỗ hổng IAP trong iOS 5.1. Bây giờ tất cả đã được sửa, và nguồn đó không cần thiết. – NoAngel

-4

Tôi không nói về gọi https://buy.itunes.apple.com/verifyReceipt/

Trên thực tế u có công cụ xác minh nhận trực tuyến, truy cập bằng liên kết ở trên. Không có cách nào tốt hơn để xác minh Biên nhận của bạn. Xác minh ngoại tuyến là có thể, nhưng nếu ngay cả khi nó thành công, không ai có thể cung cấp 100% bảo hành rằng Biên nhận của bạn hợp lệ (có thể chỉ là chữ ký giống nhau, nhưng vẫn là chữ ký giả).

Apple xử lý mọi giao dịch mua trên máy chủ của mình và nếu thành công, nhận được lưu vào cơ sở dữ liệu. Nếu bạn muốn kiểm tra biên nhận, bạn phải truy cập vào cơ sở dữ liệu đó và yêu cầu Biên nhận của bạn. Vì vậy, bạn có một công cụ, nhưng không muốn sử dụng nó? Không có cách nào đáng tin cậy.

Các vấn đề liên quan