gpt4 book ai didi

paypal - 我的 paypal 流程接收 webhook 通知有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:56 25 4
gpt4 key购买 nike

所以这就是我到目前为止所做的,但没有用,我将不胜感激任何帮助:

我的目标是回发发生在我的 paypal 沙盒帐户中的任何 webhook 事件。

所以我有 2 个帐户,一个属于收款人的,称之为“促进者”,一个属于“买家”的,

现在在我的帐户中,有一个 Sandbox webhooks 配置,所以我输入了以下内容: https://csdieuqkzo.localtunnel.me

不用说,这来自 localtunnel.me .

所以在我的项目中,我使用 API 进行了简单的销售...这是完整的创建销售过程:

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

//dd($payer);
$item = new Item();

$item->setQuantity('1');
$item->setName('benny');
$item->setPrice('7.41');
$item->setCurrency('USD');
$item->setSku('blah');
// //var_dump($item);

$items = new ItemList();
$items->addItem($item);
//var_dump($items);

$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.');
$transaction->setItemList($items);

// echo '<pre>';
// print_r($transaction);


$RedirectUrls = new RedirectUrls();
$RedirectUrls ->setReturnUrl('https://csdieuqkzo.localtunnel.me/#/pricing');
$RedirectUrls ->setCancelUrl('https://csdieuqkzo.localtunnel.me/#/');

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

// echo '<pre>';
// print_r($payment);
// dd();
$response = $payment->create($this->apiContext)->toarray();

Session::put('pay_id',$response['id']);

return Response::json($response);

在此之后有一个重定向到 paypal,批准,当它回到我的网站时,它执行以下内容:

  $payerId =  Input::get('payerId');

$payment = Payment::get(Session::get('pay_id'), $this->apiContext);

//return $payerId;

$paymentExecution = new PaymentExecution();
$paymentExecution->setPayer_id($payerId);

$approval = $payment->execute($paymentExecution, $this->apiContext)->toarray();

return Response::json($approval);

然后一个对象进来说这个交易的状态被批准, super ,但是我没有看到我之前定义的 webhook url 的任何帖子......现在我如何测试它?

我为我的 root 的 post 方法写了一个简单的脚本(在 laravel 中):

Route::post('/',function(){
$myfile = fopen("bennyfile.txt", "a") or die("Unable to open file!");
$txt = "\nouterequested";
fwrite($myfile, $txt);
fclose($myfile);
});

意味着每当一个帖子请求到达以下网址(在我的例子中,一个帖子到根目录:https://csdieuqkzo.localtunnel.me

我只想添加一行,仅此而已...但它不会更新任何内容!...例如,如果我从 postman 那里向同一个地方发出邮寄请求,一切都很好,但是当销售被批准或任何其他行动时,什么也没有发生。

为什么?

最佳答案

这是一份帮助您了解 webhooks 工作原理的 paypal 文档。

https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/

webhooks 是 http 回调机制,理想情况下,您需要一个有效的 url 作为您的 webhooks 端点来测试 PayPal 发布的 webhooks 通知消息。如果您使用 paypal 钱包进行销售,您应该会在端点收到 JSON 格式的 PayPal webhooks 通知消息。 webhooks 还不支持直接信用卡案例。

如果您想在本地测试您的监听器脚本,您可以使用 postman 工具将示例消息发布到您的本地 url 并进行测试。

关于paypal - 我的 paypal 流程接收 webhook 通知有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26615542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com