estoy tratando de crear un cargo en el comercio de coinbase
const query = { name: 'The Sovereign Individual', description: 'Mastering the Transition to the Information Age', local_price: { amount: '100.00', currency: 'USD', }, pricing_type: 'fixed_price', metadata: { customer_id: 'id_1005', customer_name: 'Satoshi Nakamoto', }, redirect_url: 'https://charge/completed/page', cancel_url: 'https://charge/canceled/page', }; const opts = { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CC-Api-Key': '6225fe4d-f9a8-498f-8085-11dea4212316', 'X-CC-Version': '2018-03-22', }, body: JSON.stringify({ query }), }; const res = fetch('https://api.commerce.coinbase.com/charges', opts).then( (res) => res.json() );
esta es mi solicitud de publicación actual, pero me muestra un error, creo que es un problema de formato, pero ¿alguien puede ayudarme con esto?
Debe proporcionar el mensaje de error que recibió antes de solicitar ayuda, de cualquier manera, después de mirar su código, encontré algunos problemas.
en esta parte
const res = fetch('https://api.commerce.coinbase.com/charges', opts).then( (res) => res.json() );
no puede asignar el resultado de fetch
a una constante porque está usando .then
para manejar la promesa y el valor devuelto se pasa a la devolución de llamada, el segundo res.json()
también devuelve una promesa, y no la está manejando .
Esto resolvería los problemas mencionados anteriormente.
const res = await fetch('https://api.commerce.coinbase.com/charges', opts); const jsonRes = await res.json(); // using async await
si no quieres usar async/await
fetch('https://api.commerce.coinbase.com/charges', opts) .then(res => res.json()) .then(jsonRes => console.log(jsonRes));