PayPal ile bir ödeme sisteminin ana Fonksiyonu çok bir şey yazmak istemiyom aşağıdaki kodu ve dökümanı inceleyin.
SUB PayPalKontrol() Dim PostString,HTTPDurumu,OdemeDurumu Dim Item_name, Item_number, Payment_status, Payment_amount Dim objHttp,Txn_id, Receiver_email, Payer_email if (Request.ServerVariables("REQUEST_METHOD") <> "POST") Then Else '// PAYAPL'den postlanan veri alınıyor ve arkasına cmd=_notify-validate ekleniyor '// Bu özellik sistemden bize VARIFIED veya INVALID mesajının dönmesini sağlıyor. PostString = Request.Form & "&cmd=_notify-validate" '// PAYPAL'dan gelen form objeleri tekrar PAYPAL'a postlanıyor. set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP") objHttp.open "POST", "https://www.paypal.com/cgi-bin/webscr", false objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" objHttp.Send PostString '// PAYPAL sitesinden dönen httpdurum kodu HTTPDurumu = objHttp.status '// PAYPAL sitesinden gönen HTTPtext VALIDATE yada INVALID döner. OdemeDurumu = objHttp.responseText set objHttp = nothing Item_name = Request.Form("item_name") Item_number = Request.Form("item_number") Payment_status = Request.Form("payment_status") Payment_amount = Request.Form("mc_gross") Payment_Fee = Request.Form("payment_fee") Payment_currency = Request.Form("mc_currency") Txn_id = Request.Form("txn_id") Receiver_email = Request.Form("receiver_email") Payer_email = Request.Form("payer_email") '// Gerçek ödemeden PAYPAL'ın kestiği ödemeyi çıkartıp bize kalan parayı buluyoruz. '// Çıkarmanın doğru olması için baya çaba sarfettim :) NetOdeme = cdbl(Replace(cStr(Payment_amount),".",",")) Komisyon = cdbl(Replace(cStr(Payment_Fee),".",",")) Miktar = NetOdeme - Komisyon '// Yukardaki elde edilen değerlere göre Koşullar işletiliyor. if ( INT(HTTPDurumu) <> 200 ) Then '// Veriler başarılı POST'landı ise 200 httpkodu döner Elseif (OdemeDurumu = "VERIFIED") Then '// PayPal ödemesinde bir sorun yoksa VERIFIED durumu döner. Elseif (OdemeDurumu = "INVALID") Then '// PayPal ödemesinde bir uyuşmazlık varsa INVALID döner. Else End if End if END SUB