Backend/NodeJS
[IOS] How to in app purchase verify receipt with Node.js (javascript). error status: 21002
하우아유두잉
2020. 4. 21. 14:58
IOS 인앱 결제 구독 영수증 검증 모듈을 작업했다.
테스트용 sandbox에 http 요청을 보냈는데, 아래와 같은 에러 상태가 리턴 됐다.
status: 21002
receipt 값과 password 값엔 이상이 분명 없는데 뭔가 이상했다.
아래와 똑같이 코드를 작성하면 해결된다.
const verifySubsIOS = async (transactionReceipt) => {
const verifyURL = `https://sandbox.itunes.apple.com/verifyReceipt`;
// use 'https://buy.itunes.apple.com/verifyReceipt' for production
const options = {
uri: verifyURL,
method: `POST`,
headers: {
"User-Agent": "Request-Promise",
"Content-Type": "application/x-www-form-urlencoded",
},
json: true,
form: ``,
};
options.form = JSON.stringify({
"receipt-data": transactionReceipt,
"password": envStorage.getIosValidPw()
});
return await rp(options)
.then((response: any) => {
return response;
})
.catch((error: any) => {
return error;
});
};