PayPal SDK:使用PayPal帐户付款时没有服务器响应

时间:2015-04-01 19:59:54

标签: paypal paypal-sandbox paypal-rest-sdk

我已经搜索了文档和this tutorial大约100次,但无法弄清楚如何使用PayPal帐户而不是信用卡完成付款流程。我已经获得信用卡付款通过就好了。

在前面提到的教程中,声明我应该在制作OAuth凭证后期望来自服务器的JSON响应:

$sdkConfig = array(
    "mode" => "sandbox"
);

$cred = new OAuthTokenCredential("clientID","clientSecret", $sdkConfig);

尽管从服务器获得“200 OK”状态,但我完全没有服务器响应。

最初,我将我的代码设置为一堆其他教程:

$apiContext = new ApiContext(
        new OAuthTokenCredential(
                'clientID',     // ClientID
                'clientSecret'      // ClientSecret
        )
);

$payer = new Payer();
$payer->setPaymentMethod('paypal');

$item1 = new Item();
$item1->setName("Donation squares.");
$item1->setCurrency('USD');
$item1->setQuantity(1);
$item1->setPrice(1);

$itemList = new ItemList();
$itemList->setItems(array($item1));

$amountDetails = new Details();
$amountDetails->setSubtotal('7.41');
$amountDetails->setTax('0.03');
$amountDetails->setShipping('0.03');

$amount = new Amount();
$amount->setCurrency('USD');
$amount->setTotal('7.47');
$amount->setDetails($amountDetails);

$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription('This is the payment transaction description.');

$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("https://devtools-paypal.com/guide/pay_paypal/php?success=true");
$redirectUrls->setCancelUrl("https://devtools-paypal.com/guide/pay_paypal/php?cancel=true");

$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));

try{
    $payment->create($apiContext);
} catch(Exception $e){
    echo $e
    exit(1);
}

这些都不起作用 - 没有来自服务器的任何响应。

答案/评论 毕竟你不应该寻找JSON响应。如果成功创建付款,则应通过运行

生成批准URL
$payment->getApprovalLink();

然后,用户点击此链接以完成他/她的付款。

1 个答案:

答案 0 :(得分:1)

您可能有兴趣在PayPal-PHP-SDK上关注非常simple instruction,这解释了how to make calls using PayPal PHP SDK。我知道您已经完成了这项工作,并且正在寻找如何使用PayPal创建付款。

我不确定你是否意识到这一点,但是PayPal-PHP-SDK附带了很多samples,你可以运行just one simple command(如果你有PHP 5.4或更高版本) 。第一个样本中的一个具有进行PayPal呼叫的指令和代码。

这涉及两个步骤。

  1. 创建付款。收到approval_url链接,用于要求用户通过任何浏览器完成Paypal流程。

  2. 一旦用户接受paypal网站上的付款,它将被重定向回您的网站,您执行付款。

  3. 代码示例均提供herehere

    如果这有帮助,请告诉我,您还有其他问题。我非常乐意提供帮助。

    enter image description here