当前位置: 首页 > 知识库问答 >
问题:

将用户发送到PayPal客户结帐

笪德华
2023-03-14

我想使用贝宝来允许我的客户用信用卡或借记卡付款,我已经允许用贝宝付款,我知道在登录贝宝表单的按钮下,它的一个按钮上写着“用信用卡或借记卡付款”,但我想让用户直接从脚本到贝宝客人结账。

我使用PayPal SDK,这是我的代码:

if($Payment_Type == 0)
{

if(!isset($Payment_Type))
{
    die();
}

$product = 'Reservation';
$price = $Total;
$shipping = 0.00;

$total = $price + $shipping;

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

$item = new Item();
$item->setName($product)
    ->setCurrency('USD')
    ->setQuantity(1)
    ->setPrice($price);

$itemList = new ItemList();
$itemList->setItems([$item]);

$details = new Details();
$details->setShipping($shipping)
    ->setSubtotal($price);

$amount = new Amount();
$amount->setCurrency('USD')
    ->setTotal($total)
    ->setDetails($details);

$transaction = new Transaction();
$transaction->setAmount($amount)
            ->setItemList($itemList)
            ->setDescription('Service My Transfer In Cabo')
            ->setInvoiceNumber(uniqid());

$redirectUrls = new RedirectUrls();     
$redirectUrls->setReturnUrl(SITE_URL . '/pay.php?success=true)
    ->setCancelUrl(SITE_URL . '/pay.php?success=false);

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

try {   $payment->create($paypal); }   
catch(Exception $e){ die($e); }

$approvalUrl = $payment->getApprovalLink();
header("Location: {$approvalUrl}");
}
elseif($Payment_Type == 2)
{ 

我需要这个地方

而不是这个

共有2个答案

呼延钱明
2023-03-14

尝试:

$flowConfig = new \PayPal\Api\FlowConfig();
$flowConfig->setLandingPageType("Billing");

webprofile中设置此flowConfig,并执行以下操作:

$webprofile->create($this->apicontext);

将ExperienceProfileId添加到创建付款请求中,如下所示:

$payment->setIntent("sale")
    ->setPayer($payer)
    ->setRedirectUrls($redirectUrls)
    ->setTransactions(array($transaction));
    ->setExperienceProfileId(**********)

请参阅:https://stackoverflow.com/A/32047084/212692

裴令秋
2023-03-14

不幸的是,REST API中还不支持访客结账。如果希望强制客人结账,则需要使用经典API Express结账。

您可以使用我们的PayPal PHP类库来快速轻松地设置经典呼叫。那么您只需要在SetExprescheckout请求中设置以下参数:

  • 解决方案类型=sole
  • LandingPage=计费
  • UserSelectedFundingSource=CreditCard
 类似资料:
  • 问题内容: 您好,我一直在尝试将文件从node.js发送到客户端。 我的代码有效,但是当客户端转到指定的url()时,它将流式传输文件。 从Google Chrome浏览器访问该文件可使文件(.mp3)在播放器中播放。 我的目标是让客户的浏览器下载文件,然后问客户他想在哪里存储文件,而不是在网站上流式传输。 问题答案: 您需要设置一些标题标志。 用下载代替流媒体;

  • 问题内容: 我使用此功能将html文件发送到客户端,但是在客户端中我什么也没有得到(空白页),没有错误。我有什么问题吗?,请帮忙? 我的test.html文件 问题答案: 尝试这样的代码: 使用res.sendFile而不是手动读取文件,以便express可以为您正确设置内容类型。 您不需要这行,因为这是由express内部处理的。

  • 我想对访客结帐用户使用Paypal定期付款。也就是说,用户可以在没有任何Paypal帐户的情况下订阅我的计划。此外,他不需要创建Paypal帐户。仅使用他/她的信用卡

  • 我正在使用Datagramsocket和DatagramPacket制作一个简单的server_client应用程序。我想做的是:一个客户端将数据发送到服务器,服务器将这些数据发送到另一个客户端。问题是服务器从第一个客户端接收数据,但不将它们发送到另一个客户端,我怎么知道我将发送到的客户端的端口?端口没有改变吗? 这是客户端类: 服务器类: }

  • 我需要实现一个github授权,然后将接收到的数据(JSON)发送到客户端。 我找到了这篇教程http://shiya.io/how-to-do-3-legged-oauth-with-github-a-general-guide-by-example-with-node-js/ 在该教程中,开发人员向我们展示了如下内容:“/”->“/login”->“/redirect”->“/user”(此处

  • 问题内容: 好吧,我正在尝试使用SocketServer构建一个小型python prgram,该服务器应该将其接收的消息发送给所有连接的客户端。我被困住了,我不知道如何在服务器端存储客户端,也不知道如何发送到多个客户端。哦,我的程序每次连接1个以上的客户端时失败,并且每次客户端发送的1条以上消息都失败… 到目前为止,这是我的代码: 显然,我不知道自己在做什么,所以任何帮助都将非常有用。 提前致谢