2016-06-09 9 views
0

나는 월간 반복 구독을 제공하는 웹 사이트의 플레이 스토어에 앱을 가지고 있으며, 백엔드에서 그 달에 프리미엄 사용을 허가하고 마지막으로 만료 시간이 만료 될 때마다 다른 지불이 발생했다는 사실을 기록합니다. 영수증 및 Google 가입을 다시 쿼리하여 사용 중인지 확인하십시오. https://developers.google.com/android-publisher/api-ref/purchases/subscriptions잘못된 만료 시간을 반환하는 서버의 Google IAP 구독 검색어, 영수증을 실제 결제에 연결하는 방법은 무엇입니까?

내 웹 사이트 및 앱에 다른 결제 방법이 있으므로이 접근 방식이 가장 효과적이었습니다. 그러나 최근에 나는 내 시스템이 Google 자체에서보고 한 것보다 많은 금액을 지불했음을 확인했습니다.

구독을 다시 쿼리 할 때 갱신 시점에 Google은 활성 상태이지만 30 일이 아닌 1 일 후에 만료되었음을 반환했습니다. 내 시스템은 지불이 발생했음을 기록한 다음 1 일 후에 다시 확인하고 (이번에는 만료 시간이 정확할 것임) Google이 다시보고했을 때 지불이 이루어 졌음을 다시 기록합니다. 예를 들어

:

  1. 2월 20일 - 응용 프로그램에 초기 구매, 응용 프로그램은 영수증 등이 30 일 만료 서버를 알려줍니다.
  2. 3 월 21 일 - 만료 시간이 초과되어 서버가 상태를 다시 확인하고 Google에서 "3 월 22 일 만료"라고 말합니다.
  3. 22 일 3 월 - 만료 시간이 너무 서버 재 점검 상태까지이며, 구글이 말한다 "4 월 21 만료"
  4. 21 4월 (이 마지막이 말했다해야 것입니다) - 만료 시간 서버를 다시 있도록 최대입니다 상태를 -checks와 구글은 다시는 구글이 한 달에 한 번 잘못된 만료 시간을보고 이유에 손실 4 월

내가 22 일에, 일일 만료 말한다. IAP 구독에는 무료 일/체험 기간이 없습니다. Google이 올바른 만료 시간을보고 한 한 정확하게 지불 내역을 기록했을 것입니다. 그러나 만료 시간이 신뢰할 수 없다면 실제로 지불이 이루어 졌는지 어떻게 알 수 있습니까?

위의 API 호출에 의해 반환 된 구독 리소스는 가장 최근의 지불 주문 ID를 반환하지 않습니다. 서버 측에 저장 한 영수증을 purchaseToken과 후속 갱신 지불에 대한 결제 정보에 연결하는 방법을 찾을 수 없습니다.

Google API를 사용하여 발생하는 실제 지불에 서버 측에 저장된 영수증/구매 톡을 연결하는 방법이 있습니까? 가장 최근의 주문 ID를 얻으려면 어떻게해야합니까?

+0

가입 제품 세트에 "유예 기간"이 있습니까? –

+0

아니, 두렵지 않아, 왜이 행동이 그렇게 예기치 않게 발생했는지. – Esaptonor

답변

1

만료 시간이 신뢰할 수 없다면 실제로 지불이 이루어 졌는지 어떻게 알 수 있습니까?

나는 정확히 같은 문제를 해결하기 위해 노력하고 있습니다. 유예 기간이없는 경우에도 유예 기간을 1 일로 설정 한 것처럼 동작합니다.

당신이 유예 기간이 없기 때문에

, 나의 제안은 이전 만료 시간 (당신이 어딘가에 저장해야하는)에 대해 새로 쿼리 만료 시간을 확인하는 것입니다.

약 1 개월 차이가 나는 경우 성공적인 결제로 간주 할 수 있습니다.그렇지 않으면 차이가 약 1 일 정도 걸릴 것이며 Google의 유예 논리 (아마도) 일 것입니다. 만료 시간 다릅니다 시간 것을

를 적어 둡니다 (예 : 먼저 만료가 3월 21일 12시 0분 0초에있는 경우, 두 번째 만기 4월 21일 13시 12분처럼 후 될 수 있습니다 : 32), 따라서 날카로운 검사 (즉, diff == 정확히 1 개월)를 사용해서는 안됩니다.

다음은 Google 판매자 기록의 한 예입니다. 날짜 열은 만료 시간과 거의 같습니다.

enter image description here


구글 API를 사용하여 발생하는 실제 지불에 영수증/purchaseToken 저장 서버 측을 연결하는 방법이 있나요? 가장 최근의 주문 ID를 얻으려면 어떻게해야합니까?

당신은 클라이언트가 페이로드의 일부로 주문 IDpurchaseToken 모두 보내 얻을 수 있습니다, 다음 서버를 연결합니다.

두 가지 모두에 대한 지식이있는 유일한 장소 인 것처럼 보입니다.