authorizenet

package
v1.1.518 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AVSResultCode added in v1.1.500

type AVSResultCode string
const (
	AVSResultNotPresent                AVSResultCode = "B"
	AVSResultError                     AVSResultCode = "E"
	AVSResultNotApplicable             AVSResultCode = "P" // AVS is not applicable for this transaction.
	AVSResultRetry                     AVSResultCode = "R" // AVS was unavailable or timed out.
	AVSResultNotSupportedIssuer        AVSResultCode = "S"
	AVSResultInfoUnavailable           AVSResultCode = "U" // Address information is unavailable.
	AVSResultPostMatchAddressMatch     AVSResultCode = "Y" // The street address and postal code matched.
	AVSResultNoMatch                   AVSResultCode = "N"
	AVSResultPostNoMatchAddressMatch   AVSResultCode = "A"
	AVSResultZipMatchAddressNoMatch    AVSResultCode = "W"
	AVSResultZipMatchAddressMatch      AVSResultCode = "X" // Both the street address and the US ZIP+4 code matched.
	AVSResultPostMatchAddressNoMatch   AVSResultCode = "Z"
	AVSResultNotSupportedInternational AVSResultCode = "G" // The card was issued by a bank outside the U.S. and does not support AVS.
)

type AuthorizeNetClient

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

AuthorizeNetClient uses merchant name and transaction key to process requests. Optionally can provide custom http clients

func NewClient

func NewClient(merchantName string, transactionKey string, environment common.Environment) *AuthorizeNetClient

NewClient uses authentication above with a default http client

func NewWithHttpClient

func NewWithHttpClient(merchantName string, transactionKey string, environment common.Environment, httpClient *http.Client) *AuthorizeNetClient

NewWithHttpClient uses authentication with custom http client

func (*AuthorizeNetClient) Authorize

Authorize a transaction for specified amount using Auth.net REST APIs

func (*AuthorizeNetClient) Capture

func (client *AuthorizeNetClient) Capture(request *sleet.CaptureRequest) (*sleet.CaptureResponse, error)

Capture an authorized transaction by transaction reference using the transactionTypePriorAuthCapture flag

func (*AuthorizeNetClient) Refund

func (client *AuthorizeNetClient) Refund(request *sleet.RefundRequest) (*sleet.RefundResponse, error)

Refund a captured transaction with amount and captured transaction reference

func (*AuthorizeNetClient) Void

func (client *AuthorizeNetClient) Void(request *sleet.VoidRequest) (*sleet.VoidResponse, error)

Void an existing authorized transaction

type BillingAddress

type BillingAddress struct {
	FirstName string  `json:"firstName"`
	LastName  string  `json:"lastName"`
	Company   string  `json:"company"`
	Address   *string `json:"address"`
	City      *string `json:"city"`
	State     *string `json:"state"`
	Zip       *string `json:"zip"`
	Country   *string `json:"country"`
}

BillingAddress is used in TransactionRequest for making an auth call

type CAVVResultCode added in v1.1.500

type CAVVResultCode string
const (
	CAVVResultBadRequest        CAVVResultCode = "0"
	CAVVResultFailed            CAVVResultCode = "1"
	CAVVResultPassed            CAVVResultCode = "2"
	CAVVResultAttemptIncomplete CAVVResultCode = "3"
	CAVVResultSytemError        CAVVResultCode = "4"
)

type CVVResultCode added in v1.1.500

type CVVResultCode string
const (
	CVVResultMatched         CVVResultCode = "M"
	CVVResultNoMatch         CVVResultCode = "N"
	CVVResultNotProcessed    CVVResultCode = "P"
	CVVResultNotPresent      CVVResultCode = "S"
	CVVResultUnableToProcess CVVResultCode = "U"
)

type CreateTransactionRequest

type CreateTransactionRequest struct {
	MerchantAuthentication MerchantAuthentication `json:"merchantAuthentication"`
	RefID                  *string                `json:"refId,omitempty"`
	TransactionRequest     TransactionRequest     `json:"transactionRequest"`
}

