imagina/ipayu-module

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 5

分支: 0

开放问题: 0

类型:asgard-module

0.1.6 2020-03-06 16:02 UTC

This package is auto-updated.

Last update: 2024-09-23 05:32:08 UTC


README

Imagina 哥伦比亚

安装

composer require imagina/ipayu-module
php artisan module:migrate Ipayu

配置

访问您的 asgard 管理员,转到 ipayu 设置并输入所需数据

  • payUisTest
  • payUapiKey
  • payUapiLogin
  • payUmerchantId
  • payUlanguage
  • setPaymentsCustomUrl
  • setReportsCustomUrl
  • setSubscriptionsCustomUrl

API

查询

  • Ping

    GET: /api/ipayu/v1/queries/ping

    {
      "data": {
        "code": "SUCCESS",
        "result": {
          "payload": "ping"
        }
      }
    }
    

周期性支付

自动周期性支付是在一定时期内(每日、每月、每年)定期进行的支付,例如商品或服务的消费费用,如会员费、订阅、保险单或具有固定价值的收据,这些支付已由客户预先授权。

  • 计划:使用此功能,您可以注册客户的信用卡数据并获取令牌序列号。
    以下操作可用

    • 创建

      POST /api/ipayu/v1/plans

      属性

      {
        "attributes": {
          "plan_description": "imagina test", // Ingresa aquí la descripción del plan
          "plan_code": "imagina-test", // Ingresa aquí el código de identificación para el plan
          "plan_interval": "MONTH", //DAY||WEEK||MONTH||YEAR
          "plan_interval_count": 1, // Ingresa aquí la cantidad de intervalos
          "plan_currency": "COP", // Ingresa aquí la moneda para el plan
          "plan_value": 10000, // Ingresa aquí el valor del plan
          "plan_tax": 1600, // Ingresa aquí el valor del impuesto
          "plan_tax_return_base": 8400, // Ingresa aquí la base de devolución sobre el impuesto
          "account_id": "512321", // Ingresa aquí la cuenta Id del plan
          "plan_attempts_delay": 1, // Ingresa aquí el intervalo de reintentos
          "plan_max_payments": 12, // Ingresa aquí la cantidad de cobros que componen el plan
          "plan_max_payment_attempts": 3, // Ingresa aquí la cantidad total de reintentos para cada pago rechazado de la suscripción
          "plan_max_pending_payments": 1, // Ingresa aquí la cantidad máxima de pagos pendientes que puede tener una suscripción antes de ser cancelada.
          "trial_days": 30 // Ingresa aquí la cantidad de días de prueba de la suscripción.
        }
      }

      响应

      {
        "data": {
          "id": "692765fc-5f0b-4829-9da9-2ec5f8ca2c46",
          "planCode": "imagina-test",
          "description": "imagina test",
          "accountId": "512321",
          "intervalCount": 1,
          "interval": "MONTH",
          "maxPaymentsAllowed": 12,
          "maxPaymentAttempts": 3,
          "paymentAttemptsDelay": 1,
          "maxPendingPayments": 1,
          "trialDays": 0,
          "additionalValues": [
            {
              "name": "PLAN_TAX",
              "value": 1600,
              "currency": "COP"
            },
            {
              "name": "PLAN_VALUE",
              "value": 10000,
              "currency": "COP"
            },
            {
              "name": "PLAN_TAX_RETURN_BASE",
              "value": 8400,
              "currency": "COP"
            }
          ]
        }
      }
    • 更新

      PUT: /api/ipayu/v1/plans/{PLAN-CODE}

      属性

      {
        "attributes": {
          "plan_description": "imagina test Updated",
          "plan_code": "imagina-test",
          "plan_interval": "MONTH",
          "plan_interval_count": 1,
          "plan_currency": "COP",
          "plan_value": 10000,
          "plan_tax": 1600,
          "plan_tax_return_base": 8400,
          "account_id": "512321",
          "plan_attempts_delay": 1,
          "plan_max_payments": 12,
          "plan_max_payment_attempts": 3,
          "plan_max_pending_payments": 1,
          "trial_days": 30
        }
      }

      响应

      {
        "data": {
          "id": "692765fc-5f0b-4829-9da9-2ec5f8ca2c46",
          "planCode": "imagina-test",
          "description": "imagina test Updated",
          "accountId": "512321",
          "intervalCount": 1,
          "interval": "MONTH",
          "maxPaymentsAllowed": 12,
          "maxPaymentAttempts": 3,
          "paymentAttemptsDelay": 1,
          "maxPendingPayments": 1,
          "trialDays": 0,
          "additionalValues": [
            {
              "name": "PLAN_TAX_RETURN_BASE",
              "value": 8400,
              "currency": "COP"
            },
            {
              "name": "PLAN_TAX",
              "value": 1600,
              "currency": "COP"
            },
            {
              "name": "PLAN_VALUE",
              "value": 10000,
              "currency": "COP"
            }
          ]
        }
      }
    • 查询

      GET: /api/ipayu/v1/plans/imagina-test

      响应

      {
        "data": {
          "id": "692765fc-5f0b-4829-9da9-2ec5f8ca2c46",
          "planCode": "imagina-test",
          "description": "imagina test",
          "accountId": "512321",
          "intervalCount": 1,
          "interval": "MONTH",
          "maxPaymentsAllowed": 12,
          "maxPaymentAttempts": 3,
          "paymentAttemptsDelay": 1,
          "maxPendingPayments": 1,
          "trialDays": 0,
          "additionalValues": [
            {
              "name": "PLAN_TAX_RETURN_BASE",
              "value": 8400,
              "currency": "COP"
            },
            {
              "name": "PLAN_TAX",
              "value": 1600,
              "currency": "COP"
            },
            {
              "name": "PLAN_VALUE",
              "value": 10000,
              "currency": "COP"
            }
          ]
        }
      }
    • 删除

    DELETE: /api/ipayu/v1/plans/{PLAN-CODE}

    响应

    {
      "data": true
    }
  • 客户:客户是识别将受益于提供的商品或服务的单位,并关联到周期性支付计划。

    • 创建

    POST: /api/ipayu/v1/customers

    属性

    {
      "attributes": {
        "customer_name": "Imagina Colombia",
        "customer_email": "soporte@imaginacolombia.com"
      }
    }

    响应

    {
      "data": {
        "id": "b15510e2hog7",
        "fullName": "Imagina Colombia",
        "email": "soporte@imaginacolombia.com"
      }
    }
    • 更新

      PUT: /api/ipayu/v1/customers/{ID-CUSTOMER}

      属性

      {
        "attributes": {
          "customer_name": "Imagina Colombia update",
          "customer_email": "soporte@imaginacolombia.com"
        }
      }

      响应

      {
        "data": {
          "id": "b15510e2hog7",
          "fullName": "Imagina Colombia update",
          "email": "soporte@imaginacolombia.com"
        }
      }
    • 查询

      GET: /api/ipayu/v1/customers/ID-CUSTOMER

      响应

      {
        "data": {
          "id": "b15510e2hog7",
          "fullName": "Imagina Colombia update",
          "email": "soporte@imaginacolombia.com"
        }
      }
    • 删除

      DELETE: /api/ipayu/v1/customers/ID-CUSTOMER

      {
        "data": {
          "description": "The customer [b15510e2hog7] has been deleted"
        }
      }
  • 信用卡:是计划与付款人相关联的支付方式,由信用卡号(将进行令牌化以安全存储数据)、卡片到期日和一些附加数据组成。

    • 创建

      POST: /api/ipayu/v1/credit-cards

      属性

      {
        "attributes": {
          "customer_id": "4d341cr3b3xb",
          "payer_name": "Pedro Perez",
          "credit_card_number": "4242424242424242",
          "credit_card_expiration_date": "2020/12",
          "payment_method": "VISA",
          "credit_card_document": "1020304050",
          "payer_dni": "101010123",
          "payer_street": "Street 93B",
          "payer_street_2": "17 25",
          "payer_street_3": "Office 301",
          "payer_city": "Bogotá",
          "payer_state": "Bogotá D.C.",
          "payer_country": "CO",
          "payer_postal_code": "00000",
          "payer_phone": "300300300"
        }
      }

      响应

      {
        "data": {
          "token": "d7387e50-9d23-4bbb-8f32-bcd6d79874cf"
        }
      }
    • 更新

      PUT: /api/ipayu/v1/credit-cards/{TOKEN-ID}

      属性

      {
        "attributes": {
          "customer_id": "4d341cr3b3xb",
          "payer_name": "Pedro Perez",
          "credit_card_number": "4242424242424242",
          "credit_card_expiration_date": "2020/12",
          "payment_method": "VISA",
          "credit_card_document": "1020304050",
          "payer_dni": "101010123",
          "payer_street": "Street 93B",
          "payer_street_2": "17 25",
          "payer_street_3": "Office 301",
          "payer_city": "Bogotá",
          "payer_state": "Bogotá D.C.",
          "payer_country": "CO",
          "payer_postal_code": "00000",
          "payer_phone": "300300300"
        }
      }

      响应

      {
        "data": {
          "token": "d7387e50-9d23-4bbb-8f32-bcd6d79874cf"
        }
      }
    • 查询

      GET: /api/ipayu/v1/credit-cards/{TOKEN-ID}

      响应

      {
        "data": {
          "token": "d7387e50-9d23-4bbb-8f32-bcd6d79874cf",
          "customerId": "4d341cr3b3xb",
          "number": "424242******4242",
          "type": "VISA",
          "name": "Juan Perez",
          "document": "1020304050",
          "address": {
          "line1": "Street 93B",
          "line2": "17 25",
          "line3": "Office 301",
          "city": "Bogotá",
          "state": "Bogotá D.C.",
          "country": "CO",
          "postalCode": "00000",
          "phone": "300300300"
          }
        }
      }
    • 删除

      DELETE: /api/ipayu/v1/credit-cards/{TOKEN-ID}

      响应

      {
        "data": true
      }
  • 订阅:订阅是支付计划、付款人和信用卡之间的关系,它是控制相应收费执行的因素。

    • 创建

      POST: /api/ipayu/v1/subscriptions

      • 包含所有新项

        属性

        {
          "attributes": {
            "all_new": true,
            "installments_number": "",
            "trial_days": "",
            "customer_name": "",
            "customer_email": "",
            "payer_name": "",
            "credit_card_number": "",
            "credit_card_expiration_date": "",
            "payment_method": "",
            "credit_card_document": "",
            "payer_dni": "",
            "payer_street": "",
            "payer_street_2": "",
            "payer_street_3": "",
            "payer_city": "",
            "payer_state": "",
            "payer_country": "",
            "payer_postal_code": "",
            "payer_phone": "",
            "plan_description": "",
            "plan_code": "",
            "plan_interval": "",
            "plan_interval_count": "",
            "plan_currency": "",
            "plan_value": "",
            "plan_tax": "",
            "plan_tax_return_base": "",
            "account_id": "",
            "plan_attempts_delay": "",
            "plan_max_payments": "",
            "plan_max_payment_attempts": "",
            "plan_max_pending_payments": "",
            "trial_days": "",
          }
        }

        响应

        {
          "data": {
            
          }
        }
      • 包含所有现有项

        属性

        {
          "attributes": {
            "all_existing": true,
            "plan_code": "",
            "customer_id": "",
            "token_id": "",
            "trial_days": "",
            "installments_number": "",
          }
        }

        响应

        {
          "data": {
            
          }
        }
      • 已创建的计划和客户,以及新卡

        属性

        {
          "attributes": {
            "plan_and_customer_created_and_new_card": true,
            "installments_number": "",
            "trial_days": "",
            "customer_id": "",
            "payer_name": "",
            "credit_card_number": "",
            "credit_card_expiration_date": "",
            "payment_method": "",
            "credit_card_document": "",
            "payer_dni": "",
            "payer_street": "",
            "payer_street_2": "",
            "payer_street_3": "",
            "payer_city": "",
            "payer_state": "",
            "payer_country": "",
            "payer_postal_code": "",
            "payer_phone": "",
            "plan_code": "",
          }
        }

        响应

        {
          "data": {
            
          }
        }
      • 已创建的客户和卡,以及新计划

        属性

        {
          "attributes": {
            "customer_and_card_createdand_with_new_plan": true,
            "installments_number": "",
            "trial_days": "",
            "customer_id": "",
            "token_id": "",
            "plan_description": "",
            "plan_code": "",
            "plan_interval": "",
            "plan_interval_count": "",
            "plan_currency": "",
            "plan_value": "",
            "plan_tax": "",
            "plan_tax_return_base": "",
            "account_id": "",
            "plan_attempts_delay": "",
            "plan_max_payments": "",
            "plan_max_payment_attempts": "",
            "plan_max_pending_payments": "",
            "trial_days": "",
          }
        }

        响应

        {
          "data": {
            
          }
        }
    • 删除

      DELETE: /api/ipayu/v1/subscriptions/{SUBSCRIPTION-ID}

      响应

      {
        "data": true
      }
  • 附加费用:费用可能是一笔附加费用或折扣,该费用是在构成周期性支付计划的支付之一的价值上实现的。这些只影响下一个待定的费用,并且只运行一次。

    • 创建

    POST /api/ipayu/v1/additional-charges

    属性

      {
        "attributes": {
          "description": "",
          "item_value": "",
          "currency": "",
          "subscription_id": "",
          "item_tax_return_base": "",
        }
      }

    响应

    {
      "data": {
    
      }
    }
    • 更新

      POST /api/ipayu/v1/additional-charges/{RECURRING-BILL-ITEM-ID}

      属性

      {
        "attributes": {
          "description": "",
          "item_value": "",
          "currency": "",
          "subscription_id": "",
          "item_tax_return_base": "",
        }
      }

      响应

      {
        "data": {
        
        }
      }
    • 查询

      POST /api/ipayu/v1/'additional-charges/{RECURRING-BILL-ITEM-ID}

      响应

      {
        "data": {
        
        }
      }
    • 删除

      POST /api/ipayu/v1/additional-charges/{RECURRING-BILL-ITEM-ID}

      响应

      {
        "data": {
        
        }
      }

外观

计划

示例使用

namespace ...

use Modules\Ipayu\Facades\Plan;

class myClass {
  public function myFunction (){
    $data = [...];
    Plan::creation($data);
  }
}

现在,您有权访问类 SupportPayUPlans 的所有方法。

确认页面

POST /api/ipayu/v1/orders