카페24 쇼핑몰에 암호화폐 결제수단을 추가하는 방법을 소개합니다.
정식으로 암호화폐를 지원하는 모듈이 존재하지 않기 때문에 "계좌이체" 시나리오를 이용합니다.
우선, 카페24 관리자 페이지로 로그인하여 신규쇼핑몰을 생성합니다.
암호화폐용 계좌번호를 추가합니다.
(예제에서는 입금자 2222 / 계좌번호 22222222:2222 / KEB하나은행을 사용하였습니다.)
만약 생성된 쇼핑몰 디자인이 "심플디자인" 이라고하면 HTML 파일 수정이 가능한 "스마트디자인"으로 변경합니다.
"주문서작성" 화면에 암호화폐 결제수단 버튼을 추가합니다.
위치는 "결제하기" 버튼 아래 입니다. (Line 1094)
<img onclick="goDunkPay('BTC')" src="https://www.dunkpay.com/bitcoin_accepted.png" height="50" width="140" style="padding:10px; cursor:pointer">
<img onclick="goDunkPay('BCH')" src="https://www.dunkpay.com/bitcoin_cash_accepted.png" height="50" width="140" style="padding:10px; cursor:pointer">
<img onclick="goDunkPay('ETH')" src="https://www.dunkpay.com/ethereum_accpeted.png" height="50" width="140" style="padding:10px; cursor:pointer">
"공통 레이아웃" 화면으로 이동하여 아래 자바스크립트 소스를 삽입합니다.
<script type="text/javascript" src="https://www.dunkpay.com/dunkpay.js"></script>
그리고, cafe24용으로 작성한 아래 자바스크립트 소스도 삽입합니다.
function goDunkPay(type){
var walletAddress = ""
var totalPrice = EC_ORDER_FORM_ASSIGN_DATA.r_total_price
var email = document.getElementById("oemail1").value
var address = document.getElementById("oemail2").value
var sEmail = null;
document.getElementById("pname").value= type
document.getElementById("bankaccount").value='bank_81:22222222:2222:KEB하나은행:www.hanabank.com'
if(type == "BTC")
{
walletAddress = '33genZUggQwiFQzsv11Hb4Cqenc83QkGMh'
}
if(type == "BCH")
{
walletAddress = '1FYzvYvR1c4qSNDZPSUw22kqaaheLEVpei'
}
if(type == "ETH")
{
walletAddress = '0x41C87EDB6AB6C719456EACC992F4C2FE278FF8D4'
}
// 이메일 input 정보가 존재할경우
if ($("#oemail1").length > 0 && $("#oemail2").length > 0) {
sEmail = $("#oemail1").val() + '@' + $("#oemail2").val();
}
//간단회원 가입인 경우
if ($("#simple_join_is_check").length > 0 && $("#simple_join_is_check").attr('checked') === true && $("#etc_subparam_email1").length > 0) {
sEmail = $("#etc_subparam_email1").val();
}
if ($("#oemail1").length > 0 && $("#oemail1").val() != undefined) {
if (FwValidator.Verify.isEmail(sEmail) == false && sEmail != null) {
$("#oemail1").focus();
alert('올바른 이메일 형식이 아닙니다. 다시 입력해주세요.');
return;
}
}
if ($('input:checkbox[name=chk_purchase_agreement]').length > 0) { // checkbox로 사용 중일 때
if ($('input:checkbox[name=chk_purchase_agreement]:checked').val() != 'T') {
$('#chk_purchase_agreement0').focus();
alert('결제정보 확인 및 구매진행에 동의하셔야 주문이 가능합니다.');
return;
}
}
var dunkpay = new Dunkpay('testnet')
dunkpay.type = type
dunkpay.address = walletAddress
dunkpay.itemName = totalPrice + " KRW"
dunkpay.currency = "KRW"
dunkpay.amount = totalPrice
dunkpay.invoiceMail = "[email protected]"
dunkpay.shot(function(err,result){
if(err)
{
alert('결제에 실패했습니다. 페이지를 새로 고치고 다시 시도해 주세요.' )
}
alert('결제에 성공했습니다.')
document.getElementById("btn_payment").click();
})
}
모든 설정이 완료되었습니다. 이제 결제화면에서 암호화폐 결제버튼을 눌러서 암호화폐 결제를 진행할 수 있습니다.
결제 완료 시, "계좌이체"와 동일한 화면을 볼 수 있지만 입금자에 결제한 화폐수단이 보이게 됩니다.
https://www.dunkpay.com/cafe24.html
이동하시면 "풀소스"를 보실 수 있습니다.
http://shop4.dryudryu.cafe24.com/
이동하시면 실제 적용된 쇼핑몰을 보실 수 있습니다.
감사합니다.
소스에서 walletAddress는 본인소유의 지갑주소로 설정하시면 됩니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Coins mentioned in post:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit