웹&앱 개발
안드로이드 인앱결제 "이미 보유하고 있는 아이템입니다" 에러 해결 방법
choice1219
2024. 11. 20. 15:16
반응형
안녕하세요. VeriLog입니다.
react-native-iap을 사용해서 인앱결제를 구현할 때, 안드로이드에서 "이미 보유하고 있는 아이템입니다."라는 에러를 마주했습니다.
아무리 구글링 해도 해결 방법이 안나오더라구요.
그래서 이렇게 글로 남깁니다.
const purchase: any = result; // 트랜잭션 결과
if (purchase) {
try {
const ackResult = await finishTransaction({ purchase, isConsumable: true }); // 트랜잭션을 명시적으로 완료
console.log('Transaction finished:', ackResult);
} catch (err) {
console.error('Error finishing transaction:', err);
}
}
위의 코드처럼, finishTransaction이 결제 완료 후 소모하는 로직인데,
이때, isConsumable: true 구문을 넣어주셔야 "이미 보유하고 있는 아이템입니다"라는 에러가 뜨지 않습니다.
IOS에서는 isConsumable이 없어도 잘 돌아가는데, 안드로이드는 저 구문이 꼭 있어야하더라구요.
여러분들은 저처럼 삽질하지 마시길 바랍니다.
반응형