1

Apple의 인앱 구매 영수증을 디버깅하는 동안 문제가 발생했습니다. 구매가 이미 만료되었지만 "is_trial_period"필드가 인 것으로 보입니다.is_trial_period는 Apple의 Receipt Sandbox에서 "켜짐"으로 유지됩니다.

Testing In-App Purchase Products

그 시간뿐만 아니라 추적 기간 동안 적용됩니까 : 여기에 본 나의 이해 애플 는 구독을 디버깅을 위해 짧은 기간을 정의?

+0

샌드 박스 환경에서 is_trial_period는 작동하지 않습니다. 이 기능은 프로덕션에서만 작동하며 샌드 박스 사과는 시험 사용 기간을 절대로 발급하지 않습니다. – Jad

+0

@ Jad is_trial_period가 작동하고 아래 답변에 나와있는 별도의 영수증에 나타나는 것처럼 보입니다. – gerbil

+0

@Jad 나는 그것이 사실 이었지만 이전에는 Sandbox가 재판을 올바르게 진행하고 있다고 생각합니다. –

답변

0

Apple이 평가판 사용 기간 동안 별도의 거래를하기 때문에 발생합니다. 여기

애플에서 영수증의 예를 발췌 한 것입니다

"latest_receipt_info": [ 
    { 
     "quantity": "1", 
     "product_id": "onemonth_freetrial", 
     "transaction_id": "1000000328795138", 
     "original_transaction_id": "1000000328795138", 
     "purchase_date": "2017-08-29 23:13:52 Etc/GMT", 
     "purchase_date_ms": "1504048432000", 
     "purchase_date_pst": "2017-08-29 16:13:52 America/Los_Angeles", 
     "original_purchase_date": "2017-08-29 23:13:53 Etc/GMT", 
     "original_purchase_date_ms": "1504048433000", 
     "original_purchase_date_pst": "2017-08-29 16:13:53 America/Los_Angeles", 
     "expires_date": "2017-08-29 23:16:52 Etc/GMT", 
     "expires_date_ms": "1504048612000", 
     "expires_date_pst": "2017-08-29 16:16:52 America/Los_Angeles", 
     "web_order_line_item_id": "1000000036088032", 
     "is_trial_period": "true" 
    }, 
    { 
     "quantity": "1", 
     "product_id": "onemonth_freetrial", 
     "transaction_id": "1000000328796241", 
     "original_transaction_id": "1000000328795138", 
     "purchase_date": "2017-08-29 23:16:52 Etc/GMT", 
     "purchase_date_ms": "1504048612000", 
     "purchase_date_pst": "2017-08-29 16:16:52 America/Los_Angeles", 
     "original_purchase_date": "2017-08-29 23:13:53 Etc/GMT", 
     "original_purchase_date_ms": "1504048433000", 
     "original_purchase_date_pst": "2017-08-29 16:13:53 America/Los_Angeles", 
     "expires_date": "2017-08-29 23:21:52 Etc/GMT", 
     "expires_date_ms": "1504048912000", 
     "expires_date_pst": "2017-08-29 16:21:52 America/Los_Angeles", 
     "web_order_line_item_id": "1000000036088033", 
     "is_trial_period": "false" 
    } 
] 

latest_receipt_info 필드마다 '갱신'또는 '거래'에 대한 배열을 포함합니다. Apple이 무료 평가판을 처리하는 방식은 항상 is_trial_period을 갖는 하나의 트랜잭션을 발행하고 이후의 비 평가판 갱신은 is_trial_period이 false가됩니다. 영수증을 처리 할 때 purchase_date 또는 expiration_date으로 최신 거래가 표시되어야하며 최신 거래가 있어야하며 콘텐츠를 잠금 해제해야합니다.

샌드 박스의 길이와 관련하여 IAP 제품이 무료 평가판을 사용하는 경우 샌드 박스 환경에서 한 번의 평가판 기간과 5 번의 리뉴얼을 통해 총 6 회의 리뉴얼을 실시합니다.

+0

이 두 영수증 스타일은 샌드 박스와 프로덕션에서 동일한 방식으로 작동합니까? – gerbil

+0

별도의 영수증이 아닌 하나의 영수증에서 실제로 별개의 거래입니다. 그리고 예, 샌드 박스 및 프로덕션은 동일한 방식으로 작동합니다. 유일한 차이점은 기간입니다. –