我正在使用贝宝/签出-php-sdk,但我不知道创建订单后该做什么。
我可以成功创建订单:
/**
* @Route("/create-order", name="create_order")
*/
public function createOrder(Paypal $paypal)
{
// Construct a request object and set desired parameters
// Here, OrdersCreateRequest() creates a POST request to /v2/checkout/orders
$request = new OrdersCreateRequest();
$request->prefer('return=representation');
$request->body = [
"intent" => "CAPTURE",
"purchase_units" => [[
"reference_id" => "test_ref_id1",
"amount" => [
"value" => "100.00",
"currency_code" => "USD"
]
]],
"application_context" => [
"cancel_url" => "https://google.com/",
"return_url" => "http://127.0.0.1:8000/execute-order"
]
];
try {
// Call API with your client and get a response for your call
$response = $paypal->client->execute($request);
$approuveLink = array_values( array_filter(
$response->result->links,
function ($e) {
return $e->rel == "approve";
}
))[0]->href;
return $this->redirect($approuveLink);
}catch (HttpException $ex) {
echo $ex->statusCode;
return new Response($ex->getMessage());
}
}
正如你看到的,我把return_url到“/执行命令”,
因此,PayPal在验证后将我重定向到此url:
/execute-order?token=0NH30171UR363613S&PayerID=SNVZ4E6KDYA54
但我不知道下一步该怎么办。我必须执行付款,但在包的示例中,我只找到createOrder和captureOrder,但没有executeOrder
/**
* @Route("/execute-order", name="order_execute")
*/
public function executeOrder(Request $request)
{
echo $request->query->get('PayerID')." / ". $request->query->get('token');
// WHAT TO PUT HERE ?
}
对于v2/checkout/orders
integrations,“捕获”是最终操作。
它类似于不推荐使用的v1/payments
中的“execute”操作,这似乎就是您希望使用这种措辞的原因。
v2中没有“执行”。
为了获得最佳结果,不要重定向到PayPal审批页面并返回返回url。不要使用任何重定向。相反,请使用此审批流:https://developer.paypal.com/demo/checkout/#/pattern/server--这是一种现代的“上下文”体验,它使您的站点在后台加载。这是一种改进的买家体验,可以提供更好的结果、增加转化率等
如何使用 PHP 自动PayPal付款? 我有我的PayPal企业帐户的电子邮件,收件人的PayPal电子邮件和要转移的金额。有没有办法在没有我互动的情况下进行汇款?(付款来自我的帐户) 当然我会手动运行PHP脚本
堆栈跟踪:#0/var/ww/html/paypal/vendor/paypal/paypalhttp/lib/paypalhttp/httpclient.php(100):paypalhttp\httpclient->parseresponse()#1/var/ww/html/paypal/vendor/paypal/paypal-payouts-sdk/lib/paypalpayoutssdk
我尝试将基于PayPal classic API的旧快速结账流程迁移到新的RestAPI,但在新流程中出现了一个问题: 如何在创建付款后和使用PayPal restAPI执行付款前更改发货金额? 创建付款后的请求: 执行付款前的请求: PayPal在执行付款后回复:
我正在尝试将Papal与我的SpringWeb服务集成。我指的是高级服务器集成,并使用此SDK创建支付示例。 这是我的客户端代码 这是我的网络服务 当我点击Paypal结账按钮时。它弹出Paypal登录屏幕,授权工作正常。之后,我尝试使用我的API执行付款。但是当我呼叫
我已经成功地利用PayPal PHP SKD请求付款,将用户发送到PayPal支付网关沙箱,并提供凭据和沙箱买家帐户等。一切正常,我收到一个返回URL的请求,其中包含$_GetVariables success=true、paymentID、token和PayerID。我的问题是在下一步中,它捕获paymentID和PayRid,为PaymentExecution创建对象,它似乎工作正常,但在执行