Documentation
¶
Index ¶
- Variables
- type JSONError
- type JSONResponse
- type JSONSuccessInfo
- type JSONSuccessInfoExpiration
- type JSONSuccessOrder
- type VKAPIKV
- func (keyValues VKAPIKV) Checksum(secretKey string) (string, error)
- func (m VKAPIKV) Item() string
- func (keyValues VKAPIKV) KV() a5gapi.KV
- func (keyValues VKAPIKV) KVS() a5gapi.KVS
- func (m VKAPIKV) NotificationType() string
- func (m VKAPIKV) OrderID() string
- func (m VKAPIKV) Sig() string
- func (kv VKAPIKV) VKAPIPaymentInfo() (*VKAPIPaymentInfo, error)
- func (kv VKAPIKV) VKAPIPaymentOrder() (*VKAPIPaymentOrder, error)
- func (keyValues VKAPIKV) Validate() error
- type VKAPIPayment
- type VKAPIPaymentInfo
- type VKAPIPaymentInfoLanguage
- type VKAPIPaymentNotificationType
- type VKAPIPaymentOrder
- type VKAPIPaymentOrderStatus
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDBTemporaryError = JSONError{ Code: 2, Critical: false, Err: errors.New("temporary database error")} ErrSignatureMismatch = JSONError{ Code: 10, Critical: true, Err: errors.New("mismatching of the calculated and transmitted signature")} ErrQueryParameters = JSONError{ Code: 11, Critical: true, Err: errors.New("query parameters do not meet the specification")} ErrProductNotExist = JSONError{ Code: 20, Critical: true, Err: errors.New("product does not exist")} ErrProductOutOfStock = JSONError{ Code: 21, Critical: true, Err: errors.New("product is out of stock")} ErrUserNotExist = JSONError{ Code: 22, Critical: true, Err: errors.New("user does not exist")} ErrUnknownInternalServerError = JSONError{ Code: 100, Critical: true, Err: errors.New("unknown internal server error")} ErrUnsupportedPaymentNotificationType = JSONError{ Code: 101, Critical: true, Err: errors.New("unsupported payment notification type")} )
<https://vk.com/dev/payments_errors>
View Source
var ( ErrVKAPIPaymentUnexpectedNotificationType = errors.New(`unexpected vk payment's "notification_type"`) ErrVKAPIPaymentItemEmpty = errors.New(`empty vk payment's "item"`) )
View Source
var ErrVKAPIKVKeyName = errors.New("unknown vk payment's key name")
View Source
var ErrVKAPIPaymentInfoLanguage = errors.New(`unexpected vk payment's "lang"`)
View Source
var ErrVKAPIPaymentOrderStatusUnexpected = errors.New(`unexpected vk payment's order "status"`)
Functions ¶
This section is empty.
Types ¶
type JSONError ¶
type JSONError struct {
Code uint64 `json:"error_code"`
Err error `json:"error_msg,omitempty"`
Critical bool `json:"critical"`
}
JSONError <https://vk.com/dev/payments_errors>.
func (*JSONError) MarshalJSON ¶
func (*JSONError) UnmarshalJSON ¶
type JSONResponse ¶
type JSONResponse struct {
Error *JSONError `json:"error,omitempty"`
Payload interface{} `json:"response,omitempty"`
}
type JSONSuccessInfo ¶
type JSONSuccessInfo struct {
// Title vk description: название товара, до 48 символов
Title string `json:"title"`
// PhotoURL vk description: URL изображения товара на сервере
// разработчика. Рекомендуемый размер изображения – 75х75px.
PhotoURL string `json:"photo_url,omitempty"`
// Price vk description: стоимость товара в голосах.
Price int64 `json:"price"`
// ItemID vk description: идентификатор товара в приложении.
ItemID string `json:"item_id,omitempty"`
// Expiration vk description: разрешает кэширование товара на
// {expiration} секунд. Допустимый диапазон от 600 до 604800 секунд.
// Внимание! При отсутствии параметра возможно кэширование товара на
// 3600 секунд при большом количестве подряд одинаковых ответов. Для
// отмены кэширования необходимо передать 0 в качестве значения
// параметра.
Expiration int64 `json:"expiration"`
}
JSONSuccessInfo <https://vk.com/dev/payments_getitem>.
type JSONSuccessInfoExpiration ¶
type JSONSuccessInfoExpiration int64
const JSONSuccessInfoExpirationNoCache JSONSuccessInfoExpiration = 0
type JSONSuccessOrder ¶
type JSONSuccessOrder struct {
// OrderID, vk description: required идентификатор заказа в системе
// платежей ВКонтакте.
OrderID int64 `json:"order_id"`
// AppOrderID vk description: идентификатор заказа в приложении.
// Должен быть уникальным для каждого заказа.
AppOrderID int64 `json:"app_order_id,omitempty"`
}
JSONSuccessOrder <https://vk.com/dev/payments_status>.
type VKAPIKV ¶
VKAPIKV vk payment's key values
func NewVKAPIKVByURLValues ¶
func (VKAPIKV) NotificationType ¶
func (VKAPIKV) VKAPIPaymentInfo ¶
func (kv VKAPIKV) VKAPIPaymentInfo() (*VKAPIPaymentInfo, error)
func (VKAPIKV) VKAPIPaymentOrder ¶
func (kv VKAPIKV) VKAPIPaymentOrder() (*VKAPIPaymentOrder, error)
type VKAPIPayment ¶
type VKAPIPayment struct {
// NotificationType (notification_type) тип уведомления.
// равен "order_status_change" или "order_status_change_test".
NotificationType string `json:"notificationType"`
// AppID (app_id) идентификатор приложения.
AppID int64 `json:"appId"`
// UserID (user_id) идентификатор пользователя, сделавшего заказ.
UserID int64 `json:"userId"`
// ReceiverID (receiver_id) идентификатор получателя заказа
// (в данный момент совпадает с user_id, но в будущем может отличаться).
ReceiverID int64 `json:"receiverId"`
// OrderID (order_id) идентификатор заказа в системе платежей ВКонтакте.
OrderID int64 `json:"orderId"`
// Signature (sig) подпись уведомления (см. подробнее в разделе 3. Проверка подписи уведомления).
Signature string `json:"signature"`
}
VKAPIPayment <https://vk.com/dev/payments_callbacks>.
func (*VKAPIPayment) Validate ¶
func (p *VKAPIPayment) Validate() error
type VKAPIPaymentInfo ¶
type VKAPIPaymentInfo struct {
VKAPIPayment
// Language (lang) язык пользователя в формате язык_страна.
// На данный момент поддерживается 4 языка.
Language string `json:"language"`
// Item наименование товара, переданное диалоговому окну покупки
// (см. Параметры диалогового окна платежей)
Item string `json:"item"`
}
VKAPIPaymentInfo <https://vk.com/dev/payments_getitem>.
func (*VKAPIPaymentInfo) Validate ¶
func (p *VKAPIPaymentInfo) Validate() error
type VKAPIPaymentInfoLanguage ¶
type VKAPIPaymentInfoLanguage string
VKAPIPaymentInfoLanguage allowable languages for VKAPIPaymentInfo.Language
const ( VKAPIPaymentInfoLanguageRURU VKAPIPaymentInfoLanguage = "ru_RU" VKAPIPaymentInfoLanguageUKUA VKAPIPaymentInfoLanguage = "uk_UA" VKAPIPaymentInfoLanguageBEBY VKAPIPaymentInfoLanguage = "be_BY" VKAPIPaymentInfoLanguageENUS VKAPIPaymentInfoLanguage = "en_US" )
func (VKAPIPaymentInfoLanguage) String ¶
func (t VKAPIPaymentInfoLanguage) String() string
type VKAPIPaymentNotificationType ¶
type VKAPIPaymentNotificationType string
VKAPIPaymentNotificationType allowable values for VKAPIPayment.NotificationType
const ( // VKAPIPaymentNotificationTypeGetItem получение информации о товаре. VKAPIPaymentNotificationTypeGetItem VKAPIPaymentNotificationType = "get_item" VKAPIPaymentNotificationTypeGetItemTest VKAPIPaymentNotificationType = "get_item_test" // VKAPIPaymentNotificationTypeOrderStatusChange изменение статуса заказа. VKAPIPaymentNotificationTypeOrderStatusChange VKAPIPaymentNotificationType = "order_status_change" VKAPIPaymentNotificationTypeOrderStatusChangeTest VKAPIPaymentNotificationType = "order_status_change_test" // VKAPIPaymentNotificationTypeGetSubscription получение информации о подписке. VKAPIPaymentNotificationTypeGetSubscription VKAPIPaymentNotificationType = "get_subscription" // VKAPIPaymentNotificationTypeSubscriptionStatusChange изменение статуса подписки. VKAPIPaymentNotificationTypeSubscriptionStatusChange VKAPIPaymentNotificationType = "subscription_status_change" )
func (VKAPIPaymentNotificationType) String ¶
func (t VKAPIPaymentNotificationType) String() string
func (VKAPIPaymentNotificationType) Validate ¶
func (t VKAPIPaymentNotificationType) Validate() error
type VKAPIPaymentOrder ¶
type VKAPIPaymentOrder struct {
VKAPIPayment
// Date дата создания заказа (в формате Unixtime).
Date int64 `json:"date"`
// Status новый статус заказа.
// Возможные значения:
// chargeable — заказ готов к оплате. Необходимо оформить заказ
// пользователю внутри приложения. В случае ответа об успехе
// платёжная система зачислит голоса на счёт приложения. Если в
// ответ будет получено сообщение об ошибке, заказ отменяется.
Status string `json:"status"`
// Item наименование товара, переданное диалоговому окну покупки
// (см. Параметры диалогового окна платежей)
Item string `json:"item"`
// ItemID (item_id) идентификатор товара в приложении.
ItemID string `json:"itemId"`
// ItemTitle (item_title) название товара.
ItemTitle string `json:"itemTitle"`
// ItemPhotoURL (item_photo_url) string изображение товара.
ItemPhotoURL string `json:"itemPhotoUrl"`
// ItemPrice (item_price) стоимость товара.
ItemPrice string `json:"itemPrice"`
}
VKAPIPaymentOrder <https://vk.com/dev/payments_status>.
func (*VKAPIPaymentOrder) Validate ¶
func (p *VKAPIPaymentOrder) Validate() error
type VKAPIPaymentOrderStatus ¶
type VKAPIPaymentOrderStatus string
VKAPIPaymentOrderStatus allowable values for VKAPIPaymentOrder.Status
const (
VKAPIPaymentOrderStatusChargeable VKAPIPaymentOrderStatus = "chargeable"
)
func (VKAPIPaymentOrderStatus) String ¶
func (s VKAPIPaymentOrderStatus) String() string
Click to show internal directories.
Click to hide internal directories.