2015-06-19 5 views
1

я должен отправить эти данные бросил локон:PHP как отправить эти данные бросил локон

-d '{"payer": { 
     "default_payment_instrument":"BANK_ACCOUNT", 
     "allowed_payment_instruments":["BANK_ACCOUNT"], 
     "default_swift":"FIOBCZPP", 
     "contact":{"first_name":"First", 
        "last_name":"Last", 
        "email":"[email protected]" 
     } 
    }, 
}' 

Как я должен сохранить эти данные в fields переменных?

$fields = { 
    "payer": { 
     "default_payment_instrument":"BANK_ACCOUNT", 
     "allowed_payment_instruments":["BANK_ACCOUNT"], 
     "default_swift":"FIOBCZPP", 
     "contact":{"first_name":"First", 
        "last_name":"Last", 
        "email":"[email protected]" 
     } 
    }, 
}; 
$field_string = http_build_query($fields); 
curl_setopt($process, CURLOPT_POSTFIELDS, $field_string); 
+0

вы пробовали json_decode? –

+0

, где это делается, какая форма будет нужна конечной точке? –

ответ

2

Это GoPay правильно?

ли что-то вроде этого:

$fields = [ 
    "payer" => [ 
     "default_payment_instrument" => "BANK_ACCOUNT", 
     "allowed_payment_instruments" => ["BANK_ACCOUNT"], 
     "default_swift" => "FIOBCZPP", 
     "contact" => [ 
      "first_name" => "First", 
      "last_name" => "Last", 
      "email" => "[email protected]" 
     ] 
    ] 
]; 

$json = json_encode($fields); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $json); 
+0

Да, спасибо, что он работает сейчас – dontHaveName

1

Хорошо, отправляя материал cURL. Здесь вы идете ...

<?php 

$target_url = "http://domain.dev/post-acceptor.php"; 

$data_to_post = array(
    "payer" => array(
     "default_payment_instrument" => "BANK_ACCOUNT", 
     "allowed_payment_instruments" => "BANK_ACCOUNT", 
     "default_swift" => "FIOBCZPP", 
     "contact" => array(
      "first_name" => "First", 
      "last_name" => "Last", 
      "email" => "[email protected]" 
     ) 
    ) 
); 

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_URL, $target_url); 
curl_setopt($curl, CURLOPT_POST, count($data_to_post)); 
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data_to_post)); 

$result = curl_exec($curl); 

curl_close($curl); 

Примечания:

  • вы можете попытаться превратить ваш JSON в массив PHP с помощью json_decode()
+0

CURLOPT_POSTFIELDS должен быть строкой, а не массивом, так что нужна функция – dontHaveName

+0

А, хорошо .. я изменил код и включил его. –

+1

спасибо также, что решение @ gopalmer работает, оно использует json_decode, как вы предложили – dontHaveName

Смежные вопросы