如何解决PayPal订单v2使用PHP创建API-UNSUPPORTED_MEDIA_TYPE
我正在尝试使用此PayPal API:https://developer.paypal.com/docs/api/orders/v2/#orders_create
这是我的PHP代码:
$client = new \GuzzleHttp\Client();
$response = $client->request('POST',$uri,[
'headers' => [
'Accept' => 'application/json','Accept-Language' => 'en_US','Content-Type' => 'application/x-www-form-urlencoded','Authorization' => "Bearer " . $this->token
],'form_params' => [
"intent" => "CAPTURE","purchase_units" => [
"amount" => [
"currency_code" => "USD","value" => "100.00"
]
]
]
]
);
收到错误:
客户端错误:
POST https://api.sandbox.paypal.com/v2/checkout/orders
产生了415 Unsupported Media Type
响应: {“ name”:“ UNSUPPORTED_MEDIA_TYPE”,“ message”:“请求有效载荷不是 支持”,“ debug_id”:“ 6bd372e5171ee”,“详细信息”:[(已截断...)
解决方法
'Content-Type'=>'application / x-www-form-urlencoded',
不接受此媒体类型,仅接受application / json
请参阅有关如何发送json的文档:http://docs.guzzlephp.org/en/stable/request-options.html#json
或者,使用Checkout-PHP-SDK,并在此处提供一些指南文档:https://developer.paypal.com/docs/checkout/reference/server-integration/
为获得最佳用户体验,请在服务器上创建两条路由,一条用于“设置交易”,一条用于“捕获交易”,这些路由可从以下前端代码中使用:https://developer.paypal.com/demo/checkout/#/pattern/server
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。