Как передать данные JSON с помощью PHP CURL в WePay API?

Я хочу использовать API отчетов WePay для целей отчетности, чтобы отображать информацию о транзакциях и снятии средств WePay в моем пользовательском приложении. Когда я звонил в Wepayreports api, у меня возникали некоторые проблемы с передачей данных JSON с использованием PHP CURL.

Мой код, как показано ниже:

<?php
$data = array(
"type" => "merchant_transactions",
"resource" => array(
"object_type" => "account",
"object_id" => 634303761
)
);
$ch = curl_init('https://stage.wepayapi.com/v2/report/create'); // URL of the call
CURL_SETOPT($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8');
// execute the api call
$result = curl_exec($ch);
// display the json response
echo '<pre>';
print_r(json_decode($result, true));
echo '</pre>';
?>

Когда я пытаюсь вызвать это в API, вызовы получают данные, как показано ниже

{"{\"type\":\"merchant_transactions\",\"resource\":{\"object_type\":\"account\",\"object_id\":\"1776251645\"}}":""}

Но мне нужно отправить данные, как показано ниже:

{"type":"merchant_transactions","resource":{"object_type":"account","object_id":"1776251645"}}

Для вашей доброй ссылки здесь есть ссылка на документацию WePay API.API отчетов WePay

Если у вас есть другие альтернативные решения для решения этой проблемы, пожалуйста, дайте мне знать.

Может ли кто-нибудь помочь мне в этом отношении? Любая помощь приветствуется.
Заранее спасибо.

1

Решение

Цитировать из https://developer.wepay.com/general/api-call

Аргументы вызова должны быть переданы как JSON в теле запроса
с HTTP-заголовком типа содержимого, установленным в application / json. Убедись в
установите действительный заголовок User-Agent (наши SDK сделают это за вас).
User-Agent может быть чем угодно, но держать его информативным. Например:
«WePay v2 PHP SDK v0.0.9».

И ваш ответ лежит здесь:
Curl и PHP — как я могу пройти через JSON через PUT, POST, GET

<?php
$data = array(
"type" => "merchant_transactions",
"resource" => array(
"object_type" => "account",
"object_id" => 634303761
)
);
$data_json = json_encode($data);
$ch = curl_init('https://stage.wepayapi.com/v2/report/create'); // URL of the call
CURL_SETOPT($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8');
// execute the api call
$result = curl_exec($ch);
// display the json response
echo '<pre>';
print_r(json_decode($result, true));
echo '</pre>';
?>
1

Другие решения

Для загрузки финального кода отчета WePay, как показано ниже.

<?php
$data = array(
"type" => "merchant_transactions",
"resource" => array(
"object_type" => "account",
"object_id" => 634303761
),
"callback_uri"=>"https://example.com/report/ipn");
$data = json_encode($data);

$access_token = 'STAGE_5d93d1cfb8a47da7f726fd0cacfeda5ghfhgfhfgh0f74adbc089e1d36d1dc1ccc5a57aafd92b'; // access_token received from /oauth2/token call
$ch = curl_init('https://stage.wepayapi.com/v2/report/create'); // URL of the call
CURL_SETOPT($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',"Authorization: Bearer $access_token"));
curl_setopt($ch, CURLOPT_POSTFIELDS,  $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8');
// execute the api call
$result = curl_exec($ch);
// display the json response
echo '<pre>';
print_r(json_decode($result, true));
echo '</pre>';

?>

Ответ API, как показано ниже.

Array
(
[report_id] => 23684078
[user_id] => 22866774
[resource] => Array
(
[object_type] => account
[object_id] => 634303761
)

[type] => merchant_transactions
[advanced_options] => Array
(
[disable_email] => 1
)

[state] => processing
[request_time] => 1476023145
[expires_time] =>
[callback_uri] => https://example.com/report/ipn
[report_uri] =>
)

Это очень полезное решение для интеграции API отчетов WePay в ваше пользовательское приложение. Это решение работает для меня на 100%. Если у вас есть какие-либо проблемы, пожалуйста, дайте мне знать. я готов ответить.

0

По вопросам рекламы [email protected]