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.