boomfly:meteor-payeer

v0.1.1Published 6 years ago

This package has not had recent updates. Please investigate it's current state before committing to using it in your project.

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'