From 53b954b47faf58c377a48a08d5529d4b78e21e4c Mon Sep 17 00:00:00 2001 From: whitedot Date: Wed, 9 Sep 2026 03:53:21 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=9E=85=EA=B8=88=EA=B3=BC=20=EA=B0=80?= =?UTF-8?q?=EC=83=81=EA=B3=84=EC=A2=8C=20=EC=95=84=EC=9D=B4=EC=BD=98=20?= =?UTF-8?q?=EA=B5=AC=EB=B6=84=20=EB=B0=8F=20=ED=86=A0=EC=8A=A4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=C2=B7=ED=95=80=ED=8E=98=EC=9D=B4=20=EB=A1=9C=EA=B3=A0?= =?UTF-8?q?=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 무통장입금은 지폐와 입금 화살표, 가상계좌는 펼친 통장으로 구분한다. 토스페이와 핀페이 로고 원본 및 출처를 추가하고 기본·테마 PC·모바일에 적용한다. 브라우저에서 표시·정렬과 결제수단 선택을 확인했다. --- css/default_shop.css | 5 ++++- css/mobile_shop.css | 5 ++++- docs/pg-easypay.md | 7 +++++++ img/payment-bank.svg | 2 +- img/payment-virtual-account.svg | 2 +- img/pinpay-logo.png | Bin 0 -> 6570 bytes img/tosspay-logo.svg | 30 ++++++++++++++++++++++++++++++ theme/basic/css/default_shop.css | 5 ++++- theme/basic/css/mobile_shop.css | 5 ++++- 9 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 img/pinpay-logo.png create mode 100644 img/tosspay-logo.svg diff --git a/css/default_shop.css b/css/default_shop.css index 60daa9d85..1683d457f 100644 --- a/css/default_shop.css +++ b/css/default_shop.css @@ -1299,4 +1299,7 @@ html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_f /* PG별 간편결제 공통 버튼 */ #sod_frm_paysel .samsungpay_icon{background:url('../img/samsungpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} -#sod_frm_paysel .tosspay_icon,#sod_frm_paysel .pinpay_icon{font-weight:bold} +#sod_frm_paysel .tosspay_icon{background:url('../img/tosspay-logo.svg') no-repeat 50% 50% #fff;background-size:90px auto;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .pinpay_icon{background:url('../img/pinpay-logo.png') no-repeat 50% 50% #fff;background-size:90px 60px;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .tosspay_icon{display:inline-block;width:72px;height:24px;vertical-align:middle;background:url('../img/tosspay-logo.svg') no-repeat 50% 50%;background-size:72px auto;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .pinpay_icon{display:inline-block;width:68px;height:24px;vertical-align:middle;background:url('../img/pinpay-logo.png') no-repeat 50% 50%;background-size:68px auto;overflow:hidden;text-indent:-999px} diff --git a/css/mobile_shop.css b/css/mobile_shop.css index e7b5cf039..4add8a83e 100644 --- a/css/mobile_shop.css +++ b/css/mobile_shop.css @@ -1057,4 +1057,7 @@ box-shadow:0 0 8px rgba(65,98,255,0.8)} /* PG별 간편결제 공통 버튼 */ #sod_frm_paysel .samsungpay_icon{background:url('../img/samsungpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} -#sod_frm_paysel .tosspay_icon,#sod_frm_paysel .pinpay_icon{font-weight:bold} +#sod_frm_paysel .tosspay_icon{background:url('../img/tosspay-logo.svg') no-repeat 50% 50% #fff;background-size:90px auto;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .pinpay_icon{background:url('../img/pinpay-logo.png') no-repeat 50% 50% #fff;background-size:90px 60px;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .tosspay_icon{display:inline-block;width:72px;height:24px;vertical-align:middle;background:url('../img/tosspay-logo.svg') no-repeat 50% 50%;background-size:72px auto;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .pinpay_icon{display:inline-block;width:68px;height:24px;vertical-align:middle;background:url('../img/pinpay-logo.png') no-repeat 50% 50%;background-size:68px auto;overflow:hidden;text-indent:-999px} diff --git a/docs/pg-easypay.md b/docs/pg-easypay.md index 679e0b3d8..c5a60f942 100644 --- a/docs/pg-easypay.md +++ b/docs/pg-easypay.md @@ -41,3 +41,10 @@ node tests/pg_easypay.js 실제 PG 네트워크 요청과 운영 DB 마이그레이션은 이 테스트에서 실행하지 않는다. 배포 검수 시 계약된 MID에서 각 수단의 성공·실패·사용자 취소·재시도, 주문내역·관리자·영수증 표시, 전액 취소·부분 취소를 확인한다. 머니/포인트 및 카드 복합결제는 실제 총액·현금영수증·부분 취소 가능 여부도 확인한다. 커스텀 스킨이 주문서를 자체 구현했다면 공통 버튼 함수와 결제수단 변경 이벤트를 반영해야 한다. 토스 자체창 요청은 [SDK v2 결제창 문서](https://docs.tosspayments.com/sdk/v2/js/payment)의 `method=CARD`, `card.flowMode=DIRECT`, `card.easyPay` 규격을 사용한다. provider 코드는 [토스 ENUM 문서](https://docs.tosspayments.com/codes/enum-codes)를 따른다. 일반 카드로 변경하면 `DEFAULT`로 되돌리고 SDK 요청에서 `easyPay`를 제외한다. + +## 결제 로고 출처 + +- `img/tosspay-logo.svg`: [토스페이 공식 연동 가이드](https://docs-pay.toss.im/)에서 제공하는 로고 ZIP의 `logo-toss-pay-blue.svg` 원본. +- `img/pinpay-logo.png`: [스마트로페이 간편결제 안내](https://pg.smartro.co.kr/service/pg-service/payment/easypayment/)에서 제공하는 핀페이 로고 원본. + +로고의 비율과 색상을 유지하고 저장소의 로컬 파일을 사용한다. 무통장입금·가상계좌 등 일반 결제수단 아이콘은 자체 SVG이다. diff --git a/img/payment-bank.svg b/img/payment-bank.svg index 55509ac3c..e7f597dc6 100644 --- a/img/payment-bank.svg +++ b/img/payment-bank.svg @@ -1 +1 @@ - + diff --git a/img/payment-virtual-account.svg b/img/payment-virtual-account.svg index 59b2b5622..842c55775 100644 --- a/img/payment-virtual-account.svg +++ b/img/payment-virtual-account.svg @@ -1 +1 @@ - + diff --git a/img/pinpay-logo.png b/img/pinpay-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d89d810eb5393d8ecabe610ff4b0d155adde6f7 GIT binary patch literal 6570 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 Mn)(`5YA>Sx2UqaYs{jB1 literal 0 HcmV?d00001 diff --git a/img/tosspay-logo.svg b/img/tosspay-logo.svg new file mode 100644 index 000000000..03faf5e72 --- /dev/null +++ b/img/tosspay-logo.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + diff --git a/theme/basic/css/default_shop.css b/theme/basic/css/default_shop.css index 4e01ed818..adcb5f05d 100644 --- a/theme/basic/css/default_shop.css +++ b/theme/basic/css/default_shop.css @@ -1316,4 +1316,7 @@ html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_f /* PG별 간편결제 공통 버튼 */ #sod_frm_paysel .samsungpay_icon{background:url('../../../img/samsungpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} -#sod_frm_paysel .tosspay_icon,#sod_frm_paysel .pinpay_icon{font-weight:bold} +#sod_frm_paysel .tosspay_icon{background:url('../../../img/tosspay-logo.svg') no-repeat 50% 50% #fff;background-size:90px auto;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .pinpay_icon{background:url('../../../img/pinpay-logo.png') no-repeat 50% 50% #fff;background-size:90px 60px;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .tosspay_icon{display:inline-block;width:72px;height:24px;vertical-align:middle;background:url('../../../img/tosspay-logo.svg') no-repeat 50% 50%;background-size:72px auto;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .pinpay_icon{display:inline-block;width:68px;height:24px;vertical-align:middle;background:url('../../../img/pinpay-logo.png') no-repeat 50% 50%;background-size:68px auto;overflow:hidden;text-indent:-999px} diff --git a/theme/basic/css/mobile_shop.css b/theme/basic/css/mobile_shop.css index de539f38c..549d7340d 100644 --- a/theme/basic/css/mobile_shop.css +++ b/theme/basic/css/mobile_shop.css @@ -1056,4 +1056,7 @@ box-shadow:0 0 8px rgba(65,98,255,0.8)} /* PG별 간편결제 공통 버튼 */ #sod_frm_paysel .samsungpay_icon{background:url('../../../img/samsungpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} -#sod_frm_paysel .tosspay_icon,#sod_frm_paysel .pinpay_icon{font-weight:bold} +#sod_frm_paysel .tosspay_icon{background:url('../../../img/tosspay-logo.svg') no-repeat 50% 50% #fff;background-size:90px auto;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .pinpay_icon{background:url('../../../img/pinpay-logo.png') no-repeat 50% 50% #fff;background-size:90px 60px;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .tosspay_icon{display:inline-block;width:72px;height:24px;vertical-align:middle;background:url('../../../img/tosspay-logo.svg') no-repeat 50% 50%;background-size:72px auto;overflow:hidden;text-indent:-999px} +#m_sod_frm_paysel .pinpay_icon{display:inline-block;width:68px;height:24px;vertical-align:middle;background:url('../../../img/pinpay-logo.png') no-repeat 50% 50%;background-size:68px auto;overflow:hidden;text-indent:-999px}