Google Wallet Subscriptions Error 500

2019-08-12 05:43发布

i have implemented the Subscriptions flow using the java library jsontoken, but am getting an error 500. happen in the sandox and production. any idea why it is?

this is the error :

POST https://checkout.google.com/inapp/api/v1/purchase_options 500 (Internal Server Error)

this is the code:

Calendar cal = Calendar.getInstance();
HmacSHA256Signer signer = new HmacSHA256Signer(ISSUER, null, SIGNING_KEY.getBytes());

JsonToken token = new JsonToken(signer);
token.setAudience("Google");
token.setParam("typ", "google/payments/inapp/subscription/v1");
token.setIssuedAt(new Instant(cal.getTimeInMillis()));
token.setExpiration(new Instant(cal.getTimeInMillis() + 60000L));

long prorated =cal.getTimeInMillis() + 2592000000L;

JsonObject request = new JsonObject();
      request.addProperty("name", "Piece of Cake");
      request.addProperty("description", "Virtual chocolate cake to fill your virtual tummy");
      request.addProperty("sellerData", "user_id:1224245,offer_code:3098576987,affiliate:aksdfbovu9j");
      request.addProperty("initialPayment", "{\"price\" : \"1.49\",\"currencyCode\" : \"USD\",\"paymentType\" : \"prorated\",}");
      request.addProperty("recurrence", "{\"price\" : \"4.99\",\"currencyCode\" : \"USD\",\"startTime\" : \""+prorated+"\",\"frequency\" : \"monthly\",\"numRecurrences\" : \"12\",}");

 JsonObject payload = token.getPayloadAsJsonObject();
      payload.add("request", request);
 token.serializeAndSign();

0条回答
登录 后发表回答