Skip to content

Commit e545468

Browse files
author
dharmendra kumar
committed
Add service request for fees payments
1 parent 3e6e935 commit e545468

6 files changed

Lines changed: 204 additions & 0 deletions

File tree

src/main/java/uk/gov/hmcts/reform/payments/client/PaymentsApi.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@
1010
import uk.gov.hmcts.reform.payments.client.health.InternalHealth;
1111
import uk.gov.hmcts.reform.payments.client.models.PaymentDto;
1212
import uk.gov.hmcts.reform.payments.request.CardPaymentRequest;
13+
import uk.gov.hmcts.reform.payments.request.CardPaymentServiceRequestDTO;
1314
import uk.gov.hmcts.reform.payments.request.CreateServiceRequestDTO;
1415
import uk.gov.hmcts.reform.payments.request.CreditAccountPaymentRequest;
1516
import uk.gov.hmcts.reform.payments.request.PBAServiceRequestDTO;
17+
import uk.gov.hmcts.reform.payments.response.CardPaymentServiceRequestResponse;
1618
import uk.gov.hmcts.reform.payments.response.PBAServiceRequestResponse;
19+
import uk.gov.hmcts.reform.payments.response.PaymentGroupResponse;
1720
import uk.gov.hmcts.reform.payments.response.PaymentServiceResponse;
1821

1922
@FeignClient(name = "payments-api", url = "${payments.api.url}", configuration = PaymentClientConfiguration.class)
@@ -51,6 +54,13 @@ void cancelCardPayment(
5154
@RequestHeader("ServiceAuthorization") String serviceAuthorization
5255
);
5356

57+
@GetMapping(value = "/card-payments/{internal-reference}/status")
58+
PaymentDto getCardPaymentStatus(
59+
@PathVariable("internal-reference") String internalReference,
60+
@RequestHeader("Authorization") String authorization,
61+
@RequestHeader("ServiceAuthorization") String serviceAuthorization
62+
);
63+
5464
@PostMapping(value = "/service-request", consumes = "application/json")
5565
PaymentServiceResponse createServiceRequest(
5666
@RequestHeader("Authorization") String authorization,
@@ -65,4 +75,20 @@ PBAServiceRequestResponse createPbaPayment(
6575
@RequestHeader("ServiceAuthorization") String serviceAuthorization,
6676
@RequestBody PBAServiceRequestDTO paymentRequest
6777
);
78+
79+
@PostMapping(value = "/service-request/{service-request-reference}/card-payments", consumes = "application/json")
80+
CardPaymentServiceRequestResponse createCardPaymentServiceRequest(
81+
@PathVariable("service-request-reference") String serviceReqReference,
82+
@RequestHeader("Authorization") String authorization,
83+
@RequestHeader("ServiceAuthorization") String serviceAuthorization,
84+
@RequestBody CardPaymentServiceRequestDTO paymentRequest
85+
);
86+
87+
@GetMapping(value = "cases/{ccd-case-number}/paymentgroups")
88+
PaymentGroupResponse getCasePaymentGroups(
89+
@PathVariable("ccd-case-number") String ccdCaseNumber,
90+
@RequestHeader("Authorization") String authorization,
91+
@RequestHeader("ServiceAuthorization") String serviceAuthorization
92+
);
93+
6894
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package uk.gov.hmcts.reform.payments.client.models;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
6+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
import java.time.OffsetDateTime;
13+
import java.util.List;
14+
15+
@Data
16+
@JsonIgnoreProperties(ignoreUnknown = true)
17+
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
18+
@Builder
19+
@NoArgsConstructor
20+
@AllArgsConstructor
21+
public class PaymentGroupDto {
22+
23+
@JsonProperty("any_payment_disputed")
24+
private boolean anyPaymentDisputed;
25+
@JsonProperty("date_created")
26+
private OffsetDateTime dateCreated;
27+
@JsonProperty("date_updated")
28+
private OffsetDateTime dateUpdated;
29+
private List<FeeDto> fees;
30+
@JsonProperty("payment_group_reference")
31+
private String paymentGroupReference;
32+
private List<PaymentDto> payments;
33+
private List<RemissionDto> remissions;
34+
@JsonProperty("service_request_status")
35+
private String serviceRequestStatus;
36+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package uk.gov.hmcts.reform.payments.client.models;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
6+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
import java.math.BigDecimal;
13+
14+
@Data
15+
@JsonIgnoreProperties(ignoreUnknown = true)
16+
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
17+
@Builder
18+
@NoArgsConstructor
19+
@AllArgsConstructor
20+
public class RemissionDto {
21+
22+
@JsonProperty("add_refund")
23+
private boolean addRefund;
24+
25+
@JsonProperty("beneficiary_name")
26+
private String beneficiaryName;
27+
28+
@JsonProperty("case_reference")
29+
private String caseReference;
30+
31+
@JsonProperty("ccd_case_number")
32+
private String ccdCaseNumber;
33+
34+
@JsonProperty("date_created")
35+
private String dateCreated;
36+
37+
@JsonProperty("fee_code")
38+
private String feeCode;
39+
40+
@JsonProperty("fee_id")
41+
private String feeId;
42+
43+
@JsonProperty("hwf_amount")
44+
private BigDecimal hwfAmount;
45+
46+
@JsonProperty("hwf_reference")
47+
private String hwfReference;
48+
49+
private String id;
50+
51+
@JsonProperty("issue_refund_add_refund_add_remission")
52+
private boolean issueRefundAddRefundAddRemission;
53+
54+
@JsonProperty("payment_group_reference")
55+
private String paymentGroupReference;
56+
57+
@JsonProperty("payment_reference")
58+
private String paymentReference;
59+
60+
@JsonProperty("remission_reference")
61+
private String remissionReference;
62+
63+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package uk.gov.hmcts.reform.payments.request;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
9+
import java.math.BigDecimal;
10+
11+
@Data
12+
@Builder
13+
@AllArgsConstructor
14+
@JsonIgnoreProperties(ignoreUnknown = true)
15+
public class CardPaymentServiceRequestDTO {
16+
17+
@JsonProperty("language")
18+
private String language;
19+
@JsonProperty("amount")
20+
private BigDecimal amount;
21+
@Builder.Default
22+
@JsonProperty("currency")
23+
private String currency = "GBP";
24+
@JsonProperty("return-url")
25+
private String returnUrl;
26+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package uk.gov.hmcts.reform.payments.response;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
@Data
11+
@Builder
12+
@NoArgsConstructor
13+
@AllArgsConstructor
14+
@JsonIgnoreProperties(ignoreUnknown = true)
15+
public class CardPaymentServiceRequestResponse {
16+
17+
@JsonProperty("external_reference")
18+
private String externalReference;
19+
20+
@JsonProperty("payment_reference")
21+
private String paymentReference;
22+
23+
@JsonProperty("status")
24+
private String status;
25+
26+
@JsonProperty("next_url")
27+
private String nextUrl;
28+
29+
@JsonProperty("date_created")
30+
private String dateCreated;
31+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package uk.gov.hmcts.reform.payments.response;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
import uk.gov.hmcts.reform.payments.client.models.PaymentGroupDto;
10+
11+
import java.util.List;
12+
13+
@Data
14+
@Builder
15+
@NoArgsConstructor
16+
@AllArgsConstructor
17+
@JsonIgnoreProperties(ignoreUnknown = true)
18+
public class PaymentGroupResponse {
19+
20+
@JsonProperty("payment_groups")
21+
List<PaymentGroupDto> paymentGroups;
22+
}

0 commit comments

Comments
 (0)