2009-11-02 166 views
2

對不起,我的英語不好。安全支付實施

我必須在我的項目中實施安全支付。我有兩個PHP文件現在

  1. checkout.php
  2. success.php

當我執行重定向到success.php,然後它顯示一個錯誤checkout.php文件。

我試圖刪除這個錯誤,但我無法刪除它。請告訴我任何解決方案,我可以刪除錯誤。

這裏是checkout.php

<? 
/* get the web server’s self URL */ 
$SERVER_NAME = 'localhost/'; 
$SCRIPT_NAME = 'saferpay/test.php'; 
$self_url = "http://" . $SERVER_NAME . $SCRIPT_NAME; 
//print_r($self_url); 
$self_url = substr($self_url, 0, strrpos($self_url, '/')) . "/"; 
//print_r($self_url); 
/* the hosting gateway URL to create pay init URL */ 
$gateway = "https://www.saferpay.com/hosting/CreatePayInit.asp"; 
/* set the payment attributes */ 
$accountid = "99867-94913159"; /* saferpay account id */ 
$orderid = "4711"; /* use your own order or basket identifier */ 
$amount = "1295"; /* 12.95 */ 
$currency = "EUR"; 
$description = urlencode("\"Test Purchase - saferpay PHP sample\""); 
$successlink = $self_url."success.php"; /* return URL if payment successful */ 
//print_r($successlink); 
$faillink = $self_url."failed.php";  /* return URL if payment failed */ 
$backlink = $self_url."checkout.php"; /* return URL if user cancelled */ 
/* put all attributes together and create hosting URL */ 
$attributes = "ACCOUNTID=$accountid&AMOUNT=$amount&CURRENCY=$currency&DESCRIPTION=$descripti 
on&SUCCESSLINK=$successlink&FAILLINK=$faillink&BACKLINK=$backlink"; 
$url = "$gateway?$attributes"; 
/* get the PayInit URL from the hosting server */ 
$payinit_url = join("", file($url)); 
//print_r($payinit_url); 
?> 
<html><head> 
<title>Saferpay Checkout Sample for PHP (Hosting)</title> 
<script src="http://www.saferpay.com/OpenSaferpayScript.js"></script> 
</head><body> 
<h1>saferpay Checkout Sample Page for PHP (Hosting)</h1> 
<h2>Order ID: <? print $orderid; ?><br></h2> 
<h2>Click <a href="<? print $payinit_url; ?>" 
onclick="OpenSaferpayTerminal('<? print $payinit_url; ?>', this, 'LINK');"> 
here</a> 
to purchase for <? printf("%s %d.%02d", $currency, $amount/100, $amount % 
100); ?>! 
</h2> 
</body> 
</html> 

和Success.php代碼

<?php 
/* parse the query string and get DATA and SIGNATURE */ 
//print_r() 
$a = ($_SERVER['QUERY_STRING']); 
$array=array(); 
parse_str($a,$array); 
$DATA = $array['DATA']; 
$SIGNATURE = $array['SIGNATURE']; 
/* 
foreach($array as &$value){ 
    print_r($value); 
} 
*/ 
urldecode($DATA); 
urldecode($SIGNATURE); 

/* the hosting gateway URL to verify pay confirm */ 
$gateway = "https://www.saferpay.com/hosting/VerifyPayConfirm.asp"; 
$accountid = "99867-94913159"; /* saferpay account id */ 
/* put it all together */ 
$url = "$gateway?DATA=".urlencode($DATA)."&SIGNATURE=".urlencode($SIGNATURE); 
/* verify pay confirm message at hosting server */ 
$result = join("", file($url)); 
/* check if result is OK... */ 
if (substr($result, 0, 3) == "OK:") 
{ 
     print("Your Order has been successfully processed."); 
     parse_str(substr($result, 3)); 
     echo '<br/>'; 
     print_r($result); 

     /* $ID = saferpay transaction identifier, store in DBMS */ 
     /* $TOKEN = token of transaction, store in DBMS */ 
     /***** Optional: Finalize payment by capture of transaction *****/ 
     /* the hosting gateway URL to complete payment */ 
     $gateway = "https://www.saferpay.com/hosting/PayComplete.asp"; 
     /* put it all together */ 
     $url = "$gateway?ACCOUNTID=$accountid&ID=".urlencode($ID). 
      "&TOKEN=".urlencode($TOKEN); 
     /* complete payment by hosting server */ 
     echo '<br/>'; 
     print_r($url); 
     echo '<br/>'; 
     $result = join("", file($url)); 
     print_r($result); 
     if (substr($result, 0, 2) == "OK") 
      print("Capture has been done successfully"); 
     else 
      print("Error: retry capture later..."); 
} 
else /* ...or if an error happened */ 
{ 
     print $result; 
} 

?> 
+0

錯誤會是...? –

+0

您是否找到解決方案?我有與集成安全支付相同的問題.. – belgiums

回答

2
$spPassword = "&spPassword=XAjc3Kna"; 

$url = "$gateway?ACCOUNTID=$accountid&ID=".urlencode($ID)."&TOKEN=".urlencode($TOKEN).$spPassword; 

XAjc3Kna是測試帳戶