imagina / ipayu-module
Requires
- php: >=7.0.0
- composer/installers: ~1.0
- idavoll/core-module: ~3.0
- imagina/laravel-payu: ^0.1.2
Requires (Dev)
- orchestra/testbench: 3.5.*
- phpunit/phpunit: ~6.0
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