Java tutorial
/* * Copyright 2011 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.paymentexpress.jwt; import java.security.InvalidKeyException; import java.security.SignatureException; import java.util.HashMap; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; /** * * * @author pying(peng ying) * */ public class TransactionStatusNotification implements JWTInterface { /** * * */ public enum stat { SUCCESS, FAILURE } public enum reas { BAD_CVC, BAD_CARD, DECLINED, OTHER } private final String aud = "Google"; private final String typ = "google/paymentexpress/v1/transactionstatus"; private String iss; private String merchantSecret; private Long iat; private Long exp; private String google_transaction_id; private String transaction_id; private String transaction_url; private String status; private String reason; private String detailed_reason; private String origin; /** * * @param transactionId * @param status */ public TransactionStatusNotification(String iss, String merchantSecret, String transactionId, stat status) { this.iss = iss; this.merchantSecret = merchantSecret; setGoogle_transaction_id(transactionId); setStatus(status.toString()); } public TransactionStatusNotification(String iss, String merchantSecret, String transactionId, stat status, reas reason, String details) { this(iss, merchantSecret, transactionId, status); setGoogle_transaction_id(transactionId); setStatus(status.toString()); setReason(reason.toString()); setDetailed_reason(details); } @Override public Long getIat() { return iat; } @Override public Long getExp() { return exp; } @Override public String getIssuer() { return iss; } @Override public String getAudience() { return aud; } @Override public String getType() { return typ; } @Override public HashMap<String, JsonElement> getContent() { HashMap<String, JsonElement> content = new HashMap<String, JsonElement>(); content.put("google_transaction_id", new JsonPrimitive(getGoogle_transaction_id())); content.put("status", new JsonPrimitive(getStatus())); if (getReason() != null) content.put("reason", new JsonPrimitive(getReason())); if (getDetailed_reason() != null) content.put("detailed_reason", new JsonPrimitive(getDetailed_reason())); return content; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public String getDetailed_reason() { return detailed_reason; } public void setDetailed_reason(String detailed_reason) { this.detailed_reason = detailed_reason; } public String generateJWT() { String jwt = null; try { jwt = JWTGenerator.generate(this); } catch (InvalidKeyException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SignatureException e) { // TODO Auto-generated catch block e.printStackTrace(); } return jwt; } public String getGoogle_transaction_id() { return google_transaction_id; } public void setGoogle_transaction_id(String google_transaction_id) { this.google_transaction_id = google_transaction_id; } public String getTransaction_id() { return transaction_id; } public void setTransaction_id(String transaction_id) { this.transaction_id = transaction_id; } public String getTransaction_url() { return transaction_url; } public void setTransaction_url(String transaction_url) { this.transaction_url = transaction_url; } public String getMerchantSecret() { return this.merchantSecret; } public String getOrigin() { return origin; } public void setOrigin(String origin) { this.origin = origin; } }