2012-02-22 16 views
5

Tôi cố gắng để sử dụng biên lai thanh toán iOS để biết sự khác biệt giữa mua và redownload, dựa trên original_purchase_date và/hoặc original_transaction_id. Bất kể giao dịch là giao dịch mua mới hay tải xuống lại, biên nhận cửa hàng luôn trả về original_purchase_date mới bằng giá trị purchase_date.nhận mua iOS trong ứng dụng không trả lại một original_purchase_date cho một redownload

Đây là một biên lai thanh toán thực tôi trở (mà là một redownload của một tồn tại trong mua ứng dụng - như tôi hiện đang phải dựa vào theo dõi UDID để phân biệt chúng)

{ 
    "product_id": "com.myproduct.id", 
    "original_purchase_date_ms": "1329825956382", 
    "purchase_date_ms": "1329825956382", 
    "original_purchase_date": "2012-02-21 12:05:56 Etc/GMT", 
    "purchase_date":   "2012-02-21 12:05:56 Etc/GMT", 
    "bvrs": "1.0", 
    "original_purchase_date_pst": "2012-02-21 04:05:56 America/Los_Angeles", 
    "purchase_date_pst":   "2012-02-21 04:05:56 America/Los_Angeles", 
    "original_transaction_id": "1000000028387131", 
    "transaction_id":   "1000000028387131", 
    "item_id": "452671574", 
    "quantity": "1", 
    "bid": "com.mybundle.id" 
} 

Bất kể tôi đang sử dụng URL sandbox và thử nghiệm với một itunes thử nghiệm kết nối tài khoản, hoặc cho dù nó mua hàng trực tiếp sử dụng URL trực tiếp để xác minh nhận, những giá trị này luôn luôn giống nhau:

original_purchase_date_ms == purchase_date_ms 
original_purchase_date == purchase_date 
original_purchase_date_pst == purchase_date_pst 
original_transaction_id == transaction_id 

tôi có sai lầm trong suy nghĩ rằng những là những gì bạn nên sử dụng để nói về sự khác biệt sự xáo trộn giữa giao dịch mua mới và lượt tải xuống lại của cùng một lần mua hàng? Rõ ràng là theo dõi UDID của thiết bị/tạo GUID ứng dụng và theo dõi đó, là một cách để thực hiện nhưng không đủ chính xác (ví dụ: người dùng có nhiều thiết bị)

Có ai khác có vấn đề này khi các giá trị này luôn luôn là LUÔN giống hệt nhau?

Bất kỳ trợ giúp nào về điều này được đánh giá cao! Tôi đã kiệt sức tất cả các tuyến đường khác và hy vọng ai đó ở đây biết câu trả lời.

Trả lời

1

Tùy thuộc vào ý bạn của "tải xuống lại".

Các original_purchase_date nên khác với purchase_date chỉ khi bạn đang khôi phục mua hàng của bạn, do đó SKPaymentTransaction trả bạn SKPaymentTransactionStateRestored. Nếu là vậy, có gì đó không ổn.

Nếu không, ví dụ: nếu bạn đang mua lại một giao dịch mua hàng tiêu dùng, những ngày này sẽ luôn giống nhau và mọi thứ đều ổn.

+0

Xin chào, cảm ơn bạn đã trả lời. Vâng, tôi có nghĩa là khôi phục mua hàng ban đầu - vì vậy khi ai đó xóa ứng dụng khỏi điện thoại của họ và lượt tải xuống ứng dụng cũng bị xóa - khi họ cài đặt lại ứng dụng và khôi phục mua hàng trong ứng dụng - tôi đoán ngày mua ban đầu sẽ khác kể từ ngày mua - tuy nhiên trong mọi trường hợp, chúng giống nhau đối với tôi – user1225584

+1

Nếu bạn có đăng ký tự động gia hạn, original_purchase_date phải là ngày mua giai đoạn đầu tiên. –

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