본문으로 건너뛰기

🌐 호스팅 결제 페이지 연동

HaloPay의 호스팅 결제 페이지와 연동합니다. 고객은 HaloPay가 호스팅하는 결제 페이지로 리디렉션됩니다. 프런트엔드 작업이 최소화된 가장 간단한 연동입니다.

📦 1단계: 결제 주문 생성

결제 주문 제출 및 결제 주소 받기

**POST** https://api.pay.halochat.io/api/entrust/pre-create

수신 주소/QR 코드 및 주문 정보를 반환합니다.

Headers

이름유형설명
X-Sign*StringhmacSHA256 (body (json string)+timestamp+appKey). 서명 가이드.
X-Timestamp*String초 단위의 타임스탬프 (10자리). 요청은 2분 동안 유효합니다.
X-Appid*String판매자의 고유 자격 증명. AppManage 페이지 에서 찾을 수 있습니다.
content-type*Stringapplication/json

요청 Body

이름유형필수설명
out_trade_noString판매자 시스템의 주문 ID. 모든 주문의 고유 ID
symbolString법정 화폐 기호
amountString금액 (소수점 이하 2자리까지 반올림)
nameString아니요제품 이름
imageString아니요제품 이미지 URL
describeString아니요제품 설명
time_expireString아니요만료 시간(초), 0은 기본값을 나타냅니다.
callback_urlString아니요콜백 URL

요청 Body 예시

{
"out_trade_no": "uz54NEW9TVhLSIDHUSYB4aEFupKoE7I8",
"symbol": "USD",
"amount": "15",
"name": "PRODUCT_NAME",
"image": "https://callback.com/logo.png",
"describe": "CHECKOUT_DESCRIPTION",
"time_expire": 1773750780,
"callback_url": "https://callback.com/"
}

응답 (성공 200)

Header

이름필수유형설명
X-Appidh3j6k9m2n...YString판매자의 고유 자격 증명. AppManage 페이지 에서 찾을 수 있습니다.
X-Timestamp1677152490YString초 단위의 타임스탬프 (10자리). 요청은 2분 동안 유효합니다.
X-Signe0b78d93...YStringhmacSHA256 (body (json string)+timestamp+appKey). 서명 가이드.

Body

{
"code": 0,
"msg": "success",
"data": {
"url": "https://checkout.pay.halochat.io/202603172021145994e1572e91672b34",
"time_expire": 1773750780,
"trade_no": "202603172021145994e1572e91672b34"
}
}

매개변수

이름필수유형설명
code0trueInteger
messagesuccesstrueString
datatrueObject
data.urlhttps://checkout.pay.halochat.io/202603172021145994e1572e91672b34trueString결제에 사용되는 웹페이지 주소
data.time_expire1773754032trueInteger결제 마감 시간
data.trade_no202603172021145994e1572e91672b34trueStringHaloPay 주문 ID

응답 (실패 200)

{
"code": 10003,
"msg": "Params Error: Invalid amount",
"data": null
}
이름필수유형설명
code10003trueNumber
msgService error, please try againtrueString
datatrueObject
노트

보안 조치로, 반환된 데이터에 서명합니다 (이 규칙에 따라 { code: 0 }만 서명되어야 하지만 반환된 전체 body에 서명합니다). 또한 응답의 header에 Appid, Sign, Timestamp를 반환합니다. 서명 방법은 hmacSHA256 (body (json string)+timestamp+appKey) 입니다. 서명 검증이 실패하면 데이터가 변조되었음을 나타내므로 주의하여 데이터를 사용하십시오.

HTTP의 body는 json 문자열입니다. HTTP body의 내용을 서명에 추가하십시오. body 내용이 서명 내용과 일치하는지 확인하십시오. HaloPay가 요청을 수신하는 즉시 body 내용을 읽고 서명을 검증합니다.

2단계: 지급 알림을 받기 위해 Webhook 구성