Pregunta

Estoy desarrollando un Shopify la aplicación rails.En desarrollo de modo que estoy tratando de crear un nuevo periódica de la aplicación de carga con Shopify de Facturación de la API al hacer esta solicitud POST de mi índice.html.erb:

(function($) {

  var url = 'https://test.myshopify.com/admin/recurring_application_charges.json?';

  $.ajax({
     type: 'POST',
      url: url,
      crossDomain: true,
      async: false,
      contentType: "application/json",
      dataType: 'jsonp',
      data: {"recurring_application_charge": {"name": "Super Duper Plan", "test" :     "true", "price": 10.0, "return_url": "http://super-duper.shopifyapps.com", "trial_days": 5}},
      jsonp: 'whatever',
      success: function(json) {
        alert("success " + json);
      },
      error: function(e) {
         console.log(e.message);
      }
  });
})(jQuery);

Me sale el siguiente error en el navegador de la consola:

   Uncaught SyntaxError: Unexpected token : https://test.myshopify.com/admin/recurring_application_charges.json?whatever=jQuery1102022113484237343073_1393499741382&{%22recurring_application_charge%22:%20{%22name%22:%20%22Super%20Duper%20Plan%22,%20%22test%22%20:%20%22true%22,%20%22price%22:%2010.0,%20%22return_url%22:%20%22http://super-duper.shopifyapps.com%22,%20%22trial_days%22:%205%20}&_=1393499741383

y cuando hago clic en el vínculo de error que me lleva a una página que muestra

  {"recurring_application_charges":[]}

¿Qué estoy haciendo mal?

¿Fue útil?

Solución

Para obtener acceso a la Shopify API debe especificar:

  • un X-Shopify-Access-Token dentro de la cabecera de su solicitud
  • o especificar apikey:password dentro de la URL de su intento de acceso.Por ejemplo https://apikey:password@hostname/admin/resource.json

Sin embargo, tanto el X-Shopify-Access-Token y apikey password combinación debe ser mantenido en secreto.Así que usted no debe incluir los secretos de un código legible (js o html).Estas acciones normalmente debe ser iniciada dentro de un controlador.

Por ejemplo, usted podría crear una ChargeController que llama a la ShopifyAPI::RecurringCharge método:

class ChargeController < ApplicationController
  around_filter :shopify_session

  # create new RecurringApplicationCharge
  def create
    ShopifyAPI::Base.activate_session(...)
    ShopifyAPI::RecurringApplicationCharge.create(
      name: "Super Duper Plan",
      price: 10.0,
      test: !Rails.env.production?,
      return_url: charge_activate_url,
      trial_days: 5
    )
  end

  # activate RecurringApplicationCharge
  def update
    ShopifyAPI::Base.activate_session(...)
    ShopifyAPI::RecurringApplicationCharge.find(params[:charge_id])
  end
end

Otros consejos

¿Ha intentado eliminar los datos 'después de y agregar la faltación}?

que te da:

(function($) {
  var url = 'https://test.myshopify.com/admin/recurring_application_charges.json?';

  $.ajax({
     type: 'POST',
      url: url,
      crossDomain: true,
      async: false,
      contentType: "application/json",
      dataType: 'jsonp',
      data: {"recurring_application_charge": {"name": "Super Duper Plan", "test" :     "true", "price": 10.0, "return_url": "http://super-duper.shopifyapps.com", "trial_days": 5     }
      },
      jsonp: 'whatever',
      success: function(json) {
      alert("success " + json);
  },
  error: function(e) {
     console.log(e.message);
  }
 });
})(jQuery);

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top