disputes

package
v0.0.0-...-ff628f3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(configuration *configuration.Configuration, apiClient client.HttpClient) *Client

func (*Client) Accept

func (c *Client) Accept(disputeId string) (*common.MetadataResponse, error)

func (*Client) AcceptWithContext

func (c *Client) AcceptWithContext(ctx context.Context, disputeId string) (*common.MetadataResponse, error)

func (*Client) GetDisputeDetails

func (c *Client) GetDisputeDetails(disputeId string) (*DisputeResponse, error)

func (*Client) GetDisputeDetailsWithContext

func (c *Client) GetDisputeDetailsWithContext(ctx context.Context, disputeId string) (*DisputeResponse, error)

func (*Client) GetDisputeSchemeFiles

func (c *Client) GetDisputeSchemeFiles(disputeId string) (*SchemeFilesResponse, error)

func (*Client) GetDisputeSchemeFilesWithContext

func (c *Client) GetDisputeSchemeFilesWithContext(ctx context.Context, disputeId string) (*SchemeFilesResponse, error)

func (*Client) GetEvidence

func (c *Client) GetEvidence(disputeId string) (*EvidenceResponse, error)

func (*Client) GetEvidenceWithContext

func (c *Client) GetEvidenceWithContext(ctx context.Context, disputeId string) (*EvidenceResponse, error)

func (*Client) GetFileDetails

func (c *Client) GetFileDetails(fileId string) (*common.FileResponse, error)

func (*Client) GetFileDetailsWithContext

func (c *Client) GetFileDetailsWithContext(ctx context.Context, fileId string) (*common.FileResponse, error)

func (*Client) PutEvidence

func (c *Client) PutEvidence(disputeId string, evidenceRequest Evidence) (*common.MetadataResponse, error)

func (*Client) PutEvidenceWithContext

func (c *Client) PutEvidenceWithContext(ctx context.Context, disputeId string, evidenceRequest Evidence) (*common.MetadataResponse, error)

func (*Client) Query

func (c *Client) Query(queryFilter QueryFilter) (*QueryResponse, error)

func (*Client) QueryWithContext

func (c *Client) QueryWithContext(ctx context.Context, queryFilter QueryFilter) (*QueryResponse, error)

func (*Client) SubmitEvidence

func (c *Client) SubmitEvidence(disputeId string) (*common.MetadataResponse, error)

func (*Client) SubmitEvidenceWithContext

func (c *Client) SubmitEvidenceWithContext(ctx context.Context, disputeId string) (*common.MetadataResponse, error)

func (*Client) UploadFile

func (c *Client) UploadFile(file common.File) (*common.IdResponse, error)

func (*Client) UploadFileWithContext

func (c *Client) UploadFileWithContext(ctx context.Context, file common.File) (*common.IdResponse, error)

type Dispute

type Dispute struct {
	Id                 string                `json:"id,omitempty"`
	Category           DisputeCategory       `json:"category,omitempty"`
	Status             DisputeStatus         `json:"status,omitempty"`
	Amount             int64                 `json:"amount,omitempty"`
	Currency           common.Currency       `json:"currency,omitempty"`
	ReasonCode         string                `json:"reason_code,omitempty"`
	ResolvedReason     DisputeResolvedReason `json:"resolved_reason,omitempty"`
	RelevantEvidence   []RelevantEvidence    `json:"relevant_evidence,omitempty"`
	EvidenceRequiredBy *time.Time            `json:"evidence_required_by,omitempty"`
	ReceivedOn         *time.Time            `json:"received_on,omitempty"`
	LastUpdate         *time.Time            `json:"last_update,omitempty"`
	Payment            *PaymentDispute       `json:"payment,omitempty"`

	// Not available on Previous
	EntityId    string                 `json:"entity_id,omitempty"`
	SubEntityId string                 `json:"sub_entity_id,omitempty"`
	Links       map[string]common.Link `json:"_links,omitempty"`
}

type DisputeCategory

type DisputeCategory string
const (
	General                   DisputeCategory = "general"
	Duplicate                 DisputeCategory = "duplicate"
	Fraudulent                DisputeCategory = "fraudulent"
	Unrecognized              DisputeCategory = "unrecognized"
	IncorrectAmount           DisputeCategory = "incorrect_amount"
	NotAsDescribed            DisputeCategory = "not_as_described"
	CreditNotIssued           DisputeCategory = "credit_not_issued"
	CanceledRecurring         DisputeCategory = "canceled_recurring"
	ProductServiceNotReceived DisputeCategory = "product_service_not_received"
)

type DisputeResolvedReason

