Documentation ¶
Index ¶
- Constants
- func ConvertAmount(amount float64) int64
- func GenerateSignatureFromBody(cert string, krAnswer string) string
- type Answer
- type ApiMode
- type Authentication
- type BillingDetails
- type Card
- type CardOptions
- type CartItemInfo
- type Customer
- type Device
- type OrderDetails
- type PayZen
- func (this *PayZen) PaymentCancelOrRefund(transactionUuid string, amount float64) (*PayZenResult, error)
- func (this *PayZen) PaymentCapture(transactionUuid string) (*PayZenResult, error)
- func (this *PayZen) PaymentCreate(payment *Payment) (*PayZenResult, error)
- func (this *PayZen) SetDebug()
- func (this *PayZen) SetValidationError(key string, value string)
- func (this *PayZen) SubscriptionCancel(subscriptionId string, paymentMethodToken string) (*PayZenResult, error)
- func (this *PayZen) SubscriptionCreate(subscription *Subscription) (*PayZenResult, error)
- func (this *PayZen) SubscriptionGet(subscriptionId string, paymentMethodToken string) (*PayZenResult, error)
- func (this *PayZen) SubscriptionUpdate(subscription *Subscription) (*PayZenResult, error)
- func (this *PayZen) TokenCancel(paymentMethodToken string) (*PayZenResult, error)
- func (this *PayZen) TokenCreate(payment *Payment) (*PayZenResult, error)
- func (this *PayZen) TokenGet(paymentMethodToken string) (*PayZenResult, error)
- func (this *PayZen) TokenUpdate(payment *Payment) (*PayZenResult, error)
- func (this *PayZen) TransactionGet(transactionUuid string) (*PayZenResult, error)
- type PayZenResult
- func (this *PayZenResult) BuildResult()
- func (this *PayZenResult) GetHttpRequest() string
- func (this *PayZenResult) GetHttpResponse() string
- func (this *PayZenResult) GetResponse() *Answer
- func (this *PayZenResult) GetTransaction() *Transaction
- func (this *PayZenResult) GetTransactions() []*Transaction
- func (this *PayZenResult) IsCancelled() bool
- func (this *PayZenResult) IsResponse() bool
- func (this *PayZenResult) IsTransaction() bool
- func (this *PayZenResult) SetHttpRequest(httpRequest string)
- func (this *PayZenResult) SetHttpResponse(httpResponse string)
- type Payment
- type PaymentResponse
- type PaymentStatus
- type ShippingDetails
- type ShoppingCart
- type Subscription
- type SubscriptionDetails
- type Transaction
- type TransactionDetails
- type TransactionOptions
- type TransactionStatus
- type TransationResponse
- type Webhook
- type WebhookData
Constants ¶
View Source
const (
ApiUrl = "https://api.payzen.com.br/api-payment/V4"
)
Variables ¶
This section is empty.
Functions ¶
func ConvertAmount ¶
Types ¶
type Answer ¶
type Answer struct { OrderStatus string `json:"orderStatus"` // PAID, UNPAID, RUNNING, PARTIALLY_PAID OrderCycle string `json:"orderCycle"` // OPEN, CLOSED ShopId string `json:"shopId"` OrderDetails *OrderDetails `json:"orderDetails"` Transactions []*Transaction `json:"transactions"` TransactionDetails *Transaction `json:"transactionDetails"` DetailedErrorCode string `json:"detailedErrorCode"` // erro da adquirente DetailedErrorMessage string `json:"detailedErrorMessage"` // erro da adquirente ErrorCode string `json:"errorCode"` // erro payzen ErrorMessage string `json:"errorMessage"` // erro payzen CancellationDate string `json:"cancellationDate"` // token cancelado ResponseCode int64 `json:"responseCode,omitempty"` PaymentMethodToken string `json:"paymentMethodToken"` SubscriptionId string `json:"subscriptionId"` OrderId string `json:"orderId"` //: "55d979c6-e3c8-45b1-bc63-a5d3f4c1969b", Description string `json:"description"` //: "", Rrule string `json:"rrule"` //: "RRULE:COUNT=12;FREQ=MONTHLY;BYMONTHDAY=28,29,30,31;BYSETPOS=-1", EffectDate string `json:"effectDate"` //: "2021-07-30T18:46:12+00:00", CancelDate string `json:"cancelDate"` //: null, InitialAmount int64 `json:"initialAmount,omitempty"` //: null, InitialAmountNumber int64 `json:"initialAmountNumber,omitempty"` //: null, PastPaymentsNumber int64 `json:"pastPaymentsNumber,omitempty"` //: 0, TotalPaymentsNumber int64 `json:"totalPaymentsNumber,omitempty"` //: 12, Metadata string `json:"metadata"` //: null, }
func (*Answer) IsCancelled ¶
type Authentication ¶
func NewAuthentication ¶
func NewAuthentication(username string, passwordProd string, passwordTest string) *Authentication
func (*Authentication) CreateBasicAuth ¶
func (this *Authentication) CreateBasicAuth(mode ApiMode) string
type BillingDetails ¶
type BillingDetails struct { Address string `json:"address" valid:""` Address2 string `json:"address2,omitempty"` StreetNumber string `json:"streetNumber" valid:""` ZipCode string `json:"zipCode" valid:""` CellPhoneNumber string `json:"cellPhoneNumber,omitempty"` PhoneNumber string `json:"phoneNumber,omitempty"` City string `json:"city" valid:""` State string `json:"state" valid:""` Country string `json:"country" valid:""` District string `json:"district" valid:""` FirstName string `json:"firstName" valid:"Required"` LastName string `json:"lastName" valid:"Required"` IdentityCode string `json:"identityCode" valid:"Required"` // documento Category string `json:"category"` // PRIVATE, COMPANY LegalName string `json:"legalName,omitempty"` // razão social Language string `json:"language"` // PT }
func NewBillingDetails ¶
func NewBillingDetails() *BillingDetails
type Card ¶
type Card struct { PaymentMethodType string `json:"paymentMethodType" valid:"Required"` // CARD Number string `json:"pan" valid:"Required"` // card number ExpiryMonth int64 `json:"expiryMonth" valid:"Required"` ExpiryYear int64 `json:"expiryYear" valid:"Required"` SecurityCode string `json:"securityCode" valid:"Required"` Brand string `json:"brand" valid:"Required"` CardHolderName string `json:"cardHolderName" valid:"Required"` FirstInstallmentDelay int64 `json:"firstInstallmentDelay,omitempty"` InstallmentNumber int64 `json:"installmentNumber"` PaymentMethodToken string `json:"paymentMethodToken,omitempty"` }
type CardOptions ¶
type CardOptions struct { ManualValidation string `json:"manualValidation"` // NO CaptureDelay int64 `json:"captureDelay"` FirstInstallmentDelay int64 `json:"firstInstallmentDelay"` // Número de meses adiados a serem aplicados à primeira parcela para um pagamento parcelado. InstallmentNumber int64 `json:"installmentNumber"` // parcelas Retry int64 `json:"retry"` // default 3 }
type CartItemInfo ¶
type CartItemInfo struct { ProductLabel string `json:"productLabel,omitempty"` /* FOOD_AND_GROCERY Produtos alimentares e de mercearia AUTOMOTIVE Automóvel / Moto ENTERTAINMENT Lazer / Cultura HOME_AND_GARDEN Casa e jardim HOME_APPLIANCE Equipamentos para a casa AUCTION_AND_GROUP_BUYING Leilões e compras em grupo FLOWERS_AND_GIFTS Flores e presentes COMPUTER_AND_SOFTWARE Computadores e softwares HEALTH_AND_BEAUTY Saúde e beleza SERVICE_FOR_INDIVIDUAL Serviços para pessoa física SERVICE_FOR_BUSINESS Serviços para pessoa jurídica SPORTS Esportes CLOTHING_AND_ACCESSORIES Roupas e acessórios TRAVEL Viagem HOME_AUDIO_PHOTO_VIDEO Som, imagem e vídeo TELEPHONY Telefonia */ ProductType string `json:"productType,omitempty"` ProductRef string `json:"productRef,omitempty"` ProductQty string `json:"productQty,omitempty"` ProductAmount string `json:"productAmount,omitempty"` ProductVat string `json:"productVat,omitempty"` // imposto }
func NewCartItemInfo ¶
func NewCartItemInfo() *CartItemInfo
type Customer ¶
type Customer struct { Email string `json:"email" valid:"Required"` IpAddress string `json:"ipAddress,omitempty"` Reference string `json:"reference,omitempty"` BillingDetails *BillingDetails `json:"billingDetails"` ShippingDetails *ShippingDetails `json:"shippingDetails"` ShoppingCart *ShoppingCart `json:"shoppingCart"` }
func NewCustomer ¶
func NewCustomer() *Customer
type Device ¶
type Device struct { DeviceType string `json:"deviceType" valid:"Required"` AcceptHeader string `json:"acceptHeader" valid:"Required"` ColorDepth string `json:"colorDepth" valid:"Required"` JavaEnabled bool `json:"javaEnabled" valid:"Required"` Language string `json:"language" valid:"Required"` ScreenHeight int64 `json:"screenHeight" valid:"Required"` ScreenWidth int64 `json:"screenWidth" valid:"Required"` TimeZoneOffset int64 `json:"timeZoneOffset" valid:""` UserAgent string `json:"userAgent" valid:"Required"` Ip string `json:"ip,omitempty"` }
type OrderDetails ¶
type PayZen ¶
type PayZen struct { Mode ApiMode Authentication *Authentication EntityValidator *validator.EntityValidator EntityValidatorResult *validator.EntityValidatorResult ValidationErrors map[string]string HasValidationError bool Lang string Debug bool }
func (*PayZen) PaymentCancelOrRefund ¶
func (this *PayZen) PaymentCancelOrRefund(transactionUuid string, amount float64) (*PayZenResult, error)
func (*PayZen) PaymentCapture ¶
func (this *PayZen) PaymentCapture(transactionUuid string) (*PayZenResult, error)
func (*PayZen) PaymentCreate ¶
func (this *PayZen) PaymentCreate(payment *Payment) (*PayZenResult, error)
func (*PayZen) SetValidationError ¶
func (*PayZen) SubscriptionCancel ¶
func (this *PayZen) SubscriptionCancel(subscriptionId string, paymentMethodToken string) (*PayZenResult, error)
func (*PayZen) SubscriptionCreate ¶
func (this *PayZen) SubscriptionCreate(subscription *Subscription) (*PayZenResult, error)
func (*PayZen) SubscriptionGet ¶
func (this *PayZen) SubscriptionGet(subscriptionId string, paymentMethodToken string) (*PayZenResult, error)
func (*PayZen) SubscriptionUpdate ¶
func (this *PayZen) SubscriptionUpdate(subscription *Subscription) (*PayZenResult, error)
func (*PayZen) TokenCancel ¶
func (this *PayZen) TokenCancel(paymentMethodToken string) (*PayZenResult, error)
func (*PayZen) TokenCreate ¶
func (this *PayZen) TokenCreate(payment *Payment) (*PayZenResult, error)
func (*PayZen) TokenGet ¶
func (this *PayZen) TokenGet(paymentMethodToken string) (*PayZenResult, error)
func (*PayZen) TokenUpdate ¶
func (this *PayZen) TokenUpdate(payment *Payment) (*PayZenResult, error)
func (*PayZen) TransactionGet ¶
func (this *PayZen) TransactionGet(transactionUuid string) (*PayZenResult, error)
type PayZenResult ¶
type PayZenResult struct { Response *PaymentResponse Transaction *TransationResponse Errors map[string]string Message string Error bool EmptyResponseSuccess bool }
func NewPayZenResultWithResponse ¶
func NewPayZenResultWithResponse(response *PaymentResponse) *PayZenResult
func NewPayZenResultWithTransaction ¶
func NewPayZenResultWithTransaction(transaction *TransationResponse) *PayZenResult
func (*PayZenResult) BuildResult ¶
func (this *PayZenResult) BuildResult()
func (*PayZenResult) GetHttpRequest ¶
func (this *PayZenResult) GetHttpRequest() string
func (*PayZenResult) GetHttpResponse ¶
func (this *PayZenResult) GetHttpResponse() string
func (*PayZenResult) GetResponse ¶
func (this *PayZenResult) GetResponse() *Answer
func (*PayZenResult) GetTransaction ¶
func (this *PayZenResult) GetTransaction() *Transaction
func (*PayZenResult) GetTransactions ¶
func (this *PayZenResult) GetTransactions() []*Transaction
func (*PayZenResult) IsCancelled ¶
func (this *PayZenResult) IsCancelled() bool
func (*PayZenResult) IsResponse ¶
func (this *PayZenResult) IsResponse() bool
func (*PayZenResult) IsTransaction ¶
func (this *PayZenResult) IsTransaction() bool
func (*PayZenResult) SetHttpRequest ¶
func (this *PayZenResult) SetHttpRequest(httpRequest string)
func (*PayZenResult) SetHttpResponse ¶
func (this *PayZenResult) SetHttpResponse(httpResponse string)
type Payment ¶
type Payment struct { PaymentOrderId string `json:"paymentOrderId,omitempty"` OrderId string `json:"orderId" valid:"Required"` Amount int64 `json:"amount" valid:"Required"` Currency string `json:"currency" valid:"Required"` IpnTargetUrl string `json:"ipnTargetUrl,omitempty"` // URL de notificação estantânea PaymentMethodToken string `json:"paymentMethodToken,omitempty"` // topken de um cartão Customer *Customer `json:"customer"` TransactionOptions *TransactionOptions `json:"transactionOptions,omitempty"` FormAction string `json:"formAction" valid:"Required"` // PAYMENT PaymentForms []*Card `json:"paymentForms"` Device *Device `json:"device"` Metadata map[string]string `json:"metadata,omitempty"` FingerPrintId string `json:"fingerPrintId,omitempty"` Card *Card `json:"-"` }
func NewPayment ¶
type PaymentResponse ¶
type PaymentResponse struct { Answer *Answer `json:"answer"` ApplicationProvider string `json:"applicationProvider"` //"PAYZEN", ApplicationVersion string `json:"applicationVersion"` //"5.26.0", Metadata string `json:"metadata"` //null, Mode string `json:"mode"` //"TEST", ServerDate string `json:"serverDate"` //"2021-07-29T22:15:42+00:00", ServerUrl string `json:"serverUrl"` //"https://api.payzen.com.br", Status string `json:"status"` //"ERROR", Ticket string `json:"ticket"` //"a4609adcc22e429ca6cd34526d48cccf", Version string `json:"version"` //"V4", WebService string `json:"webService"` //"PCI/Charge/CreateToken" Response string Request string }
type PaymentStatus ¶
type PaymentStatus int64
const ( PAID PaymentStatus = 1 + iota UNPAID RUNNING PARTIALLY_PAID )
type ShippingDetails ¶
type ShippingDetails struct { Category string `json:"category,omitempty"` // PRIVATE or COMPANY FirstName string `json:"firstName" valid:"Required"` LastName string `json:"lastName" valid:"Required"` PhoneNumber string `json:"phoneNumber,omitempty"` StreetNumber string `json:"streetNumber" valid:""` Address string `json:"address" valid:"Required"` Address2 string `json:"address2,omitempty"` District string `json:"district" valid:"Required"` ZipCode string `json:"zipCode" valid:""` City string `json:"city" valid:"Required"` State string `json:"state" valid:"Required"` Country string `json:"country" valid:"Required"` DeliveryCompanyName string `json:"deliveryCompanyName,omitempty"` // PRIVATE or COMPANY ShippingSpeed string `json:"shippingSpeed,omitempty"` // STANDARD EXPRESS PRIORITY ShippingMethod string `json:"shippingMethod,omitempty"` // RECLAIM_IN_SHOP (retirada na loja) VERIFIED_ADDRESS (entrega no endereço) LegalName string `json:"legalName,omitempty"` IdentityCode string `json:"identityCode,omitempty"` }
func NewShippingDetails ¶
func NewShippingDetails() *ShippingDetails
type ShoppingCart ¶
type ShoppingCart struct { InsuranceAmount string `json:"insuranceAmount,omitempty"` // seguro ShippingAmount string `json:"shippingAmount,omitempty"` // despesas TaxAmount string `json:"taxAmount,omitempty"` // impostos CartItemInfo []*CartItemInfo `json:"cartItemInfo"` }
func NewShoppingCart ¶
func NewShoppingCart() *ShoppingCart
type Subscription ¶
type Subscription struct { SubscriptionId string `json:"subscriptionId,omitempty"` OrderId string `json:"orderId" valid:"Required"` Amount int64 `json:"amount" valid:"Required"` Currency string `json:"currency" valid:"Required"` PaymentMethodToken string `json:"paymentMethodToken" valid:"Required"` //subscription Comment string `json:"comment"` Description string `json:"description"` EffectDate string `json:"effectDate" valid:"Required"` // date de inicio da recorrencia InitialAmount int64 `json:"initialAmount,omitempty"` // Valor das primeiras parcelas. O valor deve ser um número inteiro positivo (ex: 1234 para R$ 12,34). InitialAmountNumber int64 `json:"initialAmountNumber,omitempty"` // Quantidade de parcelas às quais aplicar o valor definido em initialAmount. Metadata map[string]string `json:"metadata,omitempty"` FingerPrintId string `json:"fingerPrintId,omitempty"` Rrule string `json:"rrule" valid:"Required"` TransactionOptions *TransactionOptions `json:"transactionOptions,omitempty"` Count int64 `json:"-"` Cycle api.SubscriptionCycle `json:"-"` PaymentAtLastDayOfMonth bool `json:"-"` PaymentAtDayOfMonth int64 `json:"-"` }
func NewSubscription ¶
func (*Subscription) BuildRule ¶
func (this *Subscription) BuildRule() string
func (*Subscription) SetAmount ¶
func (this *Subscription) SetAmount(amount float64)
func (*Subscription) SetInitialAmount ¶
func (this *Subscription) SetInitialAmount(initialAmount float64)
func (*Subscription) SetRule ¶
func (this *Subscription) SetRule(cycle api.SubscriptionCycle, count int64, lastDayOfMonth bool, dayOfMonth int64)
type SubscriptionDetails ¶
type SubscriptionDetails struct {
SubscriptionId string `json:"subscriptionId"`
}
type Transaction ¶
type Transaction struct { Amount int64 `json:"amount"` Currency string `json:"currency"` DetailedErrorCode string `json:"detailedErrorCode"` // erro da adquirente DetailedErrorMessage string `json:"detailedErrorMessage"` // erro da adquirente ErrorCode string `json:"errorCode"` // erro payzen ErrorMessage string `json:"errorMessage"` // erro payzen DetailedStatus string `json:"detailedStatus"` // OperationType string `json:"operationType"` // DEBIT,CREDIT,VERIFICATION Uuid string `json:"uuid"` PaymentMethodToken string `json:"paymentMethodToken"` PaymentMethodType string `json:"paymentMethodType"` // CARD ShopId string `json:"shopId"` Status string `json:"status"` TransactionDetails *TransactionDetails `json:"transactionDetails"` TransactionStatus TransactionStatus PaymentStatus PaymentStatus ResponseCode int64 `json:"responseCode,omitempty"` // contains filtered or unexported fields }
func (*Transaction) BuildStatus ¶
func (this *Transaction) BuildStatus()
func (*Transaction) GetSOAPStatus ¶
func (this *Transaction) GetSOAPStatus() api.TransactionStatus
func (*Transaction) HasError ¶
func (this *Transaction) HasError() bool
type TransactionDetails ¶
type TransactionDetails struct { ExternalTransactionId string `json:"externalTransactionId"` // nsu Nsu string `json:"nsu"` // nsu SubscriptionDetails *SubscriptionDetails `json:"subscriptionDetails"` }
type TransactionOptions ¶
type TransactionOptions struct {
CardOptions *CardOptions `json:"cardOptions"`
}
type TransactionStatus ¶
type TransactionStatus int64
const ( ACCEPTED TransactionStatus = 1 + iota AUTHORISED AUTHORISED_TO_VALIDATE CANCELLED CAPTURED EXPIRED PARTIALLY_AUTHORISED REFUSED UNDER_VERIFICATION WAITING_AUTHORISATION WAITING_AUTHORISATION_TO_VALIDATE ERROR EMPTY UNKNOW )
type TransationResponse ¶
type TransationResponse struct { Answer *Transaction `json:"answer"` ApplicationProvider string `json:"applicationProvider"` //"PAYZEN", ApplicationVersion string `json:"applicationVersion"` //"5.26.0", Metadata string `json:"metadata"` //null, Mode string `json:"mode"` //"TEST", ServerDate string `json:"serverDate"` //"2021-07-29T22:15:42+00:00", ServerUrl string `json:"serverUrl"` //"https://api.payzen.com.br", Status string `json:"status"` //"ERROR", Ticket string `json:"ticket"` //"a4609adcc22e429ca6cd34526d48cccf", Version string `json:"version"` //"V4", WebService string `json:"webService"` //"PCI/Charge/CreateToken" Response string Request string }
type Webhook ¶
type Webhook struct { JsonParser *support.JsonParser Debug bool EntityValidator *validator.EntityValidator ValidationErrors map[string]string HasValidationError bool }
func NewDefaultWebhook ¶
func NewDefaultWebhook() *Webhook
func NewWebhook ¶
type WebhookData ¶
type WebhookData struct { Answer *Answer `json:"kr-answer" valid:"Required"` Response *PayZenResult KrAnswerType string `json:"kr-answer-type" valid:"Required"` KrAnswer string KrHash string `json:"kr-hash" valid:"Required"` KrHashAlgorithm string `json:"kr-hash-algorithm" valid:"Required"` KrHashKey string `json:"kr-hash-key" valid:"Required"` Raw string `json:"row" valid:"Required"` }
func NewWebhookData ¶
func NewWebhookData() *WebhookData
Click to show internal directories.
Click to hide internal directories.