我已经搜索了文档和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();
然后,用户点击此链接以完成他/她的付款。
答案 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呼叫的指令和代码。
这涉及两个步骤。