diff --git a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/param/CreateInvoiceParam.java b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/param/CreateInvoiceParam.java index f472a77..23e1587 100644 --- a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/param/CreateInvoiceParam.java +++ b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/param/CreateInvoiceParam.java @@ -21,12 +21,16 @@ public class CreateInvoiceParam implements Request.Param { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("description=").append(encode(description)) - .append("&amountSat=").append(encode(String.valueOf(amountSat))) .append("&amountSat=").append(amountSat == null ? "" : amountSat) .append("&expirySeconds=").append(expirySeconds == null ? "" : expirySeconds) .append("&externalId=").append(encode(externalId)); if (webhookUrl != null) { - sb.append("&webhookUrl=").append(encode(webhookUrl.toString())); + String urlString = webhookUrl.toString(); + if (urlString.contains("?")) { + sb.append("&webhookUrl=").append(encode(urlString)); + } else { + sb.append("&webhookUrl=").append(urlString); + } } return sb.toString(); } diff --git a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayBolt11InvoiceInvoiceResponse.java b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayBolt11InvoiceInvoiceResponse.java index 7dbd4c5..f8fedbb 100644 --- a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayBolt11InvoiceInvoiceResponse.java +++ b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayBolt11InvoiceInvoiceResponse.java @@ -3,9 +3,11 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.ToString; @EqualsAndHashCode(callSuper = true) @Data @NoArgsConstructor +@ToString(callSuper = true) public class PayBolt11InvoiceInvoiceResponse extends PayInvoiceResponse { } diff --git a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayLightningAddressInvoiceResponse.java b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayLightningAddressInvoiceResponse.java index e59583e..a7dd136 100644 --- a/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayLightningAddressInvoiceResponse.java +++ b/phoenixd-model/src/main/java/xyz/tcheeric/phoenixd/model/response/PayLightningAddressInvoiceResponse.java @@ -3,9 +3,11 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.ToString; @EqualsAndHashCode(callSuper = true) @Data @NoArgsConstructor +@ToString(callSuper = true) public class PayLightningAddressInvoiceResponse extends PayInvoiceResponse { } diff --git a/phoenixd-rest/src/main/java/xyz/tcheeric/phoenixd/operation/AbstractOperation.java b/phoenixd-rest/src/main/java/xyz/tcheeric/phoenixd/operation/AbstractOperation.java index 73bad47..ca8cbbd 100644 --- a/phoenixd-rest/src/main/java/xyz/tcheeric/phoenixd/operation/AbstractOperation.java +++ b/phoenixd-rest/src/main/java/xyz/tcheeric/phoenixd/operation/AbstractOperation.java @@ -175,10 +175,14 @@ public String replacePathVariables(String path, Request.Param param) { Field[] fields = param.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); - Object value = field.get(param); - if (value != null) { - String placeholder = "{" + field.getName() + "}"; - path = path.replace(placeholder, value.toString()); + try { + Object value = field.get(param); + if (value != null) { + String placeholder = "{" + field.getName() + "}"; + path = path.replace(placeholder, value.toString()); + } + } catch (IllegalAccessException e) { + throw new RuntimeException(e); } } return path; diff --git a/phoenixd-test/src/test/java/xyz/tcheeric/phoenixd/test/TestUtils.java b/phoenixd-test/src/test/java/xyz/tcheeric/phoenixd/test/TestUtils.java index d1cb281..e250a35 100644 --- a/phoenixd-test/src/test/java/xyz/tcheeric/phoenixd/test/TestUtils.java +++ b/phoenixd-test/src/test/java/xyz/tcheeric/phoenixd/test/TestUtils.java @@ -6,12 +6,8 @@ import java.util.Properties; public final class TestUtils { - private TestUtils() { - } - - public static void setBaseUrl(String baseUrl) { - try { private static final String CONFIG_FIELD_NAME = "CONFIG"; + private static final String PHOENIXD_BASE_URL_KEY = "phoenixd.base_url"; private TestUtils() { }