수년 전에 페이팔 한글화 설명서를 올린적이 있습니다.
페이팔 연동모듈 한글화 설명서
 : http://ozahir.com/280

PHP에만 적용되는지라 ASP버전을 필요로 하시는 분이 계시더군요.
(위의 글에 달린 트랙백으로 확인했습니다.)
이에 대한 대답으로 포스팅을 작성합니다.

사실 큰 차이는 없다고 보는데..
대략 아래와 같은 코드로 작성됩니다.

<%@ Language=VBScript %>

<%
 
 ' 페이팔 계정 정보
 my_paypal_email = "myemail@mydomain.com"
 
 ' 내 도메인 정보
 return_page = "http://www.mydomain.com"
 notify_page = "http://www.mydomain.com/paypal/notify.asp"
 cancel_page = "http://www.mydomain.com/paypal/cancel.asp"
 
 ' 내 상품 정보
 ' GET방식으로 받는다면 item_price = Request.QueryString("item_price") 이런 식으로
 ' POST방식으로 받는다면 item_price = Request.Form("item_price") 이런 식으로
  item_price = "50"
 item_name = "My Product"
 item_quantity = "1"
 item_cod = "12345"
 currency_type = "USD"
 
 ' 페이팔 페이지 call 부분
 url = "https://www.paypal.com/xclick/"
 url = url & "?business=" & my_paypal_email
 url = url & "&return=" & return_page
 url = url & "&notify_url=" & notify_page
 url = url & "&cancel_return=" & cancel_page
 url = url & "&quantity=" & item_quantity
 url = url & "&item_name=" & replace(item_name," ","%20")
 url = url & "&item_number=" & item_cod
 url = url & "&amount=" & item_price
 url = url & "&no_shipping=1"
 url = url & "&no_note=0"
 url = url & "&currency_code=" & currency_type
 response.redirect url 
%>


여기다 구구절절 적는것보다 첨부파일 하나로 끝내겠습니다.


열어보시면
cancel.asp
error.asp
multi_pay.asp
notify.asp
pay.asp

이런 파일들이 나오는데, 파일들 열어보시면 이해가 되시리라 봅니다.
약간의 추가설명을 드리자면 단일 상품용이라면 pay.asp를, 여러상품용은 multi_pay.asp를 이용하시면 됩니다.
customer.mdb라는 데이터베이스 파일도 포함되어 있을텐데 multi_pay.asp파일에서 참조합니다.
상품코드로 상품 상세를 가져와서 이용하기 위한 파일이라고 보시면 됩니다.

도움이 되셨길 바랍니다.
Posted by Ozahir
,



현재 www.skype.co.kr 는 http://skype.auction.co.kr/main.asp 리디렉션됩니다.
eBay라는 거대 회사는 한국의 옥션 뿐만 아니라 스카이프도 인수했지요.
결국 한국에서는 '옥션 스카이프'로 서비스 되고 있습니다.
스카이프의 장점은 뭐니뭐니 해도 저렴하다는데 있습니다.
최근에 싱가포르의 Paypal로 통화할 일이 있었는데 스카이프를 이용했습니다.
1분에 22원이라는 아주 저렴한 가격으로 국제통화를 할 수 있었습니다.
싱가포르 뿐만이 아니라 스카이프는 주요 42개국 전화비가 분당 22원입니다. 
한국 휴대폰과 비교해도 1/3~1/4의 수준으로 무척 저렴합니다.
(스카이프 요금에 대한 자세한 설명은 아래를 참고하세요.)


스카이프를 이용하면서 궁금한 점이 있었는데 녹음기능이 없느냐 하는 것이었습니다.
뭔가 기록을 남기고 싶을때 녹음기를 들이댈 수도 없고 좋은 방법을 찾고 싶었죠.
그러다 발견했습니다. 스카이프에는 여러 플러그인을 설치할 수가 있는데 바로 이 플러그인 중에 녹음 기능을 제공하는 플러그인이 있었다는 사실입니다.

바로 이 플러그인을 소개해드리고 싶네요.
스카이프 메뉴의 도구 > Extras매니저를 선택합니다.



바로 이 매니저에서 자주색의 Pamela Call Recoder를 선택하시면 됩니다.



플러그인이 다운로드 되고있는 화면입니다.


기존 스카이프 창 외에 아래와 같이 하나의 창이 추가로 뜹니다.
그리고 녹음된 내역은 My Recorded Calls에 기록이 남기 때문에 언제든 다시 들을 수 있게 되는 것입니다.
(녹음버튼 정지버튼을 보실 수 있는데 이 버튼으로 녹음은 제어할 수 있습니다.)



파멜라 레코더의 옵션을 잠깐 살펴보겠습니다.
Outbound call recording(내가 거는 전화 녹음)/ Inbound call recording(걸려오는 전화 녹음)설정 부분이 있습니다.
걸려오는 전화와 내가 거는 전화를 모두 자동으로 녹음하고 싶다면 이 둘을 모두 Automatically record...으로 선택하시면 됩니다.


