【发布时间】:2015-03-28 21:30:33
【问题描述】:
我已成功将 PayPal express 集成到我的网站中。现在,我想使用 PayPal Pro,这样用户就可以在网站上输入他们的卡号。我的沙盒可以接受 PayPal Pro 付款,但流程似乎有所不同。
在 PayPal Express 中,我使用 purchase() 将用户重定向到 PayPal 以进行付款。他们回来后,我使用completePurchase() 实际从他们那里拿钱。
PayPal Pro 有什么不同?查看ProGateway.php 文件,没有可用的completePurchase() 方法。看起来就在它的位置(与 ExpressGateway.php 相比,capture.php 和当我打电话时它告诉我 The transactionReference parameter is required。所以,不确定我是否应该这样打电话
这是完整的ProGateway.php 文件,任何人都可以告诉我我使用了哪些方法。
public function getDefaultParameters()
{
return array(
'username' => '',
'password' => '',
'signature' => '',
'testMode' => false,
);
}
public function getUsername()
{
return $this->getParameter('username');
}
public function setUsername($value)
{
return $this->setParameter('username', $value);
}
public function getPassword()
{
return $this->getParameter('password');
}
public function setPassword($value)
{
return $this->setParameter('password', $value);
}
public function getSignature()
{
return $this->getParameter('signature');
}
public function setSignature($value)
{
return $this->setParameter('signature', $value);
}
public function authorize(array $parameters = array())
{
return $this->createRequest('\Omnipay\PayPal\Message\ProAuthorizeRequest', $parameters);
}
public function purchase(array $parameters = array())
{
return $this->createRequest('\Omnipay\PayPal\Message\ProPurchaseRequest', $parameters);
}
public function capture(array $parameters = array())
{
return $this->createRequest('\Omnipay\PayPal\Message\CaptureRequest', $parameters);
}
public function refund(array $parameters = array())
{
return $this->createRequest('\Omnipay\PayPal\Message\RefundRequest', $parameters);
}
public function fetchTransaction(array $parameters = array())
{
return $this->createRequest('\Omnipay\PayPal\Message\FetchTransactionRequest', $parameters);
}
} `
【问题讨论】: