먼저 포트원 홈페이지에 접속 후 회원가입을 합니다.
로그인 후 결제 연결을 클릭합니다.
테스트로 변경하고 원하는 PG사를 선택한 후 추가 버튼을 클릭합니다.
제 프로젝트는 공유오피스 프로젝트라서 결제 채널명을 shareOffice로 적었습니다.
그런 다음 스토어 계정 관리로 이동하여 내 ID 코드 API 키를 클릭하십시오.
확인을 위해 REST API KEY 및 REST API 암호 키가 필요합니다.
먼저 딜러 식별 코드만 복사하십시오.
<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.1.5.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>
유료 사이트에 jQuery를 추가하고 라이브러리를 가져옵니다.
function iamport(){
IMP.init('imp00000000'); //가맹점 식별코드
IMP.request_pay({
pg : 'kicc', // pg사
pay_method : 'card',
merchant_uid : 'merchant_' + new Date().getTime(),
name : '상품1' , //결제창에서 보여질 이름
amount : 100, //실제 결제되는 가격
buyer_email : '[email protected]',
buyer_name : '구매자',
buyer_tel : '010-1234-5678',
buyer_addr : '서울 강남구 도곡동',
buyer_postcode : '123-456'
}, function(rsp) {
console.log(rsp);
// 결제검증
$.ajax({
type : "POST",
url : "/verifyIamport/" + rsp.imp_uid
}).done(function(data) {
console.log(data);
// 위의 rsp.paid_amount 와 data.response.amount를 비교한후 import 서버검증
if(rsp.paid_amount == data.response.amount){
alert("결제 및 결제검증완료");
} else {
alert("결제 실패");
}
});
});
}
먼저 복사한 가맹점 식별 코드를 IMP.init에 붙여넣습니다.
내 PG사와 다른 PG사를 만들었다면 고쳐야 한다.
위 이미지와 같이 console.log(rsp)에서 결제내역을 확인하실 수 있습니다.
인증 없이 결제하는 과정입니다.
확인 사유는 결제 금액과 결제 상태를 쉽게 위조할 수 있기 때문입니다.
요청한 금액과 지불이 정확했습니다.
가져오기 서버로 데이터를 전송하여 확인 절차를 거쳐야 합니다.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.iamport</groupId>
<artifactId>iamport-rest-client-java</artifactId>
<version>0.2.22</version>
</dependency>
스프링 프로젝트 pom.xml에 위의 코드를 추가합니다.
다음에서 저장소를 확인할 수 있습니다.
에 추가
내에 종속성 추가
@Controller
public class HomeController {
private IamportClient api;
public HomeController() {
// REST API 키와 REST API secret 입력.
this.api = new IamportClient("8641070272333348",
"bAWtOvXVOozfrUxmMcPtoaimMi7AKFn31PqHvEwTr0s6eEdz9sLPh6Ks0Ez1endwfva21AliZVeoWgmb");
}
@ResponseBody
@RequestMapping(value="/verifyIamport/{imp_uid}")
public IamportResponse<Payment> paymentByImpUid(
Model model
, Locale locale
, HttpSession session
, @PathVariable(value= "imp_uid") String imp_uid) throws IamportResponseException, IOException
{
return api.paymentByImpUid(imp_uid);
}
}
이제 위에서 확인한 REST API KEY와 REST API 비밀키를 생성자를 통해 삽입합니다.
이제 페이지로 돌아가 결제를 완료하세요.
왼쪽의 로그는 결제 완료 후의 로그이고 오른쪽의 로그는 확인된 로그입니다.
1차 결제 금액(상품 가격)과 2차 결제 금액이 동일한지 확인만 하면 됩니다.