Meteor Payeer integration
Прием платежей через платежный шлюз Payeer для Meteor.js.
Установка
meteor add boomfly:meteor-paybox
Пример использования
1import React from 'react' 2import ReactDOM from 'react-dom' 3import Payeer from 'meteor/boomfly:meteor-payeer' 4 5Payeer.config 6 secretKey: '' # Секретный ключ из настроек магазина 7 merchantId: '' # Идентификатор продавца 8 siteUrl: 'https://example.com' 9 currency: 'USD' 10 testingMode: true # Тестовый режим для отладки подключения 11 debug: true 12 13 14if Meteor.isServer 15 Meteor.methods 16 placeOrder: (amount) -> 17 params = 18 pg_amount: amount 19 try 20 response = Payeer.initPaymentSync params 21 catch error 22 response = error 23 response 24 25if Meteor.isClient 26 class PaymentButton extends React.Component 27 placeOrder: -> 28 Meteor.call 'placeOrder', 100, (error, result) -> 29 window.location.href = result.pg_redirect_url._text # Переправляем пользователя на страницу оплаты 30 31 render: -> 32 <button className='btn btn-success' onClick={@placeOrder}>Оплатить 100 KZT</button> 33 34 ReactDOM.render <PaymentButton />, document.getElementById('app')
API
Payeer.initPayment(params, callback)
Инициализация платежа
params - Объект, полный список допустимых параметров можно посмотреть на странице
callback - Функция обработчик разультата, принимает 2 параметра (error, result)
Доступна синхронная версия функции Payeer.initPaymentSync
через Meteor.wrapAsync
Events
Payeer.onResult(callback)
Обработка результата платежа
callback - Функция обработки результата платежа, принимает 1 параметр (params). Полный список параметров на странице
Payeer.onCheck(callback)
Проверка возможности совершения платежа
callback - Функция проверки возможности совершения платежа, принимает 1 параметр (params). Полный список параметров на странице
return - Функция должна вернуть объект с результатом проверки. Результат функции будет конвертирован в xml
и отправлен ответом на запрос Payeer.
пример:
1Payeer.onCheck (params) -> 2 order = Order.findOne params.pg_order_id 3 if not order 4 pg_status: 'rejected' 5 pg_description: "Order with _id: '#{params.pg_order_id}' not found" 6 else 7 if order.status is OrderStatus.PENDING_PAYMENT 8 pg_status: 'ok' 9 else if order.status is OrderStatus.CANCELLED 10 pg_status: 'rejected' 11 pg_description: 'Order cancelled' 12 else if order.status is OrderStatus.PROCESSED 13 pg_status: 'rejected' 14 pg_description: 'Order already processed'