使用贝宝付款它是工作正常,当我打HTML格式从浏览器,然后它重定向的我到贝宝页面付款,但在另一边,当我试图打它从 Postman API,然后它给 Postman 错误,因为它是重定向,所以我的问题是,我将如何访问该重定向或URL的重定向在 Postman API?
我使用了这个代码:
try {
$response = $this->gateway->purchase(array(
'amount' => $order_amount->total_price,
'currency' => env('PAYPAL_CURRENCY'),
'returnUrl' => url('success'),
'cancelUrl' => url('error'),
))->send();
if ($response->isRedirect()) {
$response->redirect(); // this will automatically forward the customer
} else {
// not successful
return $response->getMessage();
}
} catch (Exception $e) {
return $e->getMessage();
}
2条答案
按热度按时间uinbv5nw1#
您不能从Postman或任何其他自动化系统“访问”重定向URL。重定向URL必须在浏览器中打开,并且付款人帐户必须登录才能给予批准。从PayPal返回到所提供的return_url时,订单或付款的ID将位于URL中。然后应该使用它来捕获/执行它。
为了获得最佳效果,请不要使用任何重定向。API返回的重定向是针对旧网站的,不应该被新的集成使用。
相反,从付款页面使用以下审批流程,这将使您的网站在后台加载(没有重定向):https://developer.paypal.com/demo/checkout/#/pattern/server
node中的完整堆栈示例可以在以下位置找到:https://developer.paypal.com/docs/checkout/standard/integrate/ ;它的后端当然可以在PHP/laravel或任何其他能够从API返回JSON的Web环境中实现。
jv4diomz2#
Laravel提供了一个获取重定向URL的函数
使用$response->getRedirectUrl()