mInfo:1 Failed to launch 'intent://kakaopay/pg?url=' because the scheme does not have a registered handler.
에러가 떠서 너무 슬펐다. 이유가 개발자 모드 자체 지원이 안된다는 말을 보고는 가슴이 찢어질 것 같았다.포트원 계정 생성
결제 연동
결제연동-채널추가
테스트
선택가맹점 식별코드 확인
내 식별코드 / API Keys
누르기프론트 코드 작성(v2는 테스트가 안되는것 같아서 v1으로 진행)
코드
<script src="https://cdn.iamport.kr/v1/iamport.js"></script>
결제 요청 코드 추가
은평쿤의 블로그 : https://velog.io/@jep1995/포트원portone을-이용한-결제payment
공홈 : https://developers.portone.io/docs/ko/auth/guide/2?v=v1
// 충전하기 버튼 클릭 핸들러
const handleCharge = async () => {
if (!window.IMP) return;
const { IMP } = window;
IMP.init("imp값");
// 선택된 아이템 찾기
const selectedItem = artCoinArr.find((item) => item.art === value);
// 선택된 아이템의 money 값을 숫자로 변환
const price = selectedItem
? parseInt(selectedItem.money.replace(/,/g, ""), 10)
: 0;
IMP.request_pay(
{
pg: "kakaopay.TC0ONETIME",
pay_method: "card", // 생략가
merchant_uid: `ORD${new Date().getUTCMilliseconds()}`, // 상점에서 생성한 고유 주문번호
name: "Artchain 아트 구매",
amount: price,
buyer_email: "4pjttest@gmail.com",
buyer_name: "구매자이름",
m_redirect_url: "http://j10a708.p.ssafy.io:3000/charge",
},
async function (rsp) {
// callback
if (rsp.success) {
// 결제 성공시
// 1. 컨트랙트 실행해야함
// 2. axios 날려서 db에 저장해야함
alert("결제 완료!");
window.location.reload();
console.log(rsp);
if (rsp.status == 200) {
// DB저장 성공시
alert("결제 완료!");
window.location.reload();
} else {
// 결제완료 후 DB저장 실패시
alert(
`error:[${rsp.status}]\n결제요청이 승인된 경우 관리자에게 문의바랍니다.`
);
// DB저장 실패시 status에 따라 추가적인 작업 가능성
}
} else if (rsp.success == false) {
// 결제 실패시
alert(rsp.error_msg);
}
}
);
mInfo:1 Failed to launch 'intent://kakaopay/pg?url=' because the scheme does not have a registered handler.
에러 해결