type DisputeResolvedReason string
const (
	RapidDisputeResolution DisputeResolvedReason = "rapid_dispute_resolution"
	NegativeAmount         DisputeResolvedReason = "negative_amount"
	AlreadyRefunded        DisputeResolvedReason = "already_refunded"
)

type DisputeResponse

type DisputeResponse struct {
	HttpMetadata common.HttpMetadata
	Dispute
}

type DisputeStatus

type DisputeStatus string
const (
	WON                    DisputeStatus = "won"
	LOST                   DisputeStatus = "lost"
	EXPIRED                DisputeStatus = "expired"
	ACCEPTED               DisputeStatus = "accepted"
	CANCELED               DisputeStatus = "canceled"
	RESOLVED               DisputeStatus = "resolved"
	ArbitrationWon         DisputeStatus = "arbitration_won"
	ArbitrationLost        DisputeStatus = "arbitration_lost"
	EvidenceRequired       DisputeStatus = "evidence_required"
	EvidenceUnderReview    DisputeStatus = "evidence_under_review"
	ArbitrationUnderReview DisputeStatus = "arbitration_under_review"
)

type DisputeSummary

type DisputeSummary struct {
	Id                 string          `json:"id,omitempty"`
	Category           DisputeCategory `json:"category,omitempty"`
	Status             DisputeStatus   `json:"status,omitempty"`
	Amount             int64           `json:"amount,omitempty"`
	Currency           common.Currency `json:"currency,omitempty"`
	ReasonCode         string          `json:"reason_code,omitempty"`
	PaymentId          string          `json:"payment_id,omitempty"`
	PaymentActionId    string          `json:"payment_action_id,omitempty"`
	PaymentReference   string          `json:"payment_reference,omitempty"`
	PaymentArn         string          `json:"payment_arn,omitempty"`
	PaymentMethod      string          `json:"payment_method,omitempty"`
	EvidenceRequiredBy *time.Time      `json:"evidence_required_by,omitempty"`
	ReceivedOn         *time.Time      `json:"received_on,omitempty"`
	LastUpdate         *time.Time      `json:"last_update,omitempty"`

	// Not available on Previous
	EntityId    string `json:"entity_id,omitempty"`
	SubEntityId string `json:"sub_entity_id,omitempty"`
	PaymentMcc  string `json:"payment_mcc,omitempty"`
}

Query

type Evidence

type Evidence struct {
	ProofOfDeliveryOrServiceFile           string                 `json:"proof_of_delivery_or_service_file,omitempty"`
	ProofOfDeliveryOrServiceText           string                 `json:"proof_of_delivery_or_service_text,omitempty"` // max 500
	InvoiceOrReceiptFile                   string                 `json:"invoice_or_receipt_file,omitempty"`
	InvoiceOrReceiptText                   string                 `json:"invoice_or_receipt_text,omitempty"`
	InvoiceShowingDistinctTransactionsFile string                 `json:"invoice_showing_distinct_transactions_file,omitempty"`
	InvoiceShowingDistinctTransactionsText string                 `json:"invoice_showing_distinct_transactions_text,omitempty"` // max 500
	CustomerCommunicationFile              string                 `json:"customer_communication_file,omitempty"`
	CustomerCommunicationText              string                 `json:"customer_communication_text,omitempty"` // max 500
	RefundOrCancellationPolicyFile         string                 `json:"refund_or_cancellation_policy_file,omitempty"`
	RefundOrCancellationPolicyText         string                 `json:"refund_or_cancellation_policy_text,omitempty"` // max 500
	RecurringTransactionAgreementFile      string                 `json:"recurring_transaction_agreement_file,omitempty"`
	RecurringTransactionAgreementText      string                 `json:"recurring_transaction_agreement_text,omitempty"` // max 500
	AdditionalEvidenceFile                 string                 `json:"additional_evidence_file,omitempty"`
	AdditionalEvidenceText                 string                 `json:"additional_evidence_text,omitempty"` // max 500
	ProofOfDeliveryOrServiceDateFile       string                 `json:"proof_of_delivery_or_service_date_file,omitempty"`
	ProofOfDeliveryOrServiceDateText       string                 `json:"proof_of_delivery_or_service_date_text,omitempty"` // max 500
	Links                                  map[string]common.Link `json:"_links,omitempty"`
}

Evidence

type EvidenceResponse

type EvidenceResponse struct {
	HttpMetadata common.HttpMetadata
	Evidence
}

Evidence

type PaymentDispute

