2012-08-24 4 views
5

Tôi có một khách hàng đã đăng ký tài khoản sagepay. Trang web hiện tại của anh ấy chạy hết wordpress 3.0 và hiện tại không có bất kỳ chức năng thương mại điện tử nào.Tạo nút trả tiền cơ bản ngay bây giờ cho cổng sagepay

Bạn cần một nút cho phép người dùng gửi khoản tiền gửi 300 bảng thông qua sagepay (số tiền này không bao giờ thay đổi). (Thông thường, tôi sẽ đề nghị sử dụng paypal cho một cái gì đó như thế này, nhưng rõ ràng do tính chất du lịch của doanh nghiệp của mình, paypal sẽ không cho phép khách hàng của tôi có tài khoản chuyên nghiệp)

Ive xem phương pháp được mô tả trong một chuỗi tương tự trên ở đây trở lại trong tháng ba (How Do I Make a SagePay BuyNow Button?), nhưng im không thực sự chắc chắn làm thế nào để thực hiện điều này trong một trang trên wordpress, không vô cùng am hiểu về php bar cơ bản mẫu chỉnh sửa, vì vậy tôi đã hoàn toàn bị mất ở phần $ PAYMENT_CRYPT.

Nếu có ai có thể cung cấp các bước tôi cần thực hiện để thực hiện một nút cơ bản gửi cùng một số tiền mỗi lần, sau đó thu thập tất cả chi tiết thẻ/detials của khách hàng sau khi gửi chúng đến cổng sagepay, nó sẽ được đánh giá cao !

Trả lời

2

Tóm lại, không. Đây không phải là cách dễ dàng để tiếp cận điều này. Trừ khi bạn liên kết tới biểu mẫu Thanh toán với SagePay và sử dụng tính năng IFRAME mới. Bạn có thể có một số thông tin nhất định trong WordPress cho phép mã PHP trên các trang mẫu của bạn hoặc các tệp mẫu của bạn.

1 - IFRAME dạng trong máy chủ PHP của bạn và mã số các hình thức trên con đường đó riêng của mình CSS sẽ trở nên giống như CSS trên trang WordPress

2 - Tạo một module thanh toán cho nó

3 - Sử dụng mô-đun máy chủ Thương mại điện tử thanh toán hiện tại cho WordPress - có rất nhiều plugin đã được

4 - Tạo liên kết siêu nút thanh toán, sau khi được nhấp, nó sẽ chuyển sang biểu mẫu PHP trên máy chủ của bạn với số tiền £ 300.

5 - Sử dụng Nochex hoặc nhà cung cấp khác thanh toán, Google Wallet vv (điều này không phải là một lựa chọn dễ dàng cho khách hàng)

Với MẪU, bạn có thể có:

<? 

# Define your vars 

$serverLive="https://live.sagepay.com/gateway/service/vspform-register.vsp" 
//$serverLive="https://test.sagepay.com/gateway/service/vspform-register.vsp" 
$YOUR_VENDOR_LOGIN_NAME=""; 
$VendorTxCode="406227821909"; 
$Amount="350.00"; 
$Currency="GBP"; 
$Description="1 ACME Widget"; 
$SuccessURL="http://example.com/success.php"; 
$FailureURL="http://example.com/fail.php"; 
$BillingSurname="Smith"; 
$BillingFirstnames="John"; 
$BillingAddress1="123 Main Street"; 
$BillingCity="Anywhere"; 
$BillingPostCode="29555"; 
$BillingCountry="USA"; 
$DeliverySurname="Smith"; 
$DeliveryFirstnames="John"; 
$DeliverAddress1="123 Main Street"; 
$DeliveryCity="Anywhere"; 
$DeliveryPostCode="29555"; 
$DeliveryCountry="GBP"; 

# The address information can be done via jQuery on your page or get some defaults 

?> 
<form action="<?=$serverLive?>" method="POST" id="SagePayForm" name="SagePayForm"> 
    <input type="hidden" name="VPSProtocol" value="2.23" /> 
    <input type="hidden" name="TxType" value="PAYMENT" /> 
    <input type="hidden" name="Vendor" value="<?= $YOUR_VENDOR_LOGIN_NAME ?>" /> 
    <input type="hidden" name="Crypt" value="<?= $PAYMENT_CRYPT ?>">  
    <input type="image" src="images/buynow-sagepay.png" /> 
</form> 
<script type="text/javascript"> 
function submitform() 
{ 
    document.SagePayForm.submit(); 
} 
submitform(); 
</script> 

Ngay cả với mã này bạn vẫn sẽ cần phải sử dụng một số thư viện SagePay, chẳng hạn như các hàm XOR và Crypt:

// Crypt and XOR functions 
private function simpleXor($string, $password) { 
    $data=array(); 
    for ($i=0; $i < utf8_strlen($password); $i++) { 
     $data[$i]=ord(substr($password, $i, 1)); 
    } 
    $output=''; 
    for ($i=0; $i < utf8_strlen($string); $i++) { 
    $output .= chr(ord(substr($string, $i, 1))^($data[$i % utf8_strlen($password)])); 
    } 
    return $output;  
} 
+0

$ serverLive của bạn nên có; sau đó và bạn không nói cách bao gồm các hàm // Crypt và XOR – Jon