Documentation
¶
Index ¶
- Constants
- Variables
- func IsTrustedIP(ip string) bool
- func VerifyHMAC(body []byte, contentHMAC, apiSecret string) error
- type ApplePaySession
- type ApplePaySessionResponse
- type BaseResponse
- type CancelNotification
- type CancelOrderRequest
- type CheckNotification
- type Client
- func (c *Client) AuthorizeCryptogramPayment(cpr *CryptogramPaymentRequest) (*Payment3DSResponse, error)
- func (c *Client) AuthorizeTokenPayment(tpr *TokenPaymentRequest) (*PaymentResponse, error)
- func (c *Client) CancelOrder(cor *CancelOrderRequest) (*BaseResponse, error)
- func (c *Client) CancelSubscription(sur *SubscriptionCancelRequest) (*BaseResponse, error)
- func (c *Client) ChargeCryptogramPayment(cpr *CryptogramPaymentRequest) (*PaymentResponse, error)
- func (c *Client) ChargeCryptogramPayout(cpr *CryptogramPayoutRequest) (*PaymentResponse, error)
- func (c *Client) ChargeTokenPayment(tpr *TokenPaymentRequest) (*PaymentResponse, error)
- func (c *Client) ChargeTokenPayout(tpr *TokenPayoutRequest) (*PaymentResponse, error)
- func (c *Client) Confirm3DSPayment(confirm3DS *Confirm3DSRequest) (*PaymentResponse, error)
- func (c *Client) ConfirmPayment(confirm *ConfirmPaymentRequest) (*BaseResponse, error)
- func (c *Client) CreateOrder(lpr *LinkPaymentRequest) (*OrderResponse, error)
- func (c *Client) CreateSubscription(scr *SubscriptionCreateRequest) (*SubscriptionResponse, error)
- func (c *Client) FindPaymentByInvoiceID(fpr *FindPaymentRequest) (*PaymentResponse, error)
- func (c *Client) GetNotificationSettings(notificationType NotificationType) (*NotificationSettingsResponse, error)
- func (c *Client) GetSubscription(sgr *SubscriptionGetRequest) (*SubscriptionResponse, error)
- func (c *Client) GetSubscriptionsList(slr *SubscriptionListRequest) (*SubscriptionsListResponse, error)
- func (c *Client) Payment(gpr *GetPaymentRequest) (*PaymentResponse, error)
- func (c *Client) PaymentsList(plr *PaymentsListRequest) (*PaymentsListResponse, error)
- func (c *Client) PaymentsListV2(plr *PaymentsListV2Request) (*PaymentsListV2Response, error)
- func (c *Client) Ping() (*BaseResponse, error)
- func (c *Client) RefundPayment(rpp *RefundPaymentRequest) (*BaseResponse, error)
- func (c *Client) StartApplePaySession(validationUrl, paymentUrl string) (*ApplePaySessionResponse, error)
- func (c *Client) TokensList(tlr *TokensListRequest) (*TokensListResponse, error)
- func (c *Client) UpdateNotificationSettings(notificationType NotificationType, settings *NotificationSettings) (*BaseResponse, error)
- func (c *Client) UpdateSubscription(sur *SubscriptionUpdateRequest) (*SubscriptionResponse, error)
- func (c *Client) VoidPayment(vpr *VoidPaymentRequest) (*BaseResponse, error)
- type Config
- type Confirm3DSRequest
- type ConfirmNotification
- type ConfirmPaymentRequest
- type CryptogramPaymentRequest
- type CryptogramPayoutRequest
- type CurrencyCode
- type FailNotification
- type FindPaymentRequest
- type FiscalDataOperator
- type GetPaymentRequest
- type LanguageCode
- type LinkPaymentRequest
- type NotificationSettings
- type NotificationSettingsResponse
- type NotificationType
- type OperationType
- type OrderModel
- type OrderResponse
- type PayNotification
- type Payer
- type Payment
- type Payment3DSModel
- type Payment3DSResponse
- type PaymentModel
- type PaymentResponse
- type PaymentStatus
- type PaymentsListRequest
- type PaymentsListResponse
- type PaymentsListV2Request
- type PaymentsListV2Response
- type Receiver
- type RecurrentNotification
- type RefundNotification
- type RefundPaymentRequest
- type Subscription
- type SubscriptionCancelRequest
- type SubscriptionCreateRequest
- type SubscriptionGetRequest
- type SubscriptionListRequest
- type SubscriptionResponse
- type SubscriptionStatus
- type SubscriptionUpdateRequest
- type SubscriptionsListResponse
- type TimeZone
- type Token
- type TokenPaymentRequest
- type TokenPayoutRequest
- type TokensListRequest
- type TokensListResponse
- type TransactionStatus
- type VoidPaymentRequest
Constants ¶
const ( ReferToCardIssuer = 5001 // Отказ эмитента проводить онлайн-операцию. Свяжитесь с вашим банком или воспользуйтесь другой картой. InvalidMerchant = 5003 // Отказ эмитента проводить онлайн-операцию. Свяжитесь с вашим банком или воспользуйтесь другой картой. PickUpCard = 5004 // Карта потеряна. Свяжитесь с вашим банком или воспользуйтесь другой картой. DoNotHonor = 5005 // Отказ эмитента без объяснения причин. Error = 5006 // Отказ сети проводить операцию или неправильный CVV-код. Проверьте правильность введенных данных карты или воспользуйтесь другой картой. PickUpCardSpecialConditions = 5007 // Карта потеряна. Свяжитесь с вашим банком или воспользуйтесь другой картой. InvalidTransaction = 5012 // Карта не предназначена для онлайн-платежей. Воспользуйтесь другой картой или свяжитесь с банком, выпустившим карту. AmountError = 5013 // Слишком маленькая или слишком большая сумма операции. Проверьте корректность суммы. InvalidCardNumber = 5014 // Некорректный номер карты. Проверьте правильность введенных данных карты или воспользуйтесь другой картой. NoSuchIssuer = 5015 // Эмитент не найден. Проверьте правильность введенных данных карты или воспользуйтесь другой картой. CustomerCancellation = 5017 // Отказ по желанию держателя карты. Воспользуйтесь другой картой. TransactionError = 5019 // Отказ эмитента без объяснения причин. FormatError = 5030 // Ошибка на стороне эквайера — неверно сформирована транзакция. Повторите попытку позже. BankNotSupportedBySwitch = 5031 // Неизвестный эмитент карты. Воспользуйтесь другой картой. ExpiredCardPickup = 5033 // Истек срок утери карты. Свяжитесь с вашим банком или воспользуйтесь другой картой. SuspectedFraud = 5034 // Отказ эмитента — подозрение на мошенничество. Свяжитесь с вашим банком или воспользуйтесь другой картой. RestrictedCard = 5036 // Карта не предназначена для платежей. Платежи для этой карты запрещены. Попробуйте другую карту. LostCard = 5041 // Карта потеряна. Свяжитесь с вашим банком или воспользуйтесь другой картой. StolenCard = 5043 // Карта украдена. Свяжитесь с вашим банком или воспользуйтесь другой картой. InsufficientFunds = 5051 // Недостаточно средств. Недостаточно средств на карте. ExpiredCard = 5054 // Карта просрочена или неверно указан срок действия. Проверьте правильность введенных данных карты или воспользуйтесь другой картой. InvalidPIN = 5055 // Неверный PIN-код. Воспользуйтесь другой картой. TransactionNotPermitted = 5057 // Ограничение на карте. TransactionNotPermittedToCard = 5058 // Транзакция не разрешена по карте. Свяжитесь с вашим банком или воспользуйтесь другой картой. SuspectedFraudDecline = 5059 // Транзакция была отклонена банком по подозрению в мошенничестве. Свяжитесь с банком или воспользуйтесь другой картой. ExceedsApprovalAmount = 5061 // Превышена сумма по карте. Превышение лимита оплаты по карте. Измените настройки лимита или оплатите другой картой. RestrictedCard2 = 5062 // Карта не предназначена для платежей. Платежи для этой карты запрещены. Попробуйте другую карту. SecurityViolation = 5063 // Карта заблокирована из-за нарушений безопасности. Воспользуйтесь другой картой. ExceedWithdrawalFrequency = 5065 // Превышен лимит операций по карте. Свяжитесь с вашим банком или воспользуйтесь другой картой. IncorrectCVV = 5082 // Неверный CVV-код. Неверно указан код CVV. Timeout = 5091 // Эмитент недоступен. Повторите попытку позже или воспользуйтесь другой картой. CannotReachNetwork = 5092 // Эмитент недоступен. Повторите попытку позже или воспользуйтесь другой картой. SystemError = 5096 // Ошибка банка-эквайера или сети. Повторите попытку позже. GatewaysDoNotSupportCard = 5113 // Шлюз не поддерживает эмитента неРФ. Воспользуйтесь другой картой. UnableToProcess = 5204 // Операция не может быть обработана по прочим причинам. Свяжитесь с вашим банком или воспользуйтесь другой картой. AuthenticationFailed = 5206 // 3-D Secure авторизация не пройдена. Свяжитесь с вашим банком или воспользуйтесь другой картой. AntiFraud = 5300 // Лимиты эквайера на проведение операций. Воспользуйтесь другой картой. NoPhone = 5761 // Отсутствует номер телефона. Воспользуйтесь другой картой. InvalidPhone = 5762 // Некорректный номер телефона. Воспользуйтесь другой картой. DifferentPhones = 5763 // Номер телефона в запросе отличается. Воспользуйтесь другой картой. SaveCardRefused = 6001 // Отказ в привязке счета. Невозможно провести оплату. InvalidErrorCode = 6002 // Некорректное значение code. Невозможно провести оплату. AgentIdNotExists = 6003 // Значение agentId отсутствует в ОПКЦ СБП. Невозможно провести оплату. CurrencyNotValid = 6004 // Невозможно провести операцию с валютой {currency}. Обратитесь в поддержку сайта. InvalidPaymentLink = 6005 // Неверные данные платежной ссылки. Невозможно провести оплату. AmountCurrencyNotValid = 6006 // amount и currency должны одновременно присутствовать или одновременно отсутствовать при qrcType = 01. Невозможно провести оплату. InvalidRedirectUrl = 6007 // Некорректный формат redirectUrl. Невозможно провести оплату. InvalidParamsId = 6008 // Неверные данные paramsId. Невозможно провести оплату. InvalidTtl = 6009 // Период использования динамической Платежной ссылки СБП в поле qrTtl выходит за допустимый диапазон. Невозможно провести оплату. SubscriptionNotFound = 6010 // Привязка счета не найдена. Невозможно провести оплату. InvalidSubscription = 6011 // Неверные данные привязки счета. Невозможно провести оплату. InvalidRefund = 6013 // Дублирование идентификатора запроса, назначаемого ТСП или Агентом ТСП, - agentRefundRequestId. Невозможно провести оплату. OriginalDetailsIncorrect = 6014 // Параметры запроса отличаются от параметров исходной Операции СБП C2B. Невозможно провести оплату. TransactionNotFound = 6015 // Запрашиваемая транзакция не найдена. Невозможно провести оплату. InvalidMemberId = 6016 // Значение memberId отсутствует в ОПКЦ СБП. Невозможно провести оплату. IncorrectMCCategory = 6017 // Выполнение операций в данной категории ТСП запрещено. Невозможно провести оплату. CrossTermi = 6025 // Неполный код. Требуется уточнение. )
const ( CheckInvalidInvoiceId = 3001 // Обработчик уведомления вернул {"code":10} CheckInvalidAccountId = 3002 // Обработчик уведомления вернул {"code":11} CheckInvalidAmount = 3003 // Обработчик уведомления вернул {"code":12} CheckOutOfDate = 3004 // Обработчик уведомления вернул {"code":20} CheckFormatError = 3005 // Обработчик уведомления вернул код, отличный от ожидаемого CheckUnableToConnect = 3007 // Обработчик не отвечает (404, 504, 508 и т.д.) CheckNotAccepted = 3008 // Обработчик уведомления вернул {"code":13} )
Коды обработки ответов на check уведомление
const ( SUCCESS = 0 // Платеж может быть проведен UNKNOWN_INVOICE_ID = 10 // Неверный номер заказа INVALID_ACCOUNT_ID = 11 // Некорректный AccountId INVALID_AMOUNT = 12 // Неверная сумма REJECTED = 13 // Платеж не может быть принят EXPIRED = 20 // Платеж просрочен )
const (
DefaultRequestTimeout = 30 * time.Second
)
Variables ¶
var ( // ErrInvalidResponse возвращается, когда ответ от API не может быть разобран. ErrInvalidResponse = errors.New("invalid response from API") )
var NotificationIPRanges = []string{
"185.98.81.0/28",
"87.251.91.160/27",
"46.46.175.96/27",
"46.46.168.160/27",
"162.55.174.97/32",
"91.216.178.243/32",
}
NotificationIPRanges содержит список IP-адресов, с которых CloudPayments отправляет уведомления.
Functions ¶
func IsTrustedIP ¶
IsTrustedIP проверяет, что IP-адрес находится в списке доверенных диапазонов. Входные параметры: ip - IP-адрес. Возвращаемое значение: true, если IP-адрес доверенный, иначе false.
func VerifyHMAC ¶
VerifyHMAC проверяет подлинность и целостность уведомления с использованием HMAC. [https://developers.cloudpayments.ru/#proverka-uvedomleniy] Входные параметры:
- body: тело запроса (для POST) или строка параметров (для GET).
- contentHMAC: значение заголовка Content-HMAC, генерируется из URL encoded параметров.
- apiSecret: секретный ключ API.
Возвращаемое значение: ошибка, если проверка не прошла.
Types ¶
type ApplePaySession ¶
type ApplePaySession struct {
EpochTimestamp int64 `json:"epochTimestamp"`
ExpiresAt int64 `json:"expiresAt"`
MerchantSessionIdentifier string `json:"merchantSessionIdentifier"`
Nonce string `json:"nonce"`
MerchantIdentifier string `json:"merchantIdentifier"`
DomainName string `json:"domainName"`
DisplayName string `json:"displayName"`
Signature string `json:"signature"`
}
ApplePaySession содержит данные сессии Apple Pay.
type ApplePaySessionResponse ¶
type ApplePaySessionResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model ApplePaySession `json:"Model"`
}
ApplePaySessionResponse представляет ответ с данными сессии Apple Pay.
type BaseResponse ¶
BaseResponse представляет базовый ответ от API.
type CancelNotification ¶
type CancelNotification struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
Email string `json:"Email,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
Rrn string `json:"Rrn,omitempty"`
}
CancelNotification представляет уведомление типа Cancel. [https://developers.cloudpayments.ru/#cancel]
type CancelOrderRequest ¶
CancelOrderRequest представляет запрос на отмену заказа.
type CheckNotification ¶
type CheckNotification struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
PaymentAmount string `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
CardId string `json:"CardId,omitempty"`
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardType string `json:"CardType"` // Visa, Mastercard, Maestro, "МИР"
CardExpDate string `json:"CardExpDate"`
TestMode int `json:"TestMode"` // 1 или 0
Status string `json:"Status"` // Completed или Authorized
OperationType string `json:"OperationType"`
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
SubscriptionId string `json:"SubscriptionId,omitempty"`
TokenRecipient string `json:"TokenRecipient,omitempty"`
Name string `json:"Name,omitempty"`
Email string `json:"Email,omitempty"`
IpAddress string `json:"IpAddress,omitempty"`
IpCountry string `json:"IpCountry,omitempty"`
IpCity string `json:"IpCity,omitempty"`
IpRegion string `json:"IpRegion,omitempty"`
IpDistrict string `json:"IpDistrict,omitempty"`
IpLatitude string `json:"IpLatitude,omitempty"`
IpLongitude string `json:"IpLongitude,omitempty"`
Issuer string `json:"Issuer,omitempty"`
IssuerBankCountry string `json:"IssuerBankCountry,omitempty"`
Description string `json:"Description,omitempty"`
CardProduct string `json:"CardProduct,omitempty"`
PaymentMethod string `json:"PaymentMethod,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
}
CheckNotification представляет уведомление типа Check. [https://developers.cloudpayments.ru/#check]
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AuthorizeCryptogramPayment ¶
func (c *Client) AuthorizeCryptogramPayment(cpr *CryptogramPaymentRequest) (*Payment3DSResponse, error)
AuthorizeCryptogramPayment выполняет двухстадийную оплату по криптограмме. [https://developers.cloudpayments.ru/#oplata-po-kriptogramme] Входные параметры: cpr - запрос на авторизацию по криптограмме. Возвращаемое значение: ответ на авторизацию и ошибка, если она возникла.
func (*Client) AuthorizeTokenPayment ¶
func (c *Client) AuthorizeTokenPayment(tpr *TokenPaymentRequest) (*PaymentResponse, error)
AuthorizeTokenPayment выполняет авторизацию оплаты по токену. [https://developers.cloudpayments.ru/#oplata-po-tokenu-rekarring] Входные параметры: tpr - запрос на авторизацию по токену. Возвращаемое значение: ответ на авторизацию и ошибка, если она возникла.
func (*Client) CancelOrder ¶
func (c *Client) CancelOrder(cor *CancelOrderRequest) (*BaseResponse, error)
CancelOrder отменяет созданный заказ. [https://developers.cloudpayments.ru/#otmena-sozdannogo-scheta] Входные параметры: cor - запрос на отмену заказа. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) CancelSubscription ¶
func (c *Client) CancelSubscription(sur *SubscriptionCancelRequest) (*BaseResponse, error)
CancelSubscription отменяет подписку. [https://developers.cloudpayments.ru/#otmena-podpiski-na-rekurrentnye-platezhi] Входные параметры: sur - запрос на отмену подписки. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) ChargeCryptogramPayment ¶
func (c *Client) ChargeCryptogramPayment(cpr *CryptogramPaymentRequest) (*PaymentResponse, error)
ChargeCryptogramPayment выполняет оплату по криптограмме. [https://developers.cloudpayments.ru/#oplata-po-kriptogramme] Входные параметры: cpr - запрос на оплату по криптограмме. Возвращаемое значение: ответ на оплату и ошибка, если она возникла.
func (*Client) ChargeCryptogramPayout ¶
func (c *Client) ChargeCryptogramPayout(cpr *CryptogramPayoutRequest) (*PaymentResponse, error)
ChargeCryptogramPayout выполняет выплату по криптограмме. [https://developers.cloudpayments.ru/#vyplata-po-kriptogramme] Входные параметры: cpr - запрос на выплату по криптограмме. Возвращаемое значение: ответ на выплату и ошибка, если она возникла.
func (*Client) ChargeTokenPayment ¶
func (c *Client) ChargeTokenPayment(tpr *TokenPaymentRequest) (*PaymentResponse, error)
ChargeTokenPayment выполняет оплату по токену. [https://developers.cloudpayments.ru/#oplata-po-tokenu-rekarring] Входные параметры: tpr - запрос на оплату по токену. Возвращаемое значение: ответ на оплату и ошибка, если она возникла.
func (*Client) ChargeTokenPayout ¶
func (c *Client) ChargeTokenPayout(tpr *TokenPayoutRequest) (*PaymentResponse, error)
ChargeTokenPayout выполняет выплату по токену. [https://developers.cloudpayments.ru/#vyplata-po-tokenu] Входные параметры: tpr - запрос на выплату по токену. Возвращаемое значение: ответ на выплату и ошибка, если она возникла.
func (*Client) Confirm3DSPayment ¶
func (c *Client) Confirm3DSPayment(confirm3DS *Confirm3DSRequest) (*PaymentResponse, error)
Confirm3DSPayment подтверждает оплату с использованием 3DS. [https://developers.cloudpayments.ru/#obrabotka-3-d-secure] Входные параметры: confirm3DS - запрос на подтверждение 3DS оплаты. Возвращаемое значение: ответ на подтверждение и ошибка, если она возникла.
func (*Client) ConfirmPayment ¶
func (c *Client) ConfirmPayment(confirm *ConfirmPaymentRequest) (*BaseResponse, error)
ConfirmPayment подтверждает авторизованную оплату. [https://developers.cloudpayments.ru/#podtverzhdenie-oplaty] Входные параметры: confirm - запрос на подтверждение оплаты. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) CreateOrder ¶
func (c *Client) CreateOrder(lpr *LinkPaymentRequest) (*OrderResponse, error)
CreateOrder создает заказ для отправки по email. [https://developers.cloudpayments.ru/#sozdanie-scheta-dlya-otpravki-po-pochte] Входные параметры: lpr - запрос на создание заказа. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) CreateSubscription ¶
func (c *Client) CreateSubscription(scr *SubscriptionCreateRequest) (*SubscriptionResponse, error)
CreateSubscription создает подписку. [https://developers.cloudpayments.ru/#sozdanie-podpiski-na-rekurrentnye-platezhi] Входные параметры: scr - запрос на создание подписки. Возвращаемое значение: ответ с информацией о подписке и ошибка, если она возникла.
func (*Client) FindPaymentByInvoiceID ¶
func (c *Client) FindPaymentByInvoiceID(fpr *FindPaymentRequest) (*PaymentResponse, error)
FindPaymentByInvoiceID ищет платеж по идентификатору счета. [https://developers.cloudpayments.ru/#proverka-statusa-platezha] Входные параметры: fpr - запрос на поиск платежа. Возвращаемое значение: ответ с информацией о платеже и ошибка, если она возникла.
func (*Client) GetNotificationSettings ¶
func (c *Client) GetNotificationSettings(notificationType NotificationType) (*NotificationSettingsResponse, error)
GetNotificationSettings получает настройки уведомлений для указанного типа. [https://developers.cloudpayments.ru/#prosmotr-nastroek-uvedomleniy] Входные параметры: notificationType - тип уведомления (например, "pay", "fail"). Возвращаемое значение: настройки уведомлений и ошибка, если она возникла.
func (*Client) GetSubscription ¶
func (c *Client) GetSubscription(sgr *SubscriptionGetRequest) (*SubscriptionResponse, error)
GetSubscription получает информацию о подписке по идентификатору транзакции. [https://developers.cloudpayments.ru/#zapros-informatsii-o-podpiske] Входные параметры: sgr - запрос на получение информации о подписке. Возвращаемое значение: ответ с информацией о подписке и ошибка, если она возникла.
func (*Client) GetSubscriptionsList ¶
func (c *Client) GetSubscriptionsList(slr *SubscriptionListRequest) (*SubscriptionsListResponse, error)
GetSubscriptionsList получает список подписок по идентификатору аккаунта. [https://developers.cloudpayments.ru/#poisk-podpisok] Входные параметры: slr - запрос на получение списка подписок. Возвращаемое значение: ответ с информацией о подписках и ошибка, если она возникла.
func (*Client) Payment ¶
func (c *Client) Payment(gpr *GetPaymentRequest) (*PaymentResponse, error)
Payment получает информацию о платеже по идентификатору транзакции. [https://developers.cloudpayments.ru/#prosmotr-tranzaktsii] Входные параметры: gpr - запрос на получение информации о платеже. Возвращаемое значение: ответ с информацией о платеже и ошибка, если она возникла.
func (*Client) PaymentsList ¶
func (c *Client) PaymentsList(plr *PaymentsListRequest) (*PaymentsListResponse, error)
PaymentsList получает список транзакций за день. [https://developers.cloudpayments.ru/#vygruzka-spiska-tranzaktsiy] Входные параметры: plr - запрос на получение списка транзакций. Возвращаемое значение: ответ с информацией о транзакциях и ошибка, если она возникла.
func (*Client) PaymentsListV2 ¶
func (c *Client) PaymentsListV2(plr *PaymentsListV2Request) (*PaymentsListV2Response, error)
PaymentsListV2 получает список транзакций за произвольный период. [https://developers.cloudpayments.ru/#vygruzka-spiska-tranzaktsiy-za-proizvolnyy-period] Входные параметры: plr - запрос на получение списка транзакций. Возвращаемое значение: ответ с информацией о транзакциях и ошибка, если она возникла.
func (*Client) Ping ¶
func (c *Client) Ping() (*BaseResponse, error)
Ping проверяет доступность API CloudPayments. [https://developers.cloudpayments.ru/#testovyy-metod] Возвращаемое значение: ответ от API и ошибка, если она возникла.
func (*Client) RefundPayment ¶
func (c *Client) RefundPayment(rpp *RefundPaymentRequest) (*BaseResponse, error)
RefundPayment выполняет возврат средств. [https://developers.cloudpayments.ru/#vozvrat-deneg] Входные параметры: rpp - запрос на возврат средств. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) StartApplePaySession ¶
func (c *Client) StartApplePaySession(validationUrl, paymentUrl string) (*ApplePaySessionResponse, error)
StartApplePaySession запускает сессию для оплаты через Apple Pay. [https://developers.cloudpayments.ru/#zapusk-sessii-dlya-oplaty-cherez-apple-pay] Входные параметры: validationUrl - URL для валидации сессии, paymentUrl - URL для оплаты. Возвращаемое значение: данные сессии Apple Pay и ошибка, если она возникла.
func (*Client) TokensList ¶
func (c *Client) TokensList(tlr *TokensListRequest) (*TokensListResponse, error)
TokensList получает список токенов. [https://developers.cloudpayments.ru/#vygruzka-tokenov] Входные параметры: tlr - запрос на получение списка токенов. Возвращаемое значение: ответ с информацией о токенах и ошибка, если она возникла.
func (*Client) UpdateNotificationSettings ¶
func (c *Client) UpdateNotificationSettings(notificationType NotificationType, settings *NotificationSettings) (*BaseResponse, error)
UpdateNotificationSettings обновляет настройки уведомлений для указанного типа. [https://developers.cloudpayments.ru/#izmenenie-nastroek-uvedomleniy] Входные параметры: notificationType - тип уведомления, settings - новые настройки. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
func (*Client) UpdateSubscription ¶
func (c *Client) UpdateSubscription(sur *SubscriptionUpdateRequest) (*SubscriptionResponse, error)
UpdateSubscription обновляет подписку. [https://developers.cloudpayments.ru/#izmenenie-podpiski-na-rekurrentnye-platezhi] Входные параметры: sur - запрос на обновление подписки. Возвращаемое значение: ответ с информацией о подписке и ошибка, если она возникла.
func (*Client) VoidPayment ¶
func (c *Client) VoidPayment(vpr *VoidPaymentRequest) (*BaseResponse, error)
VoidPayment отменяет оплату. [https://developers.cloudpayments.ru/#otmena-oplaty] Входные параметры: vpr - запрос на отмену оплаты. Возвращаемое значение: базовый ответ и ошибка, если она возникла.
type Confirm3DSRequest ¶
type Confirm3DSRequest struct {
TransactionId int64 `json:"TransactionId"`
PaRes string `json:"PaRes"`
RequestID *string `json:"-"`
}
Confirm3DSRequest представляет запрос на подтверждение 3DS оплаты.
type ConfirmNotification ¶
type ConfirmNotification struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
PaymentAmount string `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardType string `json:"CardType"` // Visa, Mastercard, Maestro, "МИР"
CardExpDate string `json:"CardExpDate"`
TestMode int `json:"TestMode"` // 1 или 0
Status string `json:"Status"` // Completed
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
SubscriptionId string `json:"SubscriptionId,omitempty"`
Name string `json:"Name,omitempty"`
Email string `json:"Email,omitempty"`
IpAddress string `json:"IpAddress,omitempty"`
IpCountry string `json:"IpCountry,omitempty"`
IpCity string `json:"IpCity,omitempty"`
IpRegion string `json:"IpRegion,omitempty"`
IpDistrict string `json:"IpDistrict,omitempty"`
IpLatitude string `json:"IpLatitude,omitempty"`
IpLongitude string `json:"IpLongitude,omitempty"`
Issuer string `json:"Issuer,omitempty"`
IssuerBankCountry string `json:"IssuerBankCountry,omitempty"`
Description string `json:"Description,omitempty"`
AuthCode string `json:"AuthCode,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
Token string `json:"Token,omitempty"`
PaymentMethod string `json:"PaymentMethod,omitempty"`
Rrn string `json:"Rrn,omitempty"`
}
ConfirmNotification представляет уведомление типа Confirm. [https://developers.cloudpayments.ru/#confirm]
type ConfirmPaymentRequest ¶
type ConfirmPaymentRequest struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
RequestID *string `json:"-"`
}
ConfirmPaymentRequest представляет запрос на подтверждение оплаты.
type CryptogramPaymentRequest ¶
type CryptogramPaymentRequest struct {
Amount float64 `json:"Amount"`
Currency *CurrencyCode `json:"Currency"`
IpAddress string `json:"IpAddress"`
CardCryptogramPacket string `json:"CardCryptogramPacket"`
Name string `json:"Name,omitempty"`
PaymentUrl string `json:"PaymentUrl,omitempty"`
InvoiceId string `json:"InvoiceId,omitempty"`
Description string `json:"Description,omitempty"`
CultureName *LanguageCode `json:"CultureName,omitempty"`
AccountId string `json:"AccountId,omitempty"`
Email string `json:"Email,omitempty"`
Payer *Payer `json:"Payer,omitempty"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
RequestID *string `json:"-"`
}
CryptogramPaymentRequest представляет запрос на оплату по криптограмме.
type CryptogramPayoutRequest ¶
type CryptogramPayoutRequest struct {
CardCryptogramPacket string `json:"CardCryptogramPacket"`
Amount float64 `json:"Amount"`
Currency *CurrencyCode `json:"Currency"`
Name string `json:"Name,omitempty"`
AccountId string `json:"AccountId,omitempty"`
Email string `json:"Email,omitempty"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
InvoiceId string `json:"InvoiceId,omitempty"`
Description string `json:"Description,omitempty"`
Payer *Payer `json:"Payer,omitempty"`
Receiver *Receiver `json:"Receiver,omitempty"`
RequestID *string `json:"-"`
}
CryptogramPayoutRequest представляет запрос на выплату по криптограмме.
type CurrencyCode ¶
type CurrencyCode string
CurrencyCode представляет код валюты.
var ( CurrencyKZT CurrencyCode = "KZT" // Казахстанский тенге CurrencyRUB CurrencyCode = "RUB" // Российский рубль CurrencyEUR CurrencyCode = "EUR" // Евро CurrencyUSD CurrencyCode = "USD" // Доллар США CurrencyGBP CurrencyCode = "GBP" // Фунт стерлингов CurrencyUAH CurrencyCode = "UAH" // Украинская гривна CurrencyBYR CurrencyCode = "BYR" // Белорусский рубль (устаревший) CurrencyBYN CurrencyCode = "BYN" // Белорусский рубль CurrencyAZN CurrencyCode = "AZN" // Азербайджанский манат CurrencyCHF CurrencyCode = "CHF" // Швейцарский франк CurrencyCZK CurrencyCode = "CZK" // Чешская крона CurrencyCAD CurrencyCode = "CAD" // Канадский доллар CurrencyPLN CurrencyCode = "PLN" // Польский злотый CurrencySEK CurrencyCode = "SEK" // Шведская крона CurrencyTRY CurrencyCode = "TRY" // Турецкая лира CurrencyCNY CurrencyCode = "CNY" // Китайский юань CurrencyINR CurrencyCode = "INR" // Индийская рупия )
type FailNotification ¶
type FailNotification struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
PaymentAmount string `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
CardId string `json:"CardId,omitempty"`
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardType string `json:"CardType"` // Visa, Mastercard, Maestro, "МИР"
CardExpDate string `json:"CardExpDate"`
TestMode int `json:"TestMode"` // 1 или 0
Reason string `json:"Reason"`
ReasonCode int `json:"ReasonCode"`
OperationType string `json:"OperationType"`
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
SubscriptionId string `json:"SubscriptionId,omitempty"`
Name string `json:"Name,omitempty"`
Email string `json:"Email,omitempty"`
IpAddress string `json:"IpAddress,omitempty"`
IpCountry string `json:"IpCountry,omitempty"`
IpCity string `json:"IpCity,omitempty"`
IpRegion string `json:"IpRegion,omitempty"`
IpDistrict string `json:"IpDistrict,omitempty"`
IpLatitude string `json:"IpLatitude,omitempty"`
IpLongitude string `json:"IpLongitude,omitempty"`
Issuer string `json:"Issuer,omitempty"`
IssuerBankCountry string `json:"IssuerBankCountry,omitempty"`
Description string `json:"Description,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
Token string `json:"Token,omitempty"`
PaymentMethod string `json:"PaymentMethod,omitempty"`
FallBackScenarioDeclinedTransactionId int64 `json:"FallBackScenarioDeclinedTransactionId,omitempty"`
Rrn string `json:"Rrn,omitempty"`
CustomFields string `json:"CustomFields,omitempty"` // JSON-строка
}
FailNotification представляет уведомление типа Fail. [https://developers.cloudpayments.ru/#fail]
type FindPaymentRequest ¶
FindPaymentRequest представляет запрос на поиск платежа по идентификатору счета.
type FiscalDataOperator ¶
type FiscalDataOperator string
FiscalDataOperator представляет операторы фискальных данных.
var ( FiscalDataOperatorPeterService FiscalDataOperator = "PeterService" // ООО «ПС СТ» FiscalDataOperatorFirstOfd FiscalDataOperator = "FirstOfd" // Первый ОФД FiscalDataOperatorTaxcom FiscalDataOperator = "Taxcom" // Такском FiscalDataOperatorPlatformaOfd FiscalDataOperator = "PlatformaOfd" // Платформа ОФД FiscalDataOperatorOfdYa FiscalDataOperator = "OfdYa" // ОФД-Я FiscalDataOperatorOfdYandex FiscalDataOperator = "OfdYandex" // Яндекс ОФД FiscalDataOperatorGarantexpress FiscalDataOperator = "Garantexpress" // Гарант ОФД FiscalDataOperatorOfdAstralNalog FiscalDataOperator = "OfdAstralNalog" // Астрал ОФД FiscalDataOperatorSbis FiscalDataOperator = "Sbis" // Компания "ТЕНЗОР", ООО )
type GetPaymentRequest ¶
type GetPaymentRequest struct {
TransactionId int64 `json:"TransactionId"`
RequestID *string `json:"-"`
}
GetPaymentRequest представляет запрос на получение информации о платеже.
type LanguageCode ¶
type LanguageCode string
LanguageCode представляет код языка и временной зоны.
var ( LanguageRussianRuRU LanguageCode = "ru-RU" // Русский (MSK) LanguageEnglishEnUS LanguageCode = "en-US" // Английский (CET) LanguageLatvianLv LanguageCode = "lv" // Латышский (CET) LanguageAzerbaijaniAz LanguageCode = "az" // Азербайджанский (AZT) LanguageKazakhKk LanguageCode = "kk" // Русский (ALMT) LanguageUkrainianUk LanguageCode = "uk" // Украинский (EET) LanguagePolishPl LanguageCode = "pl" // Польский (CET) LanguageVietnameseVi LanguageCode = "vi" // Вьетнамский (ICT) LanguageTurkishTr LanguageCode = "tr" // Турецкий (TRT) )
type LinkPaymentRequest ¶
type LinkPaymentRequest struct {
Amount float64 `json:"Amount"`
Currency *CurrencyCode `json:"Currency"`
Description string `json:"Description"`
Email string `json:"Email,omitempty"`
RequireConfirmation bool `json:"RequireConfirmation,omitempty"`
SendEmail bool `json:"SendEmail,omitempty"`
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
OfferUri string `json:"OfferUri,omitempty"`
Phone string `json:"Phone,omitempty"`
SendSms bool `json:"SendSms,omitempty"`
SendViber bool `json:"SendViber,omitempty"`
CultureName *LanguageCode `json:"CultureName,omitempty"`
SubscriptionBehavior string `json:"SubscriptionBehavior,omitempty"`
SuccessRedirectUrl string `json:"SuccessRedirectUrl,omitempty"`
FailRedirectUrl string `json:"FailRedirectUrl,omitempty"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
RequestID *string `json:"-"`
}
LinkPaymentRequest представляет запрос на создание заказа для отправки по email.
type NotificationSettings ¶
type NotificationSettings struct {
IsEnabled bool `json:"IsEnabled"`
Address string `json:"Address"`
HttpMethod string `json:"HttpMethod"`
Encoding string `json:"Encoding"`
Format string `json:"Format"`
}
NotificationSettings содержит настройки уведомлений.
type NotificationSettingsResponse ¶
type NotificationSettingsResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model NotificationSettings `json:"Model"`
}
NotificationSettingsResponse представляет ответ с настройками уведомлений.
type NotificationType ¶
type NotificationType string
Типы уведомлений
var ( NotificationTypeCheck NotificationType = "Check" // Check уведомление NotificationTypePay NotificationType = "Pay" // Pay уведомление NotificationTypeFail NotificationType = "Fail" // Fail уведомление NotificationTypeConfirm NotificationType = "Confirm" // Confirm уведомление NotificationTypeRefund NotificationType = "Refund" // Refund уведомление NotificationTypeRecurrent NotificationType = "Recurrent" // Recurrent уведомление NotificationTypeCancel NotificationType = "Cancel" // Cancel уведомление )
Коды ответа на запрос от cloudpayments [https://developers.cloudpayments.ru/#uvedomleniya]
type OperationType ¶
type OperationType string
Типы операций
var ( OperationTypePayment OperationType = "Payment" // Оплата OperationTypeRefund OperationType = "Refund" // Возврат OperationTypeCardPayout OperationType = "CardPayout" // Выплата на карту )
type OrderModel ¶
type OrderModel struct {
Id string `json:"Id"`
Number int `json:"Number"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
CurrencyCode int `json:"CurrencyCode"`
Email string `json:"Email"`
Phone string `json:"Phone"`
Description string `json:"Description"`
RequireConfirmation bool `json:"RequireConfirmation"`
Url string `json:"Url"`
CultureName string `json:"CultureName"`
CreatedDate string `json:"CreatedDate"`
CreatedDateIso string `json:"CreatedDateIso"`
PaymentDate string `json:"PaymentDate"`
PaymentDateIso string `json:"PaymentDateIso"`
StatusCode int `json:"StatusCode"`
Status string `json:"Status"`
InternalId int `json:"InternalId"`
}
OrderModel содержит детали заказа.
type OrderResponse ¶
type OrderResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model OrderModel `json:"Model"`
}
OrderResponse представляет ответ на запросы, связанные с заказами.
type PayNotification ¶
type PayNotification struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
PaymentAmount string `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
CardId string `json:"CardId,omitempty"`
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardType string `json:"CardType"` // Visa, Mastercard, Maestro, "МИР"
CardExpDate string `json:"CardExpDate"`
TestMode int `json:"TestMode"` // 1 или 0
Status string `json:"Status"` // Completed или Authorized
OperationType string `json:"OperationType"`
GatewayName string `json:"GatewayName"`
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
SubscriptionId string `json:"SubscriptionId,omitempty"`
Name string `json:"Name,omitempty"`
Email string `json:"Email,omitempty"`
IpAddress string `json:"IpAddress,omitempty"`
IpCountry string `json:"IpCountry,omitempty"`
IpCity string `json:"IpCity,omitempty"`
IpRegion string `json:"IpRegion,omitempty"`
IpDistrict string `json:"IpDistrict,omitempty"`
IpLatitude string `json:"IpLatitude,omitempty"`
IpLongitude string `json:"IpLongitude,omitempty"`
Issuer string `json:"Issuer,omitempty"`
IssuerBankCountry string `json:"IssuerBankCountry,omitempty"`
Description string `json:"Description,omitempty"`
AuthCode string `json:"AuthCode,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
Token string `json:"Token,omitempty"`
TotalFee float64 `json:"TotalFee,omitempty"`
CardProduct string `json:"CardProduct,omitempty"`
PaymentMethod string `json:"PaymentMethod,omitempty"`
FallBackScenarioDeclinedTransactionId int64 `json:"FallBackScenarioDeclinedTransactionId,omitempty"`
Rrn string `json:"Rrn,omitempty"`
CustomFields string `json:"CustomFields,omitempty"` // JSON-строка
}
PayNotification представляет уведомление типа Pay. [https://developers.cloudpayments.ru/#pay]
type Payer ¶
type Payer struct {
FirstName string `json:"FirstName,omitempty"`
LastName string `json:"LastName,omitempty"`
MiddleName string `json:"MiddleName,omitempty"`
Birth string `json:"Birth,omitempty"`
Street string `json:"Street,omitempty"`
Address string `json:"Address,omitempty"`
City string `json:"City,omitempty"`
Country string `json:"Country,omitempty"`
Phone string `json:"Phone,omitempty"`
Postcode string `json:"Postcode,omitempty"`
}
Payer представляет информацию о плательщике.
type Payment ¶
type Payment struct {
PublicId string `json:"PublicId"`
TerminalUrl string `json:"TerminalUrl"`
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
CurrencyCode int `json:"CurrencyCode"`
PaymentAmount float64 `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
PaymentCurrencyCode int `json:"PaymentCurrencyCode"`
InvoiceId string `json:"InvoiceId"`
AccountId string `json:"AccountId"`
Email string `json:"Email"`
Description string `json:"Description"`
JsonData string `json:"JsonData"`
CreatedDate string `json:"CreatedDate"`
PayoutDate string `json:"PayoutDate"`
PayoutDateIso string `json:"PayoutDateIso"`
PayoutAmount float64 `json:"PayoutAmount"`
CreatedDateIso string `json:"CreatedDateIso"`
AuthDate string `json:"AuthDate"`
AuthDateIso string `json:"AuthDateIso"`
ConfirmDate string `json:"ConfirmDate"`
ConfirmDateIso string `json:"ConfirmDateIso"`
AuthCode string `json:"AuthCode"`
TestMode bool `json:"TestMode"`
Rrn string `json:"Rrn"`
OriginalTransactionId int64 `json:"OriginalTransactionId"`
FallBackScenarioDeclinedTransactionId int64 `json:"FallBackScenarioDeclinedTransactionId"`
IpAddress string `json:"IpAddress"`
IpCountry string `json:"IpCountry"`
IpCity string `json:"IpCity"`
IpRegion string `json:"IpRegion"`
IpDistrict string `json:"IpDistrict"`
IpLatitude float64 `json:"IpLatitude"`
IpLongitude float64 `json:"IpLongitude"`
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardExpDate string `json:"CardExpDate"`
CardType string `json:"CardType"`
CardProduct string `json:"CardProduct"`
CardCategory string `json:"CardCategory"`
EscrowAccumulationId string `json:"EscrowAccumulationId"`
IssuerBankCountry string `json:"IssuerBankCountry"`
Issuer string `json:"Issuer"`
CardTypeCode int `json:"CardTypeCode"`
Status string `json:"Status"`
StatusCode int `json:"StatusCode"`
CultureName string `json:"CultureName"`
Reason string `json:"Reason"`
CardHolderMessage string `json:"CardHolderMessage"`
Type int `json:"Type"`
Refunded bool `json:"Refunded"`
Name string `json:"Name"`
Token string `json:"Token"`
SubscriptionId string `json:"SubscriptionId"`
GatewayName string `json:"GatewayName"`
ApplePay bool `json:"ApplePay"`
AndroidPay bool `json:"AndroidPay"`
WalletType string `json:"WalletType"`
TotalFee float64 `json:"TotalFee"`
}
Payment содержит информацию о транзакции.
type Payment3DSModel ¶
type Payment3DSModel struct {
TransactionId int64 `json:"TransactionId"`
PaReq string `json:"PaReq"`
GoReq string `json:"GoReq"`
AcsUrl string `json:"AcsUrl"`
ThreeDsSessionData string `json:"ThreeDsSessionData"`
IFrameIsAllowed bool `json:"IFrameIsAllowed"`
FrameWidth int `json:"FrameWidth"`
FrameHeight int `json:"FrameHeight"`
ThreeDsCallbackId string `json:"ThreeDsCallbackId"`
EscrowAccumulationId string `json:"EscrowAccumulationId"`
}
Payment3DSModel содержит детали 3DS оплаты.
type Payment3DSResponse ¶
type Payment3DSResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model Payment3DSModel `json:"Model"`
}
Payment3DSResponse представляет ответ на оплату с использованием 3DS.
type PaymentModel ¶
type PaymentModel struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
CurrencyCode int `json:"CurrencyCode"`
PaymentAmount float64 `json:"PaymentAmount"`
PaymentCurrency string `json:"PaymentCurrency"`
PaymentCurrencyCode int `json:"PaymentCurrencyCode"`
InvoiceId string `json:"InvoiceId"`
AccountId string `json:"AccountId"`
Email string `json:"Email"`
Description string `json:"Description"`
JsonData string `json:"JsonData"`
CreatedDate string `json:"CreatedDate"`
PayoutDate string `json:"PayoutDate"`
PayoutDateIso string `json:"PayoutDateIso"`
PayoutAmount float64 `json:"PayoutAmount"`
CreatedDateIso string `json:"CreatedDateIso"`
AuthDate string `json:"AuthDate"`
AuthDateIso string `json:"AuthDateIso"`
ConfirmDate string `json:"ConfirmDate"`
ConfirmDateIso string `json:"ConfirmDateIso"`
AuthCode string `json:"AuthCode"`
TestMode bool `json:"TestMode"`
Rrn string `json:"Rrn"`
OriginalTransactionId int64 `json:"OriginalTransactionId"`
FallBackScenarioDeclinedTransactionId int64 `json:"FallBackScenarioDeclinedTransactionId"`
IpAddress string `json:"IpAddress"`
IpCountry string `json:"IpCountry"`
IpCity string `json:"IpCity"`
IpRegion string `json:"IpRegion"`
IpDistrict string `json:"IpDistrict"`
IpLatitude float64 `json:"IpLatitude"`
IpLongitude float64 `json:"IpLongitude"`
CardFirstSix string `json:"CardFirstSix"`
CardLastFour string `json:"CardLastFour"`
CardExpDate string `json:"CardExpDate"`
CardType string `json:"CardType"`
CardProduct string `json:"CardProduct"`
CardCategory string `json:"CardCategory"`
EscrowAccumulationId string `json:"EscrowAccumulationId"`
IssuerBankCountry string `json:"IssuerBankCountry"`
Issuer string `json:"Issuer"`
CardTypeCode int `json:"CardTypeCode"`
Status string `json:"Status"`
StatusCode int `json:"StatusCode"`
CultureName string `json:"CultureName"`
Reason string `json:"Reason"`
CardHolderMessage string `json:"CardHolderMessage"`
Type int `json:"Type"`
Refunded bool `json:"Refunded"`
Name string `json:"Name"`
Token string `json:"Token"`
SubscriptionId string `json:"SubscriptionId"`
GatewayName string `json:"GatewayName"`
ApplePay bool `json:"ApplePay"`
AndroidPay bool `json:"AndroidPay"`
WalletType string `json:"WalletType"`
TotalFee float64 `json:"TotalFee"`
}
PaymentModel содержит детали платежа.
type PaymentResponse ¶
type PaymentResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model PaymentModel `json:"Model"`
}
PaymentResponse представляет ответ на оплату.
type PaymentStatus ¶
type PaymentStatus string
var ( PaymentStatusAwaitingAuthentication PaymentStatus = "AwaitingAuthentication" // Ожидание аутентификации PaymentStatusAuthorized PaymentStatus = "Authorized" // Авторизован PaymentStatusCompleted PaymentStatus = "Completed" // Завершен PaymentStatusCancelled PaymentStatus = "Cancelled" // Отменен PaymentStatusDeclined PaymentStatus = "Declined" // Отклонен )
type PaymentsListRequest ¶
type PaymentsListRequest struct {
Date string `json:"Date"`
TimeZone string `json:"TimeZone,omitempty"`
RequestID *string `json:"-"`
}
PaymentsListRequest представляет запрос на получение списка транзакций за день.
type PaymentsListResponse ¶
type PaymentsListResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model []Payment `json:"Model"`
}
PaymentsListResponse представляет ответ с информацией о транзакциях за день.
type PaymentsListV2Request ¶
type PaymentsListV2Request struct {
CreatedDateGte string `json:"CreatedDateGte"`
CreatedDateLte string `json:"CreatedDateLte"`
PageNumber int `json:"PageNumber"`
TimeZone string `json:"TimeZone,omitempty"`
Statuses []string `json:"Statuses,omitempty"`
RequestID *string `json:"-"`
}
PaymentsListV2Request представляет запрос на получение списка транзакций за произвольный период.
type PaymentsListV2Response ¶
type PaymentsListV2Response struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model []Payment `json:"Model"`
}
PaymentsListV2Response представляет ответ с информацией о транзакциях за произвольный период.
type Receiver ¶
type Receiver struct {
FirstName string `json:"FirstName,omitempty"`
LastName string `json:"LastName,omitempty"`
MiddleName string `json:"MiddleName,omitempty"`
Birth string `json:"Birth,omitempty"`
Street string `json:"Street,omitempty"`
Address string `json:"Address,omitempty"`
City string `json:"City,omitempty"`
Country string `json:"Country,omitempty"`
Phone string `json:"Phone,omitempty"`
Postcode string `json:"Postcode,omitempty"`
}
Receiver представляет информацию о получателе.
type RecurrentNotification ¶
type RecurrentNotification struct {
Id string `json:"Id"`
AccountId string `json:"AccountId"`
Description string `json:"Description"`
Email string `json:"Email"`
Amount float64 `json:"Amount"`
Currency string `json:"Currency"`
RequireConfirmation bool `json:"RequireConfirmation"`
StartDate time.Time `json:"StartDate"`
Interval string `json:"Interval"` // Week, Month
Period int `json:"Period"`
Status string `json:"Status"`
SuccessfulTransactionsNumber int `json:"SuccessfulTransactionsNumber"`
FailedTransactionsNumber int `json:"FailedTransactionsNumber"`
MaxPeriods int `json:"MaxPeriods,omitempty"`
LastTransactionDate time.Time `json:"LastTransactionDate,omitempty"`
NextTransactionDate time.Time `json:"NextTransactionDate,omitempty"`
}
RecurrentNotification представляет уведомление типа Recurrent. [https://developers.cloudpayments.ru/#recurrent]
type RefundNotification ¶
type RefundNotification struct {
TransactionId int64 `json:"TransactionId"`
PaymentTransactionId int64 `json:"PaymentTransactionId"`
Amount float64 `json:"Amount"`
DateTime string `json:"DateTime"` // Формат: yyyy-MM-dd HH:mm:ss
OperationType string `json:"OperationType"`
InvoiceId string `json:"InvoiceId,omitempty"`
AccountId string `json:"AccountId,omitempty"`
Email string `json:"Email,omitempty"`
Data string `json:"Data,omitempty"` // JSON-строка
Rrn string `json:"Rrn,omitempty"`
CustomFields string `json:"CustomFields,omitempty"` // JSON-строка
}
RefundNotification представляет уведомление типа Refund. [https://developers.cloudpayments.ru/#refund]
type RefundPaymentRequest ¶
type RefundPaymentRequest struct {
TransactionId int64 `json:"TransactionId"`
Amount float64 `json:"Amount"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
RequestID *string `json:"-"`
}
RefundPaymentRequest представляет запрос на возврат средств.
type Subscription ¶
type Subscription struct {
Id string `json:"Id"`
AccountId string `json:"AccountId"`
Description string `json:"Description"`
Email string `json:"Email"`
Amount float64 `json:"Amount"`
CurrencyCode int `json:"CurrencyCode"`
Currency string `json:"Currency"`
RequireConfirmation bool `json:"RequireConfirmation"`
StartDate string `json:"StartDate"`
StartDateIso string `json:"StartDateIso"`
IntervalCode int `json:"IntervalCode"`
Interval string `json:"Interval"`
Period int `json:"Period"`
MaxPeriods int `json:"MaxPeriods"`
CultureName string `json:"CultureName"`
StatusCode int `json:"StatusCode"`
Status string `json:"Status"`
SuccessfulTransactionsNumber int `json:"SuccessfulTransactionsNumber"`
FailedTransactionsNumber int `json:"FailedTransactionsNumber"`
LastTransactionDate string `json:"LastTransactionDate"`
LastTransactionDateIso string `json:"LastTransactionDateIso"`
NextTransactionDate string `json:"NextTransactionDate"`
NextTransactionDateIso string `json:"NextTransactionDateIso"`
Receipt string `json:"Receipt"`
FailoverSchemeId string `json:"FailoverSchemeId"`
}
Subscription содержит информацию о подписке.
type SubscriptionCancelRequest ¶
SubscriptionCancelRequest представляет запрос на отмену подписки.
type SubscriptionCreateRequest ¶
type SubscriptionCreateRequest struct {
Token string `json:"Token"`
AccountId string `json:"AccountId"`
Description string `json:"Description"`
Email string `json:"Email,omitempty"`
Amount float64 `json:"Amount"`
Currency CurrencyCode `json:"Currency"`
RequireConfirmation bool `json:"RequireConfirmation"`
StartDate string `json:"StartDate"`
Interval string `json:"Interval"`
Period int `json:"Period"`
MaxPeriods int `json:"MaxPeriods,omitempty"`
CustomerReceipt map[string]interface{} `json:"CustomerReceipt,omitempty"`
RequestID *string `json:"-"`
}
SubscriptionCreateRequest представляет запрос на создание подписки.
type SubscriptionGetRequest ¶
SubscriptionGetRequest представляет запрос на получение информации о подписке.
type SubscriptionListRequest ¶
type SubscriptionListRequest struct {
AccountId string `json:"AccountId"`
RequestID *string `json:"-"`
}
SubscriptionListRequest представляет запрос на получение списка подписок.
type SubscriptionResponse ¶
type SubscriptionResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model Subscription `json:"Model"`
}
SubscriptionResponse представляет ответ на запросы, связанные с подписками.
type SubscriptionStatus ¶
type SubscriptionStatus string
Статусы подписок (рекуррент)
var ( SubscriptionStatusActive SubscriptionStatus = "Active" // Подписка активна SubscriptionStatusPastDue SubscriptionStatus = "PastDue" // Подписка просрочена SubscriptionStatusCancelled SubscriptionStatus = "Cancelled" // Подписка отменена SubscriptionStatusRejected SubscriptionStatus = "Rejected" // Подписка отклонена SubscriptionStatusExpired SubscriptionStatus = "Expired" // Подписка завершена )
type SubscriptionUpdateRequest ¶
type SubscriptionUpdateRequest struct {
Id string `json:"Id"`
Description string `json:"Description,omitempty"`
Amount float64 `json:"Amount,omitempty"`
Currency *CurrencyCode `json:"Currency,omitempty"`
RequireConfirmation bool `json:"RequireConfirmation,omitempty"`
StartDate string `json:"StartDate,omitempty"`
Interval string `json:"Interval,omitempty"`
Period int `json:"Period,omitempty"`
MaxPeriods int `json:"MaxPeriods,omitempty"`
CustomerReceipt map[string]interface{} `json:"CustomerReceipt,omitempty"`
CultureName *LanguageCode `json:"CultureName,omitempty"`
RequestID *string `json:"-"`
}
SubscriptionUpdateRequest представляет запрос на обновление подписки.
type SubscriptionsListResponse ¶
type SubscriptionsListResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model []Subscription `json:"Model"`
}
SubscriptionsListResponse представляет ответ с информацией о подписках.
type TimeZone ¶
type TimeZone string
Коды временных зон
var ( TimeZoneHST TimeZone = "HST" // (UTC-10:00) Гавайи TimeZoneAKST TimeZone = "AKST" // (UTC-09:00) Аляска TimeZonePST TimeZone = "PST" // (UTC-08:00) Тихоокеанское время (США и Канада) TimeZoneMST TimeZone = "MST" // (UTC-07:00) Горное время (США и Канада) TimeZoneCST TimeZone = "CST" // (UTC-06:00) Центральное время (США и Канада) TimeZoneEST TimeZone = "EST" // (UTC-05:00) Восточное время (США и Канада) TimeZoneAST TimeZone = "AST" // (UTC-04:00) Атлантическое время (Канада) TimeZoneBRT TimeZone = "BRT" // (UTC-03:00) Бразилия TimeZoneUTC TimeZone = "UTC" // (UTC) Время в формате UTC TimeZoneGMT TimeZone = "GMT" // (UTC) Дублин, Лиссабон, Лондон, Эдинбург TimeZoneCET TimeZone = "CET" // (UTC+01:00) Центральная Европа TimeZoneEET TimeZone = "EET" // (UTC+02:00) Восточная Европа TimeZoneMSK TimeZone = "MSK" // (UTC+03:00) Москва, Санкт-Петербург TimeZoneAZT TimeZone = "AZT" // (UTC+04:00) Баку TimeZoneAMT TimeZone = "AMT" // (UTC+04:00) Ереван TimeZoneSAMT TimeZone = "SAMT" // (UTC+04:00) Самара TimeZoneGET TimeZone = "GET" // (UTC+04:00) Тбилиси TimeZoneTJT TimeZone = "TJT" // (UTC+05:00) Ташкент TimeZoneYEKT TimeZone = "YEKT" // (UTC+05:00) Екатеринбург TimeZoneALMT TimeZone = "ALMT" // (UTC+06:00) Алматы TimeZoneNOVT TimeZone = "NOVT" // (UTC+06:00) Новосибирск TimeZoneKRAT TimeZone = "KRAT" // (UTC+07:00) Красноярск TimeZoneHKT TimeZone = "HKT" // (UTC+08:00) Гонконг TimeZoneIRKT TimeZone = "IRKT" // (UTC+08:00) Иркутск TimeZoneSGT TimeZone = "SGT" // (UTC+08:00) Сингапур TimeZoneULAT TimeZone = "ULAT" // (UTC+08:00) Улан-Батор TimeZoneYAKT TimeZone = "YAKT" // (UTC+09:00) Якутск TimeZoneVLAT TimeZone = "VLAT" // (UTC+10:00) Владивосток TimeZoneSAKT TimeZone = "SAKT" // (UTC+11:00) Чокурдах TimeZoneANAT TimeZone = "ANAT" // (UTC+12:00) Анадырь )
type Token ¶
type Token struct {
Token string `json:"Token"`
AccountId string `json:"AccountId"`
CardMask string `json:"CardMask"`
ExpirationDateMonth int `json:"ExpirationDateMonth"`
ExpirationDateYear int `json:"ExpirationDateYear"`
}
Token содержит информацию о токене.
type TokenPaymentRequest ¶
type TokenPaymentRequest struct {
Amount float64 `json:"Amount"`
Currency *CurrencyCode `json:"Currency"`
AccountId string `json:"AccountId"`
Token string `json:"Token"`
TrInitiatorCode int `json:"TrInitiatorCode"`
PaymentScheduled int `json:"PaymentScheduled,omitempty"`
InvoiceId string `json:"InvoiceId,omitempty"`
Description string `json:"Description,omitempty"`
IpAddress string `json:"IpAddress,omitempty"`
Email string `json:"Email,omitempty"`
Payer *Payer `json:"Payer,omitempty"`
JsonData map[string]interface{} `json:"JsonData,omitempty"`
RequestID *string `json:"-"`
}
TokenPaymentRequest представляет запрос на оплату по токену.
type TokenPayoutRequest ¶
type TokenPayoutRequest struct {
Token string `json:"Token"`
Amount float64 `json:"Amount"`
AccountId string `json:"AccountId"`
Currency *CurrencyCode `json:"Currency"`
InvoiceId string `json:"InvoiceId,omitempty"`
Payer *Payer `json:"Payer,omitempty"`
Receiver *Receiver `json:"Receiver,omitempty"`
RequestID *string `json:"-"`
}
TokenPayoutRequest представляет запрос на выплату по токену.
type TokensListRequest ¶
TokensListRequest представляет запрос на получение списка токенов.
type TokensListResponse ¶
type TokensListResponse struct {
Success bool `json:"Success"`
Message string `json:"Message"`
Model []Token `json:"Model"`
}
TokensListResponse представляет ответ с информацией о токенах.
type TransactionStatus ¶
type TransactionStatus string
TransactionStatus представляет статус транзакции.
var ( TransactionStatusAwaitingAuthentication TransactionStatus = "AwaitingAuthentication" // Ожидает аутентификации TransactionStatusAuthorized TransactionStatus = "Authorized" // Авторизована TransactionStatusCompleted TransactionStatus = "Completed" // Завершена TransactionStatusCancelled TransactionStatus = "Cancelled" // Отменена TransactionStatusDeclined TransactionStatus = "Declined" // Отклонена )
type VoidPaymentRequest ¶
type VoidPaymentRequest struct {
TransactionId int64 `json:"TransactionId"`
RequestID *string `json:"-"`
}
VoidPaymentRequest представляет запрос на отмену оплаты.