Documentation ¶
Index ¶
- Constants
- Variables
- func CreateOplataURL(publicKey string, options *OplataCreateOptions) string
- func FormatBillMetadataDateTime(t time.Time) string
- func FormatTimeToLifetime(t time.Time) string
- func ParseBillMetadataDateTime(changedDateTime string) (time.Time, error)
- func ParseLifetime(str string) (time.Time, error)
- type API
- type BillMetadata
- type BillMetadataAmount
- type BillMetadataStatus
- type BillMetadataStatusValue
- type Currency
- type CustomerIdentificators
- type OplataCreateOptions
Constants ¶
View Source
const ( // При открытии формы будут отображаться только указанные // способы перевода, если они доступны. Возможные значения см. ниже. CustomFieldOptionPaySourcesFilter = "paySourcesFilter" // QIWI Кошелек. PaySourceQiwi = "qw" // Банковская карта. PaySourceCard = "card" // QIWI Кошелек и банковская карта. PaySourceQiwiAndCard = PaySourceQiwi + "," + PaySourceCard )
View Source
const ( // Код персонализации вашей формы. Может быть длиной <=255. // https://developer.qiwi.com/ru/p2p-payments/#custom CustomFieldOptionThemeCode = "themeCode" )
Variables ¶
View Source
var ErrQiwiP2PAPIError = errors.New("qiwi p2p api error")
Functions ¶
func CreateOplataURL ¶
func CreateOplataURL(publicKey string, options *OplataCreateOptions) string
Создаёт ссылку при переходе по которой отображается форма с выбором способа перевода. publicKey - публичный ключ Qiwi P2p API. Не может быть пустым. При использовании этого способа нельзя гарантировать, что все счета выставлены вами, в отличие от выставления счёта по API.
func FormatBillMetadataDateTime ¶
Форматирует time.Time в значение формата для полей с datetime в BillMetadata
func FormatTimeToLifetime ¶
Форматирует time.Time в значение для `OplataCreateOptions.Lifetime`
func ParseBillMetadataDateTime ¶
Парсит значение поля с datetime из BillMetedata
Types ¶
type API ¶
type API struct { // Секретный ключ для авторизации запросов к API SecretKey string // net/http клиент, который будет использовать для запросов. Не может быть `nil`. HttpClient *http.Client }
Интерфейс для взаимодействия с API P2P-счетов по стандарту OAuth 2.0.
func (*API) CancelBill ¶
func (api *API) CancelBill(billID string) (*BillMetadata, error)
Отмена неоплаченного счета
func (*API) CreateBill ¶
func (api *API) CreateBill(billID string, billMeta *BillMetadata) (*BillMetadata, error)
Выставление счета
type BillMetadata ¶
type BillMetadata struct { // Ваш идентификатор в сервисе приема платежей для физических лиц p2p.qiwi.com. // НЕ ИСПОЛЬЗОВАТЬ С CreateBill(). SiteID string `json:"siteId,omitempty"` // Идентификатор выставляемого сч1та в вашей системе. Может быть длиной <=200. // Он должен быть уникальным, и генерироваться на вашей стороне любым способом. // Идентификатором может быть любая уникальная последовательность букв или цифр. // Также разрешено использование символа подчеркивания (_) и дефиса (-). // НЕ ИСПОЛЬЗОВАТЬ С CreateBill(). BillID string `json:"billId,omitempty"` // Ссылка на созданную форму. Перенаправьте пользователя // по этой ссылке для оплаты счета или используйте // библиотеку Popup, чтобы открыть форму во всплывающем окне. // https://developer.qiwi.com/ru/p2p-payments/#popup // НЕ ИСПОЛЬЗОВАТЬ С CreateBill(). PayURL string `json:"payUrl,omitempty"` // Идентификаторы пользователя. Customer *CustomerIdentificators `json:"customer,omitempty"` // Комментарий к счету. Comment string `json:"comment,omitempty"` // Информация о сумме счета. Amount *BillMetadataAmount `json:"amount,omitempty"` // Информация о статусе счета. // НЕ ИСПОЛЬЗОВАТЬ С CreateBill(). Status *BillMetadataStatus `json:"status,omitempty"` // Объект строковых дополнительных параметров. Возможные элементы: paySourcesFilter, themeCode // Может также включать поля (см. константы этого модуля): // CustomFieldOptionPaySourcesFilter (с возможными значениями: PaySourceQiwi, PaySourceCard, PaySourceQiwiAndCard) // и CustomFieldOptionThemeCode. CustomFields map[string]string `json:"customFields,omitempty"` // Системная дата создания счета. Формат даты: `ГГГГ-ММ-ДДTчч:мм:сс±чч:мм`. // НЕ ИСПОЛЬЗОВАТЬ С CreateBill(). CreationDateTime string `json:"creationDateTime,omitempty"` // Срок действия созданной формы для перевода. Формат даты: `ГГГГ-ММ-ДДTчч:мм:сс±чч:мм`. ExpirationDateTime string `json:"expirationDateTime,omitempty"` }
type BillMetadataAmount ¶
type BillMetadataAmount struct { // Сумма счета, округленная до 2 знаков после запятой в меньшую сторону. Value string `json:"value,omitempty"` // Валюта суммы счета (Alpha-3 ISO 4217 код). Доступные значения: CurrencyRUB, CurrencyKZT (см. константы модуля) Currency Currency `json:"currency,omitempty"` }
type BillMetadataStatus ¶
type BillMetadataStatus struct { // Текущий статус счета. Value BillMetadataStatusValue `json:"value,omitempty"` // Дата обновления статуса. Формат даты: `ГГГГ-ММ-ДДTчч:мм:сс±чч:мм`. ChangedDateTime string `json:"changedDateTime,omitempty"` }
type BillMetadataStatusValue ¶
type BillMetadataStatusValue string
Статус оплаты счета.
const ( // Счет выставлен, ожидает оплаты. BillMetadataStatusValueWaiting BillMetadataStatusValue = "WAITING" // Счет оплачен. Финальный. BillMetadataStatusValuePaid BillMetadataStatusValue = "PAID" // Время жизни счета истекло. Счет не оплачен. Финальный. BillMetadataStatusValueExpired BillMetadataStatusValue = "EXPIRED" // Счет отклонен. Финальный. BillMetadataStatusValueRejected BillMetadataStatusValue = "REJECTED" )
type CustomerIdentificators ¶
type OplataCreateOptions ¶
type OplataCreateOptions struct { // Идентификатор выставляемого сч1та в вашей системе. Может быть длиной <=200. // Он должен быть уникальным, и генерироваться на вашей стороне любым способом. // Идентификатором может быть любая уникальная последовательность букв или цифр. // Также разрешено использование символа подчеркивания (_) и дефиса (-). BillID string `url:"billId,omitempty"` // Сумма, на которую выставляется счёт, округленная в меньшую сторону до 2 десятичных знаков. // Должна быть не больше 6 знаков до запятой и не больше 2 знаков после запятой. // Пример: `Amount: "123456.78"` Amount string `url:"amount,omitempty"` // Номер телефона пользователя (в международном формате). Phone string `url:"phone,omitempty"` // E-mail пользователя. Email string `url:"email,omitempty"` // Идентификатор пользователя в вашей системе. Account string `url:"account,omitempty"` // Комментарий к счету. Может быть длиной <=255. Comment string `url:"comment,omitempty"` // Дополнительные данные счета. Может быть длиной суммарно <=255. // Может также включать поля (см. константы этого модуля): // CustomFieldOptionPaySourcesFilter (с возможными значениями: PaySourceQiwi, PaySourceCard, PaySourceQiwiAndCard) // и CustomFieldOptionThemeCode CustomFields []string `url:"customFields,omitempty"` // Дата и время по МСК (UTC+3), до которого счёт будет актуален. Формат - ГГГГ-ММ-ДДTччмм, см. ConvertTimeToLifetimeValue(). // Если перевод по счету не будет произведен до этой даты, // ему присваивается финальный статус `EXPIRED` и последующий перевод станет невозможен. // **Внимание! По истечении 45 суток от даты выставления счёт автоматически будет переведен в финальный статус** Lifetime string `url:"lifetime,omitempty"` // URL для переадресации на ваш сайт в случае успешного перевода SuccessURL string `url:"successUrl,omitempty"` }
Необязательные параметры для выставления сч1та.
Click to show internal directories.
Click to hide internal directories.