|
@@ -64,13 +64,16 @@ public class RestApiPaypalService {
|
|
map.put("Content-Type","application/json");
|
|
map.put("Content-Type","application/json");
|
|
WebhookVo webhookVo = new WebhookVo();
|
|
WebhookVo webhookVo = new WebhookVo();
|
|
webhookVo.setUrl(paypalConfig.getWebhookHost() +"/service/pay/paypal/webhook");
|
|
webhookVo.setUrl(paypalConfig.getWebhookHost() +"/service/pay/paypal/webhook");
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("PAYMENT.SALE.COMPLETED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("CATALOG.PRODUCT.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("CATALOG.PRODUCT.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.ACTIVATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.ACTIVATED"));
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.DEACTIVATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.EXPIRED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.EXPIRED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.SUSPENDED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.SUSPENDED"));
|
|
- webhookVo.getEvent_types().add(new EventTypeVo("PAYMENT.SALE.COMPLETED"));
|
|
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.UPDATED"));
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.PAYMENT.FAILED"));
|
|
|
|
|
|
String string = JSONObject.toJSONString(webhookVo);
|
|
String string = JSONObject.toJSONString(webhookVo);
|
|
String body = HttpRequest.post(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks")
|
|
String body = HttpRequest.post(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks")
|
|
@@ -96,6 +99,7 @@ public class RestApiPaypalService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取token
|
|
* 获取token
|
|
*/
|
|
*/
|
|
@@ -304,18 +308,27 @@ public class RestApiPaypalService {
|
|
paypalConfig.setClientId("ATzzbHdy4kgJxUJegzDbBO1kRUE5kcur5VXaNtja4JDpLsfPokdlKAtunTVa_mWPcTQTMy06JAW6Ae5j");
|
|
paypalConfig.setClientId("ATzzbHdy4kgJxUJegzDbBO1kRUE5kcur5VXaNtja4JDpLsfPokdlKAtunTVa_mWPcTQTMy06JAW6Ae5j");
|
|
paypalConfig.setSecret("EPBsjKmNHHrmu0joNkWcrVpdqXTs3pow5jRdD1daOMyomteOxHMUDXhsM6Z-bjMi8MfSMB4iIyuhIihV");
|
|
paypalConfig.setSecret("EPBsjKmNHHrmu0joNkWcrVpdqXTs3pow5jRdD1daOMyomteOxHMUDXhsM6Z-bjMi8MfSMB4iIyuhIihV");
|
|
|
|
|
|
|
|
+ deleteWebhook(paypalConfig,"34G17460TH6654649");
|
|
|
|
+ getWebhook(paypalConfig);
|
|
|
|
+ createWebhook(paypalConfig);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static void createWebhook(PaypalConfig paypalConfig){
|
|
try {
|
|
try {
|
|
Map<String,String> map = new HashMap<>(4);
|
|
Map<String,String> map = new HashMap<>(4);
|
|
map.put("Content-Type","application/json");
|
|
map.put("Content-Type","application/json");
|
|
WebhookVo webhookVo = new WebhookVo();
|
|
WebhookVo webhookVo = new WebhookVo();
|
|
webhookVo.setUrl("https://testeur.4dkankan.com/service/pay/paypal/webhook");
|
|
webhookVo.setUrl("https://testeur.4dkankan.com/service/pay/paypal/webhook");
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("PAYMENT.SALE.COMPLETED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("CATALOG.PRODUCT.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("CATALOG.PRODUCT.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.ACTIVATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.ACTIVATED"));
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.PLAN.DEACTIVATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.CREATED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.EXPIRED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.EXPIRED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.SUSPENDED"));
|
|
webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.SUSPENDED"));
|
|
- webhookVo.getEvent_types().add(new EventTypeVo("PAYMENT.SALE.COMPLETED"));
|
|
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.UPDATED"));
|
|
|
|
+ webhookVo.getEvent_types().add(new EventTypeVo("BILLING.SUBSCRIPTION.PAYMENT.FAILED"));
|
|
|
|
|
|
String string = JSONObject.toJSONString(webhookVo);
|
|
String string = JSONObject.toJSONString(webhookVo);
|
|
String body = HttpRequest.post(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks")
|
|
String body = HttpRequest.post(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks")
|
|
@@ -328,9 +341,42 @@ public class RestApiPaypalService {
|
|
String webhookId = resp.getString("id");
|
|
String webhookId = resp.getString("id");
|
|
paypalConfig.setWebhookId(webhookId);
|
|
paypalConfig.setWebhookId(webhookId);
|
|
|
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ log.info("paypal-createWebhooks:error:",e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static void getWebhook(PaypalConfig paypalConfig){
|
|
|
|
+ try {
|
|
|
|
+ Map<String,String> map = new HashMap<>(4);
|
|
|
|
+ map.put("Content-Type","application/json");
|
|
|
|
+
|
|
|
|
+ String body = HttpRequest.get(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks")
|
|
|
|
+ .addHeaders(map)
|
|
|
|
+ .basicAuth(paypalConfig.getClientId(), paypalConfig.getSecret())
|
|
|
|
+ .execute().body();
|
|
|
|
+ log.info("paypal-createWebhooks:{}",body);
|
|
|
|
+ JSONObject resp = JSONObject.parseObject(body);
|
|
|
|
+
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ log.info("paypal-createWebhooks:error:",e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ public static void deleteWebhook(PaypalConfig paypalConfig,String webhookId){
|
|
|
|
+ try {
|
|
|
|
+ Map<String,String> map = new HashMap<>(4);
|
|
|
|
+ map.put("Content-Type","application/json");
|
|
|
|
+
|
|
|
|
+ String body = HttpRequest.delete(paypalConfig.getBaseUrl() + "/v1/notifications/webhooks/"+webhookId)
|
|
|
|
+ .addHeaders(map)
|
|
|
|
+ .basicAuth(paypalConfig.getClientId(), paypalConfig.getSecret())
|
|
|
|
+ .execute().body();
|
|
|
|
+ log.info("paypal-createWebhooks:{}",body);
|
|
|
|
+ JSONObject resp = JSONObject.parseObject(body);
|
|
|
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
log.info("paypal-createWebhooks:error:",e);
|
|
log.info("paypal-createWebhooks:error:",e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|