Pregunta

Estamos tratando de integrar Google Wallet para bienes digitales con o php app y hace 2 días, 15 de noviembre, hemos logrado que funcione.Sin embargo, al comprobar de nuevo al día siguiente y aún hoy en día, aunque el código seguía siendo el mismo, no llegamos a cambio de una carta en la que, si aún no funciona, que nos da este error:

Uh oh.Hubo un problema.

No pudimos completar su compra debido a un problema técnico.

Los detalles del problema a continuación:Por desgracia, no hemos podido confirmar su compra con el comerciante del servidor.Su pedido ha sido cancelado.Póngase en contacto con el comerciante si este problema continúa.

El código que estás usando es este:

    $response = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : file_get_contents("php://input");

    $response = substr_replace($response, "", 0, 4);   //remove "

    $response = JWT::decode($response, $sellerSecretKey);

    header("HTTP/1.1 200 OK");

y como dije que funcionaba bien, hace dos días, y tengo la sensación de que está trabajando ahora también, porque en nuestro archivo de registro tenemos impreso esta respuesta

stdClass Object ( [iss] => Google [petición] => stdClass Object ( [nombre] => Producto 1.[description] => Usted está comprando un total de 1 de los productos de nuestra Tienda.Gracias.[precio] => 9.99 [currencyCode] => USD [sellerData] => nombre del cliente,dirección de correo electrónico )

[response] => stdClass Object
    (
        [orderId] => GWDG_S.c7a66f5b-4674-43f0-be16-2b72f69a7445
    )

[typ] => google/payments/inapp/item/v1/postback/buy
[aud] => 03083876603093172875
[iat] => 1384689627
[exp] => 1384689647

)

La devolución de la url está correctamente especificado y estamos usando la caja de arena para hacer las pruebas.

Se trata de un problema de Google?Están trabajando en el software o algo y esto es lo que causa el problema?O estamos haciendo algo mal aquí?.

Cualquier ayuda sería muy apreciada.Gracias.

¿Fue útil?

Solución

Destinado a comentar pero es que no caben...

Que el error apunta a algo en su Devolución de controlador.Sólo traté de sandbox y las cosas parecen estar bien.

Estoy no php dev así que esto puede ser inexacta - ¿está usted de responder a la Devolución de datos con la orderId?De nuevo, esto es solo basado en mi lectura de el código anterior (yo creo Sólo veo http 200?)

La única otra cosa que se me ocurre es que el lag para usted para responder más de 10 segundos(?) - que podría explicar por qué podría ser otra razón por la se han registrado los datos, pero Google todavía fue cancelada.

*La huelga a través de texto:te gustaría obtener datos para iniciar sesión porque Google le enviará los datos, es si o no responden adecuadamente a lo que importa

Una vez que decodificar la JWT con su Vendedor Secreto, usted puede asegurarse de que el pastel de compra es ACEPTAR y grabar. Dentro de los 10 segundos de la recepción de la devolución, el servidor debe enviar una respuesta 200 OK donde el único contenido es el valor de la "orderId" campo.Si no, Google cancela la transacción.

REF: https://developers.google.com/commerce/wallet/digital/docs/postback#responding

Hth.

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