Skip to content

Commit

Permalink
Release 1.0.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
WorldlineAcquiring committed Dec 11, 2024
1 parent e6b9028 commit 1f07f51
Show file tree
Hide file tree
Showing 27 changed files with 242 additions and 36 deletions.
7 changes: 7 additions & 0 deletions apiv1/acquirer/merchant/Client.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package merchant

import (
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/acquirer/merchant/accountverifications"
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/acquirer/merchant/balanceinquiries"
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/acquirer/merchant/dynamiccurrencyconversion"
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/acquirer/merchant/payments"
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/acquirer/merchant/refunds"
Expand Down Expand Up @@ -34,6 +35,12 @@ func (c *Client) AccountVerifications() *accountverifications.Client {
return client
}

// BalanceInquiries represents the resource /processing/v1/{acquirerId}/{merchantId}/balance-inquiries
func (c *Client) BalanceInquiries() *balanceinquiries.Client {
client, _ := balanceinquiries.NewClient(c.apiResource, nil)
return client
}

// TechnicalReversals represents the resource /processing/v1/{acquirerId}/{merchantId}/operations/{operationId}/reverse
func (c *Client) TechnicalReversals() *technicalreversals.Client {
client, _ := technicalreversals.NewClient(c.apiResource, nil)
Expand Down
74 changes: 74 additions & 0 deletions apiv1/acquirer/merchant/balanceinquiries/Client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// This file was automatically generated.

package balanceinquiries

import (
"github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/domain"
v1Errors "github.com/Worldline-Acquiring/acquiring-sdk-go/apiv1/errors"
"github.com/Worldline-Acquiring/acquiring-sdk-go/communicator"
commErrors "github.com/Worldline-Acquiring/acquiring-sdk-go/communicator/errors"
)

// Client represents a BalanceInquiries client. Thread-safe.
type Client struct {
apiResource *communicator.APIResource
}

// ProcessBalanceInquiry represents the resource /processing/v1/{acquirerId}/{merchantId}/balance-inquiries - Balance inquiry
//
// Documentation can be found at https://docs.acquiring.worldline-solutions.com/api-reference#tag/Balance-Inquiries/operation/processBalanceInquiry
//
// Can return any of the following errors:
// * ValidationError if the request was not correct and couldn't be processed (HTTP status code 400)
// * AuthorizationError if the request was not allowed (HTTP status code 403)
// * ReferenceError if an object was attempted to be referenced that doesn't exist or has been removed,
// or there was a conflict (HTTP status code 404, 409 or 410)
// * PlatformError if something went wrong at the Worldline Acquiring platform,
// the Worldline Acquiring platform was unable to process a message from a downstream partner/acquirer,
// or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
// * APIError if the Worldline Acquiring platform returned any other error
func (c *Client) ProcessBalanceInquiry(body domain.APIBalanceInquiryRequest, context *communicator.CallContext) (domain.APIBalanceInquiryResponse, error) {
var resultObject domain.APIBalanceInquiryResponse

uri, err := c.apiResource.InstantiateURIWithContext("/processing/v1/{acquirerId}/{merchantId}/balance-inquiries", nil)
if err != nil {
return resultObject, err
}

postErr := c.apiResource.Communicator().Post(uri, nil, nil, body, context, &resultObject)
if postErr != nil {
responseError, isResponseError := postErr.(*commErrors.ResponseError)
if isResponseError {
var errorObject interface{}

errorObject = &domain.APIPaymentErrorResponse{}
err = c.apiResource.Communicator().Marshaller().Unmarshal(responseError.Body(), errorObject)
if err != nil {
return resultObject, err
}

err, createErr := v1Errors.CreateAPIError(responseError.StatusCode(), responseError.Body(), errorObject, context)
if createErr != nil {
return resultObject, createErr
}

return resultObject, err
}

return resultObject, postErr
}

return resultObject, nil
}

// NewClient constructs a new BalanceInquiries client
//
// parent is the communicator.APIResource on top of which we want to build the new BalanceInquiries client
func NewClient(parent *communicator.APIResource, pathContext map[string]string) (*Client, error) {
apiResource, err := communicator.NewAPIResourceWithParent(parent, pathContext)
if err != nil {
return nil, err
}

return &Client{apiResource}, nil
}
1 change: 1 addition & 0 deletions apiv1/domain/APIAccountVerificationRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ type APIAccountVerificationRequest struct {
Merchant *MerchantData `json:"merchant,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

Expand Down
18 changes: 18 additions & 0 deletions apiv1/domain/APIBalanceInquiryRequest.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// This file was automatically generated.

package domain

// APIBalanceInquiryRequest represents class ApiBalanceInquiryRequest
type APIBalanceInquiryRequest struct {
CardPaymentData *CardPaymentDataForBalanceInquiry `json:"cardPaymentData,omitempty"`
Merchant *MerchantData `json:"merchant,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPIBalanceInquiryRequest constructs a new APIBalanceInquiryRequest instance
func NewAPIBalanceInquiryRequest() *APIBalanceInquiryRequest {
return &APIBalanceInquiryRequest{}
}
20 changes: 20 additions & 0 deletions apiv1/domain/APIBalanceInquiryResponse.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// This file was automatically generated.

package domain

// APIBalanceInquiryResponse represents class ApiBalanceInquiryResponse
type APIBalanceInquiryResponse struct {
AuthorizationCode *string `json:"authorizationCode,omitempty"`
AvailableAmount *AmountData `json:"availableAmount,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *APIReferencesForResponses `json:"references,omitempty"`
Responder *string `json:"responder,omitempty"`
ResponseCode *string `json:"responseCode,omitempty"`
ResponseCodeCategory *string `json:"responseCodeCategory,omitempty"`
ResponseCodeDescription *string `json:"responseCodeDescription,omitempty"`
}

// NewAPIBalanceInquiryResponse constructs a new APIBalanceInquiryResponse instance
func NewAPIBalanceInquiryResponse() *APIBalanceInquiryResponse {
return &APIBalanceInquiryResponse{}
}
14 changes: 8 additions & 6 deletions apiv1/domain/APICaptureRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ package domain

// APICaptureRequest represents class ApiCaptureRequest
type APICaptureRequest struct {
Amount *AmountData `json:"amount,omitempty"`
CaptureSequenceNumber *int32 `json:"captureSequenceNumber,omitempty"`
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
IsFinal *bool `json:"isFinal,omitempty"`
OperationID *string `json:"operationId,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
Amount *AmountData `json:"amount,omitempty"`
CaptureSequenceNumber *int32 `json:"captureSequenceNumber,omitempty"`
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
IsFinal *bool `json:"isFinal,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPICaptureRequest constructs a new APICaptureRequest instance
Expand Down
6 changes: 4 additions & 2 deletions apiv1/domain/APICaptureRequestForRefund.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ package domain

// APICaptureRequestForRefund represents class ApiCaptureRequestForRefund
type APICaptureRequestForRefund struct {
OperationID *string `json:"operationId,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPICaptureRequestForRefund constructs a new APICaptureRequestForRefund instance
Expand Down
9 changes: 5 additions & 4 deletions apiv1/domain/APIIncrementRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ package domain

// APIIncrementRequest represents class ApiIncrementRequest
type APIIncrementRequest struct {
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
IncrementAmount *AmountData `json:"incrementAmount,omitempty"`
OperationID *string `json:"operationId,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
IncrementAmount *AmountData `json:"incrementAmount,omitempty"`
OperationID *string `json:"operationId,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPIIncrementRequest constructs a new APIIncrementRequest instance
Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/APIPaymentRefundRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ type APIPaymentRefundRequest struct {
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/APIPaymentRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ type APIPaymentRequest struct {
Merchant *MerchantData `json:"merchant,omitempty"`
OperationID *string `json:"operationId,omitempty"`
References *PaymentReferences `json:"references,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/APIPaymentResponse.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package domain
// APIPaymentResponse represents class ApiPaymentResponse
type APIPaymentResponse struct {
CardPaymentData *CardPaymentDataForResponse `json:"cardPaymentData,omitempty"`
EmvData *[]EmvDataItem `json:"emvData,omitempty"`
InitialAuthorizationCode *string `json:"initialAuthorizationCode,omitempty"`
OperationID *string `json:"operationId,omitempty"`
PaymentID *string `json:"paymentId,omitempty"`
Expand Down
9 changes: 5 additions & 4 deletions apiv1/domain/APIPaymentReversalRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ package domain

// APIPaymentReversalRequest represents class ApiPaymentReversalRequest
type APIPaymentReversalRequest struct {
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
OperationID *string `json:"operationId,omitempty"`
ReversalAmount *AmountData `json:"reversalAmount,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
DynamicCurrencyConversion *DccData `json:"dynamicCurrencyConversion,omitempty"`
OperationID *string `json:"operationId,omitempty"`
ReversalAmount *AmountData `json:"reversalAmount,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPIPaymentReversalRequest constructs a new APIPaymentReversalRequest instance
Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/APIRefundResponse.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package domain
type APIRefundResponse struct {
AuthorizationCode *string `json:"authorizationCode,omitempty"`
CardPaymentData *CardPaymentDataForResource `json:"cardPaymentData,omitempty"`
EmvData *[]EmvDataItem `json:"emvData,omitempty"`
OperationID *string `json:"operationId,omitempty"`
ReferencedPaymentID *string `json:"referencedPaymentId,omitempty"`
References *APIReferencesForResponses `json:"references,omitempty"`
Expand Down
7 changes: 4 additions & 3 deletions apiv1/domain/APITechnicalReversalRequest.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ package domain

// APITechnicalReversalRequest represents class ApiTechnicalReversalRequest
type APITechnicalReversalRequest struct {
OperationID *string `json:"operationId,omitempty"`
Reason *string `json:"reason,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
OperationID *string `json:"operationId,omitempty"`
Reason *string `json:"reason,omitempty"`
TerminalData *TerminalData `json:"terminalData,omitempty"`
TransactionTimestamp *string `json:"transactionTimestamp,omitempty"`
}

// NewAPITechnicalReversalRequest constructs a new APITechnicalReversalRequest instance
Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/CardDataForDcc.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ type CardDataForDcc struct {
Bin *string `json:"bin,omitempty"`
Brand *string `json:"brand,omitempty"`
CardCountryCode *string `json:"cardCountryCode,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
}

// NewCardDataForDcc constructs a new CardDataForDcc instance
Expand Down
1 change: 1 addition & 0 deletions apiv1/domain/CardPaymentData.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package domain
type CardPaymentData struct {
AllowPartialApproval *bool `json:"allowPartialApproval,omitempty"`
Brand *string `json:"brand,omitempty"`
BrandSelector *string `json:"brandSelector,omitempty"`
CaptureImmediately *bool `json:"captureImmediately,omitempty"`
CardData *PlainCardData `json:"cardData,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
Expand Down
20 changes: 20 additions & 0 deletions apiv1/domain/CardPaymentDataForBalanceInquiry.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// This file was automatically generated.

package domain

// CardPaymentDataForBalanceInquiry represents class CardPaymentDataForBalanceInquiry
type CardPaymentDataForBalanceInquiry struct {
Brand *string `json:"brand,omitempty"`
BrandSelector *string `json:"brandSelector,omitempty"`
CardData *PlainCardData `json:"cardData,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
CardholderVerificationMethod *string `json:"cardholderVerificationMethod,omitempty"`
EcommerceData *ECommerceData `json:"ecommerceData,omitempty"`
PointOfSaleData *PointOfSaleData `json:"pointOfSaleData,omitempty"`
WalletID *string `json:"walletId,omitempty"`
}

// NewCardPaymentDataForBalanceInquiry constructs a new CardPaymentDataForBalanceInquiry instance
func NewCardPaymentDataForBalanceInquiry() *CardPaymentDataForBalanceInquiry {
return &CardPaymentDataForBalanceInquiry{}
}
15 changes: 8 additions & 7 deletions apiv1/domain/CardPaymentDataForRefund.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ package domain

// CardPaymentDataForRefund represents class CardPaymentDataForRefund
type CardPaymentDataForRefund struct {
Brand *string `json:"brand,omitempty"`
CaptureImmediately *bool `json:"captureImmediately,omitempty"`
CardData *PlainCardData `json:"cardData,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
NetworkTokenData *NetworkTokenData `json:"networkTokenData,omitempty"`
PointOfSaleData *PointOfSaleData `json:"pointOfSaleData,omitempty"`
WalletID *string `json:"walletId,omitempty"`
Brand *string `json:"brand,omitempty"`
BrandSelector *string `json:"brandSelector,omitempty"`
CaptureImmediately *bool `json:"captureImmediately,omitempty"`
CardData *PlainCardData `json:"cardData,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
CardholderVerificationMethod *string `json:"cardholderVerificationMethod,omitempty"`
NetworkTokenData *NetworkTokenData `json:"networkTokenData,omitempty"`
WalletID *string `json:"walletId,omitempty"`
}

// NewCardPaymentDataForRefund constructs a new CardPaymentDataForRefund instance
Expand Down
3 changes: 1 addition & 2 deletions apiv1/domain/CardPaymentDataForResource.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ package domain

// CardPaymentDataForResource represents class CardPaymentDataForResource
type CardPaymentDataForResource struct {
Brand *string `json:"brand,omitempty"`
PointOfSaleData *PointOfSaleData `json:"pointOfSaleData,omitempty"`
Brand *string `json:"brand,omitempty"`
}

// NewCardPaymentDataForResource constructs a new CardPaymentDataForResource instance
Expand Down
6 changes: 3 additions & 3 deletions apiv1/domain/CardPaymentDataForResponse.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ package domain

// CardPaymentDataForResponse represents class CardPaymentDataForResponse
type CardPaymentDataForResponse struct {
Brand *string `json:"brand,omitempty"`
EcommerceData *ECommerceDataForResponse `json:"ecommerceData,omitempty"`
PointOfSaleData *PointOfSaleData `json:"pointOfSaleData,omitempty"`
Brand *string `json:"brand,omitempty"`
EcommerceData *ECommerceDataForResponse `json:"ecommerceData,omitempty"`
PointOfSaleData *PointOfSaleDataForResponse `json:"pointOfSaleData,omitempty"`
}

// NewCardPaymentDataForResponse constructs a new CardPaymentDataForResponse instance
Expand Down
2 changes: 2 additions & 0 deletions apiv1/domain/CardPaymentDataForVerification.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ package domain
// CardPaymentDataForVerification represents class CardPaymentDataForVerification
type CardPaymentDataForVerification struct {
Brand *string `json:"brand,omitempty"`
BrandSelector *string `json:"brandSelector,omitempty"`
CardData *PlainCardData `json:"cardData,omitempty"`
CardEntryMode *string `json:"cardEntryMode,omitempty"`
CardOnFileData *CardOnFileData `json:"cardOnFileData,omitempty"`
CardholderVerificationMethod *string `json:"cardholderVerificationMethod,omitempty"`
EcommerceData *ECommerceDataForAccountVerification `json:"ecommerceData,omitempty"`
NetworkTokenData *NetworkTokenData `json:"networkTokenData,omitempty"`
PointOfSaleData *PointOfSaleData `json:"pointOfSaleData,omitempty"`
WalletID *string `json:"walletId,omitempty"`
}

Expand Down
14 changes: 14 additions & 0 deletions apiv1/domain/EmvDataItem.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// This file was automatically generated.

package domain

// EmvDataItem represents class EmvDataItem
type EmvDataItem struct {
Tag *string `json:"tag,omitempty"`
Value *string `json:"value,omitempty"`
}

// NewEmvDataItem constructs a new EmvDataItem instance
func NewEmvDataItem() *EmvDataItem {
return &EmvDataItem{}
}
5 changes: 2 additions & 3 deletions apiv1/domain/PaymentReferences.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ package domain

// PaymentReferences represents class PaymentReferences
type PaymentReferences struct {
DynamicDescriptor *string `json:"dynamicDescriptor,omitempty"`
MerchantReference *string `json:"merchantReference,omitempty"`
RetrievalReferenceNumber *string `json:"retrievalReferenceNumber,omitempty"`
DynamicDescriptor *string `json:"dynamicDescriptor,omitempty"`
MerchantReference *string `json:"merchantReference,omitempty"`
}

// NewPaymentReferences constructs a new PaymentReferences instance
Expand Down
Loading

0 comments on commit 1f07f51

Please sign in to comment.