Cydia Store 결제 체크
예상보다 조금 일찍 쓰게 됬음.. (원래 지금 쓸 생각 없었는데...ㅋㅋㅋ)
별건 없고......
보통 예제소스들은 fopen 으로 되어 있는데 대부분의 호스팅들은 보안상 저걸 막아버려서 쓸 수가 없음.
그래서 curl 로 만들어진 예제 소스를 첨부하니, 조금만 수정해서 쓰시면 되겠습니다아아아
이때 사용하는 http://cydia.saurik.com/api/check 라는 주소는 똑바로 쓰지 않으면 그냥 없는 페이지 처럼 보이므로 나처럼 url 바로 적어보는 삽질하지말고 아래 소스 따라가자..
보면 대충 다 알겠지???
난 이걸 include 해서 사용한다..
package - product 라던가, version 의 유무라던가, 기타 것들은 딱히 필요없을 것 같으니 생략함.
필요하면 레퍼런스 찾아보셔요. http://test.saurik.com/cydia-packagers/API4%2520v10.pdf
우선 조금 부가 설명을 하자면, mode 가 두가지 있는데 차이점을 모르겠다.. reculsive 가 조 금더 깊은 모드(그러니까 좀더 고급적인??)라고 설명하던데 난 차이를 모르겠더라...
대충 읽어봤을땐 결제에 사용하는 이메일 같은게 날라온다고 하는 것 같았는데 실제로 그렇지도 않고... local 이든 reculsive 든 같은 내용들을 뿌려주는 것 같았다.(구매 방식(paypal,amazon) 이라던가..)
저 소스에서는 Product 를 쓰지 않았지만, 레퍼런스를 본다면 Package 대신 Product 항목을 쓸 수도 있다.
이건 Cydia Connect 에 로그인하면 내 패키지의 product 명이 뭔지 알 수 있다.
저 소스를 vendor 로 등록되기 전에 쓴 것이라 난 Product 와 Package 의 차이점을 몰라 한참 고민했었지... ㄱ-
Vendor 와 Signature 는 Cydia Connect에 로그인해야 알 수 있다.
API Credentials 란 부분 보이지??
요런 화면을 볼 수 있다.
Vendor ID 는 일반적으로는 bigboss 에서 등록하는 아이디가 되는 것 같은데,
좀 다른 케이스를 봐서 확신은 못하겠다...ㅋㅋ
하여간 저 Secret Key 를 소스의 Signature 에 넣어주면 된다.
Secret Key 가 왜 Secret Key 인지. 즉 저걸 왜 비밀로 유지해야하는지는 모르겠지만(크게 상관없을 것 같은데..)
저 키 때문인지, 다른 이유도 있는지 하여간 기기에서 cydia 서버로 바로 확인하는건 금지하고 있다.(이 경우 Secret Key 를 일반 유저가 알 수 있으니까.) 즉, 내 서버를 한번 거쳐서 조회해야 한다.
처음 Vendor 로 등록하는 사람들은 Secret Key 등을 알 수 없으므로 서버에선 무조건 승인 메세지를 보내주고, 후에 서버에서 php소스를 수정해 주는 방식으로 해주면 됨.