type PaymentDispute struct {
	Id          string          `json:"id,omitempty"`
	Amount      int64           `json:"amount,omitempty"`
	Currency    common.Currency `json:"currency,omitempty"`
	Method      string          `json:"method,omitempty"`
	Arn         string          `json:"arn,omitempty"`
	ProcessedOn *time.Time      `json:"processed_on,omitempty"`

	// Not available on Previous
	ActionId                 string                    `json:"actionId,omitempty"`
	ProcessingChannelId      string                    `json:"processing_channel_id,omitempty"`
	Mcc                      string                    `json:"mcc,omitempty"`
	ThreeDSVersionEnrollment *ThreeDSVersionEnrollment `json:"3ds,omitempty"`
	Eci                      string                    `json:"eci,omitempty"`
	HasRefund                bool                      `json:"has_refund,omitempty"`
}

type QueryFilter

type QueryFilter struct {
	Limit uint8      `url:"limit,omitempty"` //min=1 - max=250
	Skip  int        `url:"skip,omitempty"`
	From  *time.Time `url:"from,omitempty" layout:"2006-01-02T15:04:05Z"`
	To    *time.Time `url:"to,omitempty" layout:"2006-01-02T15:04:05Z"`

	Id               string `url:"id,omitempty"`
	Statuses         string `url:"statuses,omitempty"` //One or more comma-separated statuses. This works like a logical OR operator
	PaymentId        string `url:"payment_id,omitempty"`
	PaymentReference string `url:"payment_reference,omitempty"`
	PaymentArn       string `url:"payment_arn,omitempty"`
	ThisChannelOnly  bool   `url:"this_channel_only,omitempty"`

	// Not available on Previous
	EntityIds    string `url:"entity_ids,omitempty"`    //One or more comma-separated client entities. This works like a logical OR operator
	SubEntityIds string `url:"subEntity_ids,omitempty"` //One or more comma-separated client entities. This works like a logical OR operator
	PaymentMcc   string `url:"payment_mcc,omitempty"`
}

Query

type QueryResponse

type QueryResponse struct {
	HttpMetadata common.HttpMetadata

	Limit uint8      `json:"limit,omitempty"` //min=1 - max=250
	Skip  int        `json:"skip,omitempty"`
	From  *time.Time `json:"from,omitempty" time_format:"2006-01-02T15:04:05Z"`
	To    *time.Time `json:"to,omitempty" time_format:"2006-01-02T15:04:05Z"`

	Id               string `json:"id,omitempty"`
	Statuses         string `json:"statuses,omitempty"` //One or more comma-separated statuses. This works like a logical OR operator
	PaymentId        string `json:"payment_id,omitempty"`
	PaymentReference string `json:"payment_reference,omitempty"`
	PaymentArn       string `json:"payment_arn,omitempty"`
	ThisChannelOnly  bool   `json:"this_channel_only,omitempty"`

	TotalCount int              `json:"total_count,omitempty"`
	Data       []DisputeSummary `json:"data,omitempty"`

	// Not available on Previous
	EntityIds    string `url:"entity_ids,omitempty"`    //One or more comma-separated client entities. This works like a logical OR operator//One or more comma-separated client entities. This works like a logical OR operator
	SubEntityIds string `url:"subEntity_ids,omitempty"` //One or more comma-separated client entities. This works like a logical OR operator//One or more comma-separated client entities. This works like a logical OR operator
	PaymentMcc   string `url:"payment_mcc,omitempty"`
}

Query

type RelevantEvidence

type RelevantEvidence string
const (
	ProofOfDeliveryOrService           RelevantEvidence = "proof_of_delivery_or_service"
	InvoiceOrReceipt                   RelevantEvidence = "invoice_or_receipt"
	InvoiceShowingDistinctTransactions RelevantEvidence = "invoice_showing_distinct_transactions"
	CustomerCommunication              RelevantEvidence = "customer_communication"
	RefundOrCancellationPolicy         RelevantEvidence = "refund_or_cancellation_policy"
	RecurringTransactionAgreement      RelevantEvidence = "recurring_transaction_agreement"
	AdditionalEvidence                 RelevantEvidence = "additional_evidence"
)

type SchemeFile

type SchemeFile struct {
	DisputeStatus DisputeStatus `json:"dispute_status,omitempty"`
	File          string        `json:"file,omitempty"`
}

Files

type SchemeFilesResponse

type SchemeFilesResponse struct {
	HttpMetadata common.HttpMetadata
	Id           string                 `json:"id,omitempty"`
	Files        []SchemeFile           `json:"files,omitempty"`
	Links        map[string]common.Link `json:"_links"`
}

Files

type ThreeDSVersionEnrollment

type ThreeDSVersionEnrollment struct {
	Enrolled string `json:"enrolled,omitempty"`
	Version  string `json:"version,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL