All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.iyzipay.model.ReportingPaymentDetail Maven / Gradle / Ivy

There is a newer version: 2.0.134
Show newest version
package com.iyzipay.model;

import com.iyzipay.HttpClient;
import com.iyzipay.IyzipayResource;
import com.iyzipay.Options;
import com.iyzipay.Request;
import com.iyzipay.request.ReportingPaymentDetailRequest;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

public class ReportingPaymentDetail extends IyzipayResource {

    private List payments;

    public static ReportingPaymentDetail create(ReportingPaymentDetailRequest request, Options options) {
        String path = "/v2/reporting/payment/details";
        String uri = options.getBaseUrl() + path + getQueryParams(request);
        return HttpClient.create().get(uri,
                getHttpProxy(options),
                getHttpHeadersV2(path, null, options),
                null,
                ReportingPaymentDetail.class);
    }

    private static String getQueryParams(Request request) {
        if (request == null) {
            return "";
        }

        String queryParams = "?conversationId=" + request.getConversationId();

        if (StringUtils.isNotBlank(request.getLocale())) {
            queryParams += "&locale=" + request.getLocale();
        }

        if (request instanceof ReportingPaymentDetailRequest) {
            ReportingPaymentDetailRequest reportingPaymentDetailRequest = (ReportingPaymentDetailRequest) request;
            if (StringUtils.isNoneEmpty(reportingPaymentDetailRequest.getPaymentId())) {
                queryParams += "&paymentId=" + reportingPaymentDetailRequest.getPaymentId();
            }

            if (StringUtils.isNoneEmpty(reportingPaymentDetailRequest.getPaymentConversationId())) {
                queryParams += "&paymentConversationId=" + reportingPaymentDetailRequest.getPaymentConversationId();
            }
        }
        return queryParams;
    }

    public List getPayments() {
        return payments;
    }

    public void setPayments(List payments) {
        this.payments = payments;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy