Inapp 결제 확인(애플 IOS) -1
이전 글에서 작성한 'Inapp 결제 확인(안드로이드 AOS)'에서 인앱 결제를 하기 위해서 GCP를 통해서 검증을 진행했습니다. 애플은 구글에 비해서 더 간단합니다.
해당 인앱 검증을 하기 위해서는 해당 앱의 'SECRET'키를 받아야 합니다. 이 키가 있다는 하에 진행하도록 하겠습니다.
const axios = require("axios")
const https = require("https")
require("dotenv").config()
// 애플에 영수증 검증 요청
async function verifyIOSReceip(receip_data, password) {
return await axios({
httpsAgent: new https.Agent({
rejectUnauthorized: false,
}),
method: "post",
// 실제 결제검증은 buy.itunes.apple.com/verifyReceipt 으로 검증
url: "https://sandbox.itunes.apple.com/verifyReceipt",
data: {
"receipt-data": receip_data,
password,
"exclude-old-transactions": false,
},
})
.then((res) => {
console.log("POST요청결과(애플 인앱 검증) : ", res.data.status)
console.log("응답 확인 : ", res.data)
return res.data
})
.catch((err) => {
console.log("Axios 요청중 에러 : ", err)
return err
})
.finally(() => console.log("POST요청(애플 인앱 검증)완료"))
}
// 가상의 request을 생성함
const reqBody = {
password: process.env.SECRET, // 애플 비밀키
"receipt-data": process.env.SERVERVERIFICATIONDATA, // 클라이언트에서 받은 serverVerificationData
}
verifyIOSReceip(reqBody["receipt-data"], reqBody.password)
node로 위와 같이 작성을 합니다. 정상적으로 응답한다면 아래와 같이 터미널에 출력이 됩니다.
위 터미널에서 검증을 요청한 API는 Apple에서 제공하는 sendBox url입니다.
댓글
댓글 쓰기