Laravel与moneris

时间:2015-09-01 16:04:07

标签: laravel-5.1

有人可以建议我如何使用laravel 5.1添加Moneris支付方法吗?

我有一个商家帐户。但我不确定laravel是否支持monaris。

提前致谢。

1 个答案:

答案 0 :(得分:0)

Laravel本身并不支持Moneris(也不支持任何支付处理器)。但是,您可以按照developer portal上列出的指令将Moneris(和Moneris API)集成到Laravel应用程序中。

与现代支付解决方案相比,如Stripe或Braintree,Moneris'使用API​​可能非常繁琐。如果您只使用基本购买,验证,预备,捕获和退款操作,建议您查看Keith Silgard's library

但是,如果您需要实施其他操作,例如向Vault添加卡,则必须遵循Moneris'示例并使其适应您的Laravel应用程序。对于(一个非常粗略的)例子:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use mpgClasses;

class PaymentController extends Controller
{

    protected function addCardToMonerisVault(Request $request) {

    /**************************** Request Variables *******************************/

    $store_id=getenv('MONERIS_STORE_ID');
    $api_token=getenv('MONERIS_API_KEY');

    /************************* Transactional Variables ****************************/

    $type='res_add_cc';
    $cust_id= Auth::user()->id;
    $pan=preg_replace('/\D/', '', $request->input('number'));
    $expiry_date=$request->input('expiry_year') . $request->input('expiry_month');
    $crypt_type='1';
    $avs_street_number = '';
    $avs_street_name = '';
    $avs_zipcode = '';

    /*********************** Transactional Associative Array **********************/

    $txnArray=array('type'=>$type,
            'cust_id'=>$cust_id,
            'pan'=>$pan,
            'expdate'=>$expiry_date,
            'crypt_type'=>$crypt_type
        );

    /**************************** Transaction Object *****************************/

    $mpgTxn = new \mpgTransaction($txnArray);

    /****************************** Request Object *******************************/

    $mpgRequest = new \mpgRequest($mpgTxn);

    /***************************** HTTPS Post Object *****************************/

    $mpgHttpPost  =new \mpgHttpsPost($store_id,$api_token,$mpgRequest);

    /******************************* Response ************************************/


    $response = $mpgHttpPost->response;

    return $response;

    }

}