2016-08-03 32 views
0

Ich benutze this shopify api code. Ich habe es geschafft, meine App zu bekommen zu installieren, aber jetzt, wenn ich versuche, eine Gebühr für meine Anwendung einrichten, wenn ich den Anruf bekomme ich diesen Fehler:laravel-shopify-API-wrapper: Passgebühr an shopify

Exception in api.php line 512: 
ERROR #3: <url> malformed 

Dies ist mein Code:

 $charge_params = array (
     'recurring_application_charge' => array (
      'name' => 'Name Of Charge', 
      'price' => 10, 
      'return_url' => 'https://dev.shopify.com/show_products/', // also tried escaping the url so https:\/\/dev.shopify.com\/show_products\/ 
      'test' => true 
     ) 
    ); 

$charge = $sh->call(['URL' => '/admin/recurring_application_charges.json', 'METHOD' => 'GET', 'DATA' => ['charge_params' => $charge_params]], false); 

Kann jemand sehen, was ich falsch mache? Ich vermute, es könnte die Art und Weise sein, wie die $charge_params übergeben wird. Es gibt keine Dokumentation darüber, wie die Ladedaten weitergeleitet werden, die ich sehen kann.

Antwort

0

Hatte die vollständige URL übergeben und übergeben Sie die Ladung Array etwas anders. Außerdem wurde die Methode auf "POST" geändert.

Dieser Code hat den Trick:

$charge = $sh->call([ 
'URL' => 'https://mystore.myshopify.com/admin/recurring_application_charges.json', 
'METHOD' => 'POST', 
'DATA' => array (
    'recurring_application_charge' => array (
    'name' => 'Name Of Charge', 
    'price' => 10, 
    'return_url' => 'https://dev.shopify.com/show_products/', 
    'test' => true 
) 
) 
], false); 
print_r($charge); 
exit; 

Die folgenden zurückgegeben:

stdClass Object ([recurring_application_charge] => stdClass Object ([id] => 2655692 [name] => Name Of Charge [api_client_id] => 1182423 [price] => 10.00 [status] => pending [return_url] => https://dev.shopify.com/show_products/ [billing_on] => [created_at] => 2016-08-03T13:50:11-04:00 [updated_at] => 2016-08-03T13:50:11-04:00 [test] => 1 [activated_on] => [trial_ends_on] => [cancelled_on] => [trial_days] => 0 [decorated_return_url] => https://dev.shopify.com/show_products/?charge_id=2655692 [confirmation_url] => https://mystore.myshopify.com/admin/charges/2655692/confirm_recurring_application_charge?signature=BAhpA8yFKA%3D%3D--8f87b4bd0d3cb9a588dfcb1566572731c0118776)) 
0

Ich versuche nur zu erinnern, was ich auf einem altes Projekt getan habe, ist hier, wie ich es behandelt, die ich für diesen https://github.com/phpish/shopify das folgende Paket verwenden:

$connection = shopify\client($shop, Config::get('shopify.app_api_key'), $token); 

$billing = $connection('POST /admin/recurring_application_charges.json', [ 
      'recurring_application_charge' => [ 
      'name' => 'Standard', 
      'price' => '5.0', 
      'return_url' => Config::get('app.url') . '/shopify/billing', 
      'test' => Config::get('shopify.test_mode') 
     ]]); 

nicht sicher, ob dies jede Hilfe zu Sie ...

+0

Sie Ihre Datenstruktur für den Ladungs ​​Teil versucht, aber leider ohne Erfolg. Nette Idee und trotzdem danke. – user1532669