결제창 호출
페이조아 결제가 가능한 JS SDK version은 1.2.0입니다.
<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.2.0.js"></script>
HTML
복사
IMP.request_pay({
pg: 'daou',
pay_method: 'card',
merchant_uid: 'mid_1234567890',
escrow: false,
digital: false,
amount: 1000,
name: '노스페이스 롱패딩 M',
buyer_name: '홍길동',
buyer_email: 'hello@world.com',
buyer_tel: '01012345678',
digital : false // 디지털로 계약되었다면 true로 설정
// 모바일 환경에서 결제 완료 후 리디렉션 될 URL
m_redirect_url: 'https://allerts.com/payments/complete',
bypass: {
// 페이조아(다우데이타) 전용 파라미터
daou: {
PRODUCTCODE: 'iamport',
CASHRECEIPTFLAG: 1,
},
},
app_scheme: 'iamportappscheme',
}, function(response) {
// PC환경에서 결제 완료 후 실행 될 로직
});
JavaScript
복사
파라미터 | 의미 | 기본값 | 예시 |
pg | PG사 | 기본 PG의 PG 식별자 | daou |
pay_method | 결제 수단 | card | card(신용카드) / vbank(가상계좌) / trans(계좌이체) |
merchant_uid | 가맹점 고유 주문번호 | 아임포트가 랜덤하게 채번하는 값 | merchant_1234567890 |
escrow | 에스크로 여부 (페이조아의 경우, 가상계좌 / 계좌이체의 경우에만 에스크로 결제 가능) | false | true(에스크로 결제) / false(비 에스크로 결제) |
digital | 결제 상품 실물 컨텐츠 여부 (가맹점 <> 페이조아간 계약 상태에 따라 정해진 값이 있으므로 반드시 올바른 값을 넣어야 함. 그렇지 않은 경우 결제 진행 불가능) | false | true(컨텐츠) / false(실물) |
amount | 결제금액 | 없음 | 1000 |
name | 주문명 | 없음 | 노스페이스 롱패딩 M |
buyer_name | 구매자 이름 | 없음 | 홍길동 |
buyer_tel | 구매자 전화번호 | 없음 | 01012345678 |
buyer_email | 구매자 이메일 주소 | 없음 | hello@world.com |
m_redirect_url | 모바일 환경에서 결제 완료 후 이동 될 URL. 모바일 결제시 필수 입력 | 없음 | https://allerts.com/payments/complete |
bypass.daou.PRODUCTCODE | 가맹점이 채번하는 결제 상품의 고유 번호. 필수 값은 아니며 값에 대해 정해진 규격이 없고 보내지 않을 경우 아임포트가 기본값(iamport)을 설정해 페이조아 측으로 전달 | iamport | |
bypass.daou.CASHRECEIPTFLAG | 결제창에서 사용자에게 현금영수증 발급을 허용할지 여부 | 1 | 1(허용) default / 0(차단) |
app_scheme | 모바일 앱 URL Scheme. 모바일 앱 결제시 필수 | 없음 | iamportappscheme |
에스크로 배송정보 등록
아임포트는 에스크로 결제 건에 대해 배송 정보를 등록할 수 있는 REST API를 제공하고 있으며 스펙은 아래와 같습니다. (자세한 내용은 관련 문서 참고) 참고로 페이조아 - 에스크로 결제는 가상계좌 / 계좌이체만 가능하기 때문에 배송정보 등록도 가상계좌 / 계좌이체 결제 건만 가능합니다.
•
요청 URL: https://api.iamport.kr/escrows/logis/{imp_uid}
•
요청 메소드: POST
•
요청 본문
{
"logis": {
"invoice": "1728384716123",
"company": "CJGLS",
"receiving_at": "20220215",
"address": "성수이로20길16"
},
"receiver": {
"name": "홍길동"
},
"sender": {
"relationship": "본인"
}
}
JavaScript
복사
파라미터 | 필드 | 필수 여부 | 의미 | 예시 |
logis | 배송 정보 | |||
invoice | 필수 | 송장 번호 | 1728384716123 | |
company | 필수 | 택배사. 정해진 규격 없음 | CJGLS | |
receiving_at | 필수 | 수령 일지(YYYYMMDD) | 20220215 | |
address | 필수 | 발송 주소 | 서울특별시 성동구 성수이로 20길 16 | |
sent_at | 선택 | 발송 일시(UNIXTIMESTAMP) | 1643715670 | |
receiver | 수신자 정보 | |||
name | 필수 | 수신자 이름 | 홍길동 | |
tel | 선택 | 수신자 연락처 | 01012341234 | |
addr | 선택 | 수신자 주소 | 서울특별시 성동구 성수이로 20길 16 | |
postcode | 선택 | 수신자 우편번호 | 07979 | |
sender | 발신자 정보 | |||
relationship | 필수 | 발신자와의 관계 | 본인 | |
name | 선택 | 발신자 이름 | 홍길동 | |
tel | 선택 | 발신자 연락처 | 01012341234 | |
addr | 선택 | 발신자 주소 | 서울특별시 성동구 성수이로 20길 16 | |
postcode | 선택 | 발신자 우편번호 | 07979 |
에스크로 배송정보 수정
에스크로 배송정보 등록과 스펙은 동일하며 요청 메소드만 PUT으로 차이가 있습니다.
•
요청 URL: https://api.iamport.kr/escrows/logis/{imp_uid}
•
요청 메소드: PUT
PATCH가 아닌 PUT인 만큼, 수정을 원하는 필드 외에 나머지 필드들은 기존 값을 그대로 보내주셔야 합니다. 보내지 않을 경우 빈 값으로 업데이트 되니 주의하시기 바랍니다.
예를 들어 위 예시와 같이 등록 된 배송 정보 중, 택배사 이름을 CJGLS에서 우체국으로, 발신자와의 관계를 본인에서 가족으로 변경하고자 하는 경우 요청 본문은 아래와 같습니다.
•
요청 본문
{
"logis": {
"invoice": "1728384716123",
"company": "우체국",
"receiving_at": "20220215",
"address": "성수이로20길16"
},
"receiver": {
"name": "홍길동"
},
"sender": {
"relationship": "가족"
}
}
JavaScript
복사
즉, 반드시 수정을 원하는 필드 외에 나머지 필드들은 기존 값을 그대로 보내주셔야 합니다.
주의사항
에스크로 배송정보 등록/수정시 가맹점이 전달한 배송정보(운송장번호, 택배사이름 등)에 대해 페이조아 측에서 유효성 체크를 하지 않습니다. 정해진 규격도 없다고 하여 실제로 아무 값이나 집어 넣어 보았는데도 배송정보 등록 및 수정에 성공(200응답)되는 것을 확인하였습니다.
때문에 배송정보 등록/수정시 반드시 가맹점 측에서 올바른 배송정보를 입력해야 하며, 실제로 등록된 배송정보는 (에스크로 결제시 결제창에 입력한) 이메일로 확인하실 수 있습니다.
참고 이미지
현금영수증 등록
이용하시는 상점ID(CPID)로 결제 된 결제 건에 대해 현금영수증 등록이 가능하려면, 페이조아 영업담당자에게 별도 CPID 설정을 요청해야합니다.
•
요청 URL: https://api.iamport.kr/receipts/{imp_uid}
•
요청 메소드: POST
•
요청 본문
{
"identifier": "01012345678",
"identifier_type": "phone",
"type": "person",
"company_tel": "0216705176",
"company_name": "아임포트",
"corg_reg_no": "1178178260",
}
JavaScript
복사
파라미터 | 필수 여부 | 의미 | 예시 |
identifier | 필수 | 현금영수증 발행대상 식별정보(국세청 현금영수증 카드번호, 휴대폰번호, 주민등록번호, 사업자등록번호 중 하나 입력) | 01012341234 |
identifier_type | 현금영수증 발행대상 식별정보 유형 | person(주민등록번호), business(사업자등록번호), phone(휴대폰번호), taxcard(국세청 현금영수증 카드번호) | |
type | 선택 | 현금영수증 발행 대상 | person(개인 소득공제용 - 기본값), company(회사 지출증빙용) |
company_name | 필수 | 상점 사업자 명 | 아임포트 |
company_tel | 필수 | 상점 고객센터 번호 | 0216705176 |
corp_reg_no | 필수 | 상점 사업자 등록번호 | 1178178260 |
buyer_name | 선택 | 구매자 이름 | 홍길동 |
buyer_email | 선택 | 구매자 이메일 주소 | hello@world.com |
buyer_tel | 선택 | 구매자 연락처 | 01012345678 |