그럼 이렇게 녹음된 파일은 어디로 저장되고 어떤 포맷을 갖게 될까요?
녹음 경로는 '내문서 > Pamela Call Recordings'에 위치하게 되며
파일의 포맷은 MP3입니다. 이 파일을 MP3플레이어로 듣거나 미디어플레이어같은 MP3재생기로 재생할 수 있습니다.
음질은 그럭저럭 들어줄만 합니다. (VBR, 24000Hz, mono로 세팅되어 있습니다.)


외국으로 통화할 일이 많다면, 다양한 플러그인이 지원되는 스카이프의 사용이 정말 유용할 것 같습니다.
Posted by Ozahir
,



http://www.paypalsucks.com/
주소가 말해주듯 페이팔에 대한 안티성의 사이트다.


읽어보면 공감되는 부분이 꽤 눈에 띄지만.. 
어쩔 수 없는 점이라고 생각되는 부분도 많다.
페이팔은 결재를 대행하는 사이트이고 돈과 직결되어 있기 때문에  까다로운 정책을 적용하고 있는 것이 사실이다.
페이팔에 불만이 있다면 Forum에 참여해서 불만을 토로하거나 다른 사람의 불만들을 보는 것도 공감하며 위안삼을만 할 것이다.

다만 고객에 대한 서비스가 그리 형편없다고 생각하진 않는다.
페이팔이 갖고 있는 시장내의 지위를 생각한다면 그들의 태도는 오히려 의외로 생각될 정도로 자상한 측면이 있다.
따라서 안티에 동참하고 싶지는 않다. 그저 페이팔을 탄생시킨 자들이 부러울 뿐.


Posted by Ozahir
,


외국인을 상대로한 쇼핑몰을 만들거나, 외국인을 상대로 거래를 하는 사이트를 만들때 Paypal의 연동은 필수라 할 수 있습니다. 인터넷을 많이 뒤져봤지만 한글로 된 문서를 발견하기가 어려웠기에 외국 사이트들을 검색하다가 이것이 페이팔측에서 제공하는 정보로도 구현이 가능하다는 것을 알았습니다. 생각해보면 당연히 그래야겠죠. PHP프로그램에 대해서 조금이라도 지식이 있다면, 아래 제가 해석해 놓은 설명서 보고 간단히 구현이 가능할 겁니다.

페이팔 연동모듈 한글화 설명서
-------------------------------------
다운로드는 http://www.paypal.com/pdn에서 받을 수 있습니다.
readme부분을 한글화 하였습니다. by 오자히르

설치
------
포함된 php_toolkit.zip의 압축을 풀어서 당신이 운영하는 웹사이트의 루트에 업로드합니다.
예를들어 당신의 웹사이트 루트가 /home/yoursite/www라면
/home/yoursite/www/php_toolkit에 압축을 풀은 파일들이 위치하도록 하면 됩니다.
다음으로 Includes폴더의 config.inc.php을 열어서 Paypal 계정의 설정을 한다.

설정정보
-----------
PHP ToolKit의 설정은 당신의 주문Form의 변수들을  config.inc.php파일안에 입력해주기만 하면 될정도로 간단합니다. 대부분의 설정 옵션들은 Paypal에 맞게 이미 입력되어있습니다.


파일 설명
------------
config.inc.php
주요 설정을 담고있다.

global_config.inc.php
이 프로그램에 쓰이는 전역(global) 함수를 담고있다.

payment.php
테스트를 위해서 미리 설정된 지불버튼이다.

orderform.php
테스트를 위해서 미리 설정된 주문버튼이다.

process.php
다음 절차를 위해 거래 정보를 페이팔로 보낸다.

success.php
페이팔로 보낸 거래 정보가 승인되었을때 나타나는 파일.

cancelled.php
페이팔로 보낸 거래 정보가 실패했을때 나타나는 파일.

styles.css
스타일시트 파일

ipn.php
페이팔의 API로부터 되돌아오는 정보를 받아 결과를 해석한다.

ipn_success.php
IPN거래가 성공하면 실행한다.

ipn_error.php
IPN거래가 실패하면 실행한다.


설정
-------

다음의 변수들은 config.inc.php파일에서 설정이 가능하다.

$paypal[url] (필수)
PayPal API URL

$paypal[post_method] (필수)
Post Methods: fso (PHP가 OpenSSL지원하도록 컴파일 되었을경우)
curl(libCurl을 지원하도록 컴파일 되었을경우.) 잘모르겠으면 fso그대로

$paypal[curl_location] (선택)
cURL이 웹서버에 설치되어있다면, CURL의 경로를 설정한다.(예. /usr/bin/curl)

$paypal[business] (필수)
페이팔 계정의 이메일 주소

