0

第一次调用的 PayPal 教程中,它为您提供了一个我发现不可能发布的 JSON 字符串。我已经用尽了谷歌,我似乎无法弄清楚如何将这些数据发布到 PayPal。下面的代码给了我一个 415 错误代码(“不支持的媒体类型”)。我已经被这个错误困住了几个小时,并且越来越厌倦它。我会感谢任何可以帮助我的人。我试图让我的描述清楚,以防我们将来找到其他人能够轻松找到的答案。

        $post_data = array (
            'intent' => 'sale',
            'redirect_urls' => array (
                'return_url' => 'http://example.com/return',
                'cancel_url' => 'http://example.com/cancel'
            ),
            'payer' => array (
                'payment_mehod' => 'paypal'
            ),
            'transactions' => array (
                'amount' => array (
                    'total' => '7.47',
                    'currency' => 'USD'
                )
            )
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payment");
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $result_array['access_token']]);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
        $result = curl_exec($ch);

编辑:在提供的代码的倒数第二行中,我还使用了 http_build_query 并且我也尝试过将其作为多维数组简单地发送。这两个都返回错误代码 415。

4

1 回答 1

0
curl_setopt($ch, CURLOPT_HTTPHEADER, 
   array(
     'Content-Type: application/json', 
     'Authorization: Bearer ' . $result_array['access_token']
   )
);
于 2014-01-23T17:21:01.513 回答