Subversion Repositories SmartDukaan

Rev

Rev 34860 | Rev 34869 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34860 Rev 34868
Line 33... Line 33...
33
    private String RAZORPAYX_ACCOUNT;
33
    private String RAZORPAYX_ACCOUNT;
34
 
34
 
35
    @Autowired
35
    @Autowired
36
    private RestClient restClient; // same utility you used for Knowlarity
36
    private RestClient restClient; // same utility you used for Knowlarity
37
 
37
 
38
    public String createPayout(String fundAccountId, Double amount, String currency) throws Exception {
38
    public String createPayout(String fundAccountId, Double amount,String idempotencyKey, String currency) throws Exception {
39
        JSONObject payload = new JSONObject();
39
        JSONObject payload = new JSONObject();
40
        payload.put("account_number", RAZORPAYX_ACCOUNT);   // RazorpayX virtual account
40
        payload.put("account_number", RAZORPAYX_ACCOUNT);   // RazorpayX virtual account
41
        payload.put("fund_account_id", fundAccountId);      // partner fund account id
41
        payload.put("fund_account_id", fundAccountId);      // partner fund account id
42
        payload.put("amount", (int) (amount * 100));         // amount in paise
42
        payload.put("amount", (int) (amount * 100));         // amount in paise
43
        payload.put("currency", currency);
43
        payload.put("currency", currency);
44
        payload.put("mode", "IMPS");                        // or NEFT, UPI
44
        payload.put("mode", "IMPS");                        // or NEFT, UPI
45
        payload.put("purpose", "payout");
45
        payload.put("purpose", "payout");
46
        payload.put("queue_if_low_balance", true);
46
        payload.put("queue_if_low_balance", true);
47
 
47
 
48
        try {
48
        try {
-
 
49
            Map<String, String> headers = getAuthHeaders();
-
 
50
            headers.put("X-Payout-Idempotency", idempotencyKey);
49
            LOGGER.info("Sending RazorpayX payout request: {}", payload);
51
            LOGGER.info("Sending RazorpayX payout request: {}", payload);
50
            String url = BASE_URL + "/payouts";
52
            String url = BASE_URL + "/payouts";
51
            String response = restClient.post(url, payload.toString(), getAuthHeaders());
53
            String response = restClient.post(url, payload.toString(), getAuthHeaders());
52
            LOGGER.info("RazorpayX payout response: {}", response);
54
            LOGGER.info("RazorpayX payout response: {}", response);
53
 
55