$paypal[site_url] (선택)
이 스크립트가 실행될 URL주소를 적는다. 뒤에 /를 적는다.(예: http://www.paypalsolutions.com/)

$paypal[image_url] (선택)
당신의 로고로써 원하는 150x50픽셀의 이미지 파일의 URL

$paypal[success_url] (선택)
사용자가 지불에 성공하고 이동될 페이지 주소

$paypal[cancel_url] (선택)
사용자가 지불에 실패하고 이동될 페이지 주소

$paypal[notify_url] (선택)
 : IPN통지 스크립트의 주소

설명서의 설명이 약간 부족한 감이 있어서 좀 덧붙이겠다.
아마 이것은 ipn/ipn.php로 잡혀있을 것이다. 이 파일을 열어보았는데

if(eregi("VERIFIED",$result))
{ include_once('./ipn_success.php'); }
else
{ include_once('./ipn_error.php'); }
이런 부분이 있었다. 처리결과에서 VERIFIED가 있는지 대소문자 구분없이 살펴서 있다면
ipn_success.php를 실행시키고 실패하면 ipn_error.php를 실행시키게 된다.


$paypal[return_method] (선택)
URL을 넘길때 폼을 GET으로 넘길지 POST로 넘길지 설정한다. 기본값은 GET이다.

$paypal[currency_code] (선택)
지불될 통화를 설정한다.  (예. USD, EUR, GBP)

$paypal[lc] (선택)
손님이 당신의 버튼을 누를때 어떤 언어로 로그인을 할 지 정해준다.
그대로 두면 영어("US")로 된다.

$paypal[display_comment] (선택)
코멘트를 출력하고 싶다면 0을 적는다 아니면 1이다

$paypal[comment_header] (선택)
출력할 코멘트를 적는다.

$paypal[background_color] (선택)
돈을 지불할 때 페이지의 배경색을 정해준다. 1=검은색, 공란=흰색

$paypal[display_shipping_address] (선택)
배송 주소를 표시할 것인가를 적는다.

$paypal[item_name] (선택)
(선택)아이템 설명

$paypal[item_number] (선택)
상품의 아이템 번호

$paypal[amount] (선택)
구입 가격/량을 적는다. 배송비나 세금은 포함하지 않고 적는다.

$paypal[on0] (선택)
옵션 필드의 이름을 적는다.(보통은 필요없다)
First option field name.

$paypal[os0] (선택)
옵션 필드의 값을 적는다.(보통은 필요없다)

$paypal[on1] (선택)
두번째 옵션 필드의 이름을 적는다.(보통은 필요없다)

$paypal[os1] (선택)
두번째 옵션 필드의 값을 적는다.(보통은 필요없다)

$paypal[quantity] (선택)
구입될 량

$paypal[edit_quantity] (선택)
1로 설정하면 구입할 양을 사용자가 변경할 수 없다.

$paypal[invoice] (선택)
거래 송장 번호

$paypal[tax] (선택)
거래에 적용할 세금.

$paypal[shipping_amount] (선택)
Flat shipping amount to charge.

$paypal[shipping_amount_per_item]
Flat shipping amount to charge for each additional item.

$paypal[handling_amount] (선택)
취급비

$paypal[custom_field] (선택)
커스텀 주문 폼

$paypal[firstname] (선택)
구입자 이름

$paypal[lastname] (선택)
구입자 성

$paypal[address1] (선택)
구입자 주소

$paypal[address2] (선택)
구입자 주소2

$paypal[city] (선택)
구입자 도시

$paypal[state] (선택)
주입자 주

$paypal[zip] (선택)
구입자 ZIP코드(우편번호)

$paypal[email] (선택)
구입자 이메일

$paypal[phone_1] (선택)
구입자 지역번호

$paypal[phone_2] (선택)
구입자 전화번호의 첫3자

$paypal[phone_3] (선택)
구입자 전화번호 나머지4자


PS. 덧붙임(2009년 5월 30일)

아직도 이 포스트를 보시고 관심을 가져주셔서 감사합니다.
페이팔 연동에 대해서 알려진 정보가 많이 부족한가 봅니다.
페이팔 연동에 대해서 많은 분들께 문의글을 받았고,
소정의 비용을 받고 처리해 드린 적이 있습니다.
역시 비용을 받고 처리해 드릴 용의가 있습니다.
페이팔 연동을 원하시는 분은 연락주시기 바랍니다.


## 덧붙임2. (2010년 2월 21일 새벽)

ASP연동에 대해서는 추가의 포스팅을 합니다.
http://ozahir.com/902 에서 열람하시면 됩니다.


##덧붙임3. (2010년 10월 2일)

페이팔 + 카드결제를 가능하게 하는 방법이 있습니다.
바로 엑심베이(eximbay)라는 곳에서 제공하는 결제 모듈입니다.
추가 비용이 들긴 하지만 이방법도 좋은것 같더군요.
제가 최근 엑심베이를 연동해드린 사이트는 melsketch.com 이라는 사이트입니다.
관심있는 분은 한번 방문해 보시는 것도 좋으실거 같네요.

Posted by Ozahir
,