[英]PayPal sandbox transaction success even if payer account has 0.00 balance
[英]Omnipay / Paypal Gateway - Transaction shows as success whereas Paypal Sandbox account do not show debt/credit of the transaction
1)我正在試圖讓Omnipay / Paypal工作一段時間。 我的問題是我得到“確認=成功”,但是當進入沙盒測試帳戶時,買家和賣家都沒有將預訂的交易顯示出來。
2)我也感覺並非所有API都正確地轉移到Paypal(例如Brandname使用Angell庫正確顯示但是Omnipay沒有采用變量。
任何可以幫助解決這兩個問題的人。 - 請參閱下面的代碼。 我在這里檢查了其他文章,他們沒有解決我的問題。
<?php
//
// Input Variables
//
// Config
$domain = "http://localhost";
$directory = "http://localhost/omnipay/";
$returnURL = $directory."success.php";
$cancelURL = $directory."cancel.php";
$landingpage = "Billing";
$brandname = "TEST COMPANY";;
$customerservicenumber = "";
// Purchase Data
$invoiceNumber = "0000200202023939";
$currencyCode = "USD";
// PRODUCT DATA
$subscriptionName = "XXX";
$subscriptionDesc = "ZZZ";
$subscriptionAmt = "5.00";
require 'vendor/autoload.php';
use Omnipay\Omnipay;
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXX');
$gateway->setPassword('XXX');
$gateway->setSignature('XXX');
$gateway->setTestMode(true);
$response = $gateway->purchase(
array(
// Settings
'brandname' => '',
'customerservicenumber'=> '',
'cancelURL' => $cancelURL,
'returnURL' => $returnURL,
'reqconfirmshipping' => '0',
'noshipping' => '1',
'allownote' => '0',
// Buyer data
'email' => $email,
'description'=> $subscriptionDesc,
'amount'=> $subscriptionAmt,
'currency'=> $currencyCode,
)
)->send();
$response->redirect();
?>
success.php是相同的腳本,除了結尾
....
)->send();
$data = $response->getData();
//echo '<pre>'; print_r($data);
if($data['ACK'] == "Success"){
echo "ACK = Success!!!!!!";
}
?>
如上所述,我總是在最后得到ACK =成功,但不會從沙盒用戶帳戶中扣除金額。 出了點問題。 任何的想法?
看起來你還沒有完成購買。 你的success.php應該有類似的東西:
$response = $gateway->completePurchase($params)->send();
在您重定向到Paypal之前,將您的交易參數保存在會話變量中,然后在Paypal返回時使用它們完成購買。 查看示例代碼以獲取更多詳細信息: https : //github.com/omnipay/example/blob/master/index.php#L181
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.