이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요
검토 승인이 완료 되고 출시하기 전 단계에서 결제 테스트를 진행했습니다.
결제 과정에서 결제 데이터가 쌓이는 것까지 확인했고 포인트 지급도 확인했습니다.
다만, 결제가 진행된 이후 바로 환불하기 화면이 나타나고 있습니다.
이 문제는 출시하기 전 단계라서 나타나는 것인지 궁금합니다.
appName (선택)
nubble
안녕하세요 ![]()
iOS 환경이신가요 ?
해당 페이지는 결제 성공 후 30초내에 processProductGrant 콜백이 호출되지 않거나 해당 콜백의 결과가 true가 아닌 경우 나올 수 있습니다.
processProductGrant 가 정상 호출되었는지, true로 반환해주셨는지 확인해주실 수 있을까요 ?
관련 로그를 백엔드 담당자가 살펴봤을 때 서버쪽 이상은 없었다고 합니다.
위에 게시한 미니앱 서비스만이 아니라 다른 미니앱에서도 결제 시도했을 때 마찬가지 증상이 모두 동일하게 나타나고 있어요
인앱결제 > processProductGrant 쪽 코드를 공유주실 수 있으실까요 ?
processProductGrant: async ({ orderId }) => {
try {
await apiClient.post('/api/v1/payments/iap/toss/grant', {
order_id: orderId,
sku: product.sku,
});
return true; // 지급 성공 → SDK가 주문 완료 처리
} catch {
// false 반환 → SDK가 미결 주문으로 보존 → 다음 앱 실행 시 restorePending에서 재시도
showMsg('지급 처리 중이에요. 잠시 후 자동 반영됩니다.');
return false;
}
},
확인 부탁드립니다. 다른 정보가 추가로 필요하시면 말씀해주세요
사용 중인 SDK 버전
2.4.7
샌드박스 환경인지, 토스앱 환경인지 여부
토스 앱 환경(검토 완료/출시 전 단계)
사용 중인 토스앱 버전
5.257.0
설정한 앱스킴 정보
nubble
processProductGrant: async ({ orderId }) => {
try {
await apiClient.post('/api/v1/payments/iap/toss/grant', {
order_id: orderId,
sku: product.sku,
});
return true; // 지급 성공 → SDK가 주문 완료 처리
} catch {
// false 반환 → SDK가 미결 주문으로 보존 → 다음 앱 실행 시 restorePending에서 재시도
showMsg('지급 처리 중이에요. 잠시 후 자동 반영됩니다.');
return false;
}
},
여기서 async 를 빼고 테스트 해봐주실 수 있나요 ?
네 제거하고 테스트해봤지만 여전히 동일합니다.
processProductGrant: ({ orderId }) =>
apiClient
.post('/api/v1/payments/iap/toss/grant', {
order_id: orderId,
sku: product.sku,
})
.then(() => true)
.catch(() => {
// false 반환 → SDK가 미결 주문으로 유지 → 다음 restorePending에서 재시도
showMsg('지급 처리 중이에요. 잠시 후 자동 반영됩니다.');
return false;
}),
/api/v1/payments/iap/toss/grant 요청이 정상적으로 처리되었을까요 ?
방금 다시 테스트 해봤는데 이번에는 환불내용없이 바로 결제 충전완료되었네요~!
토스 내부에서 픽스 된 사항일까요?
@baram2223 님 안녕하세요
관련 공지사항 안내 드립니다.
아까 다시 결제 테스트를 해보니 정상적으로 포인트 지급이 되고 더이상 환불페이지로 리다이렉트 되지 않더라구요.
그리고 공지글은 14일 전 내용같은데.. 전 지난주에 문의한 내용입니다
추가로 테스트 환경은 iOS입니다.
헙 고롬 저희측 수정은 없었어서 processProductGrant 콜백이 호출되지 않거나 해당 콜백의 결과가 true가 아닌 경우 발생한 이슈로 보입니다.
그런가요..?
저희 측도 지난주에 async 제거 후 테스트해보라고 Dylan님이 글 남기셨을 때 async 제거한 코드로 다시 테스트했을 때 여전히 환불요청 페이지로 리다이렉트 된 내용을 확인하고 아직 미해결 상태로 확인했었고.
오늘 오전에 다시 테스트를 진행해보니 정상적으로 포인트 지급되고 이전과는 다르게 환불 요청 페이지로 리다이렉트 되지 않길래 앱인토스측에서 조치한 줄 알았는데 아무런 변경사항이 없었다는거죠?