forked from SeunAdelekan/PaystackJava
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCustomers.java
More file actions
98 lines (82 loc) · 3.78 KB
/
Customers.java
File metadata and controls
98 lines (82 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import org.json.JSONObject;
import java.util.HashMap;
/**
* Created by Iyanu Adelekan on 17/07/2016.
*/
public class Customers {
public Customers(){
}
private static ApiConnection apiConnection = null;
/*
The following set of methods aid the sending of API
requests for the CREATION of customers
*/
public JSONObject createCustomer(HashMap<String,Object> queryMap){
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_CREATE_CUSTOMER);
return apiConnection.connectAndQuery(queryMap);
}
public JSONObject createCustomer(ApiQuery query) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_CREATE_CUSTOMER);
return apiConnection.connectAndQuery(query);
}
public JSONObject createCustomer(String email, String firstName, String lastName,
String phone, Object metadata){
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_CREATE_CUSTOMER);
ApiQuery apiQuery = new ApiQuery();
apiQuery.putParams("email",email);
apiQuery.putParams("first_name",firstName);
apiQuery.putParams("last_name",lastName);
apiQuery.putParams("phone",phone);
apiQuery.putParams("metadata",metadata);
return apiConnection.connectAndQuery(apiQuery);
}
/*
The following set of methods aid the sending of API
requests for the LISTING of customers
*/
public JSONObject listCustomers(HashMap<String,Object> queryMap) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_LIST_CUSTOMERS);
return apiConnection.connectAndQueryWithGet(queryMap);
}
public JSONObject listCustomers(ApiQuery query) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_LIST_CUSTOMERS);
return apiConnection.connectAndQueryWithGet(query);
}
public JSONObject listCustomers(int perPage, int page) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_LIST_CUSTOMERS);
ApiQuery apiQuery = new ApiQuery();
apiQuery.putParams("perPage",perPage);
apiQuery.putParams("page",page);
return apiConnection.connectAndQueryWithGet(apiQuery);
}
/*
The following set of methods aid the sending of API
requests for the FETCHING of customers
*/
public JSONObject fetchCustomer(String idOrCustomerCode) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_FETCH_CUSTOMER + idOrCustomerCode);
return apiConnection.connectAndQueryWithGet();
}
/*
The following set of methods aid the sending of API
requests for the UPDATING of customers
*/
public JSONObject updateCustomer(HashMap<String,Object> queryMap, String idOrCustomerCode) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_UPDATE_CUSTOMER + idOrCustomerCode);
return apiConnection.connectAndQueryWithPut(queryMap);
}
public JSONObject updateCustomer(ApiQuery query, String idOrCustomerCode) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_UPDATE_CUSTOMER + idOrCustomerCode);
return apiConnection.connectAndQueryWithPut(query);
}
public JSONObject updateCustomer(String idOrCustomerCode, String email, String firstName, String lastName,
String phone, Object metadata) {
apiConnection = new ApiConnection(Definitions.PAYSTACK_CUSTOMERS_UPDATE_CUSTOMER + idOrCustomerCode);
ApiQuery apiQuery = new ApiQuery();
apiQuery.putParams("first_name",firstName);
apiQuery.putParams("last_name",lastName);
apiQuery.putParams("phone",phone);
apiQuery.putParams("metadata",metadata);
return apiConnection.connectAndQueryWithPut(apiQuery);
}
}