Php 将Sagepay整合到Zend中

Php 将Sagepay整合到Zend中,php,zend-framework,payment-gateway,opayo,Php,Zend Framework,Payment Gateway,Opayo,我目前有一个网站需要Sagepay集成,以前的网站已经成功集成了Sagepay,但是没有一个网站使用过Zend,不幸的是,没有太多关于将Zend与Sagepay结合使用的文档,但是我发现一个模块可以在这个链接上工作: 在这种情况下,最好的做法是什么?我知道Sagepay提供了多种处理付款的方法,尽管它与网站集成得越多越好 由于Sagepay API只是通过一组curl请求访问的,所以您可以使用Zends客户端和请求对象。例如: 定义要发布的数据- // Set the post data $d

我目前有一个网站需要Sagepay集成,以前的网站已经成功集成了Sagepay,但是没有一个网站使用过Zend,不幸的是,没有太多关于将Zend与Sagepay结合使用的文档,但是我发现一个模块可以在这个链接上工作:


在这种情况下,最好的做法是什么?我知道Sagepay提供了多种处理付款的方法,尽管它与网站集成得越多越好

由于Sagepay API只是通过一组curl请求访问的,所以您可以使用Zends客户端和请求对象。例如:

定义要发布的数据-

// Set the post data
$data = array(
    'VPSProtocol'       =>  '',
    'TxType'            =>  '',
    'Vendor'            =>  '',
    'VendorTxCode'      =>  '',
    'Amount'            =>  '',
    'Currency'          =>  '',
    'Description'       =>  '',
    'CardHolder'        =>  '',
    'CardNumber'        =>  '',
    'StartDate'         =>  '',
    'ExpiryDate'        =>  '',
    'IssueNumber'       =>  '',
    'CV2'               =>  '',
    'CardType'          =>  '',
    'AuthCode'          =>  '',
    'BillingSurname'    =>  '',
    'BillingFirstNames' =>  '',
    'BillingAddress1'   =>  '',
    'BillingAddress2'   =>  '',
    'BillingCity'       =>  '',
    'BillingPostCode'   =>  '',
    'BillingCountry'    =>  '',
    'BillingPhone'      =>  '',
    'DeliverySurname'   =>  '',
    'DeliveryFirstNames'=>  '',
    'DeliveryAddress1'  =>  '',
    'DeliveryAddress2'  =>  '',
    'DeliveryCity'      =>  '',
    'DeliveryPostCode'  =>  '',
    'DeliveryCountry'   =>  '',
    'DeliveryPhone'     =>  '',
    'CustomerEmail'     =>  '',
    'NotificationUrl'   =>  ''
)
然后创建新的客户机对象并将适配器设置为“CURL”-

$client = new Client();
$client->setAdapter(new Curl());
最后创建一个新的请求对象,并将客户机对象分派给请求

$request = new Request();
$request->setUri('https://test.sagepay.com/gateway/service/vspdirect-register.vsp');
$request->setMethod(Request::METHOD_POST);
$request->setContent(http_build_query($data));

$response = $client->dispatch($request);
var_dump($response);
die;
通读可能会有所帮助