CreateTransactionRequest specifies the merchant authentication to be used for request as well as transaction details specified in transactionRequest

type CreditCard

type CreditCard struct {
	CardNumber     string  `json:"cardNumber"`
	ExpirationDate string  `json:"expirationDate"`
	CardCode       *string `json:"cardCode,omitempty"`
}

CreditCard is raw cc info

type Error

type Error struct {
	ErrorCode string `json:"errorCode"`
	ErrorText string `json:"errorText"`
}

Error specifies a code and text explaining what happened

type MerchantAuthentication

type MerchantAuthentication struct {
	Name           string `json:"name"`
	TransactionKey string `json:"transactionKey"`
}

MerchantAuthentication is the name/key pair to authenticate Auth.net calls

type Message

type Message struct {
	Code string `json:"code"`
	Text string `json:"text"`
}

Message is similar to Error with code that maps to Auth.net internals and text for human readability

type Messages

type Messages struct {
	ResultCode ResultCode `json:"resultCode"`
	Message    []Message  `json:"message"`
}

Messages is used to augment responses with codes and readable messages

type Payment

type Payment struct {
	CreditCard CreditCard `json:"creditCard"`
}

Payment specifies the credit card to be authorized (only payment option for now)

type Request

type Request struct {
	CreateTransactionRequest CreateTransactionRequest `json:"createTransactionRequest"`
}

Request contains a createTransactionRequest for authorizations

type Response

type Response struct {
	TransactionResponse TransactionResponse `json:"transactionResponse"`
	RefID               string              `json:"refId"`
	Messsages           Messages            `json:"messages"`
}

Response is a generic Auth.net response

type ResponseCode added in v1.1.500

type ResponseCode string
const (
	ResponseCodeApproved ResponseCode = "1"
	ResponseCodeDeclined ResponseCode = "2"
	ResponseCodeError    ResponseCode = "3"
	ResponseCodeHeld     ResponseCode = "4"
)

type ResultCode added in v1.1.500

type ResultCode string
const (
	ResultCodeOK    ResultCode = "Ok"
	ResultCodeError ResultCode = "Error"
)

type TransactionRequest

type TransactionRequest struct {
	TransactionType  TransactionType `json:"transactionType"`
	Amount           *string         `json:"amount,omitempty"`
	Payment          *Payment        `json:"payment,omitempty"`
	BillingAddress   *BillingAddress `json:"billTo,omitempty"`
	RefTransactionID *string         `json:"refTransId,omitempty"`
}

TransactionRequest has the raw credit card info as Payment and amount to authorize

type TransactionResponse

type TransactionResponse struct {
	ResponseCode   ResponseCode                 `json:"responseCode"`
	AuthCode       string                       `json:"authCode"`
	AVSResultCode  AVSResultCode                `json:"avsResultCode"`
	CVVResultCode  CVVResultCode                `json:"cvvResultCode"`
	CAVVResultCode CAVVResultCode               `json:"cavvResultCode"`
	TransID        string                       `json:"transId"`
	RefTransID     string                       `json:"refTransID"`
	TransHash      string                       `json:"transHash"`
	AccountNumber  string                       `json:"accountNumber"`
	AccountType    string                       `json:"accountType"`
	Messages       []TransactionResponseMessage `json:"messages"`
	Errors         []Error                      `json:"errors"`
}

TransactionResponse contains the information from issuer about AVS, CVV and whether or not authorization was successful

type TransactionResponseMessage

type TransactionResponseMessage struct {
	Code        string `json:"code"`
	Description string `json:"description"`
}

TransactionResponseMessage contains additional information about transaction result from processor

type TransactionType added in v1.1.500

type TransactionType string
const (
	TransactionTypeAuthOnly         TransactionType = "authOnlyTransaction"
	TransactionTypeVoid             TransactionType = "voidTransaction"
	TransactionTypePriorAuthCapture TransactionType = "priorAuthCaptureTransaction"
	TransactionTypeRefund           TransactionType = "refundTransaction"
)

Jump to

Keyboard shortcuts

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