mercadopago支付网关中的md5无效?

时间:2012-11-16 10:52:47

标签: php json sdk payment-gateway

我在mercedopago支付网关有问题。我使用以下代码进行付款

<?php
 $data = array (
// Required
"item_title" => "item name",
"item_quantity" => "1",
"item_unit_price" => "1.00",
"item_currency_id" => "BsF", //Argentina: ARS, Brasil: BRL

// Optional
"item_id" => "CODE_012",
"item_description" => "item description",
"item_picture_url" => "item image",
"external_reference" => "BILL_001",
"payer_name" => "name",
"payer_surname" => "surname",
"payer_email" => "aaa@gmail.com",
"back_url_success" => "www.website.com?success",
"back_url_pending" => "www.website.com?pending");

$md5String = "client_id".                    
        "client_secret".                
        $data["item_quantity"].                 // item_quantity
        $data["item_currency_id"].              // item_currency_id
        $data["item_unit_price"].               // item_unit_price
        $data["item_id"].                       // item_id
        $data["external_reference"];            // external_reference
$md5 = md5($md5String);
?>

如果我使用currency_code作为ARS或BRL,它可以正常工作。但是,当我使用BsF(委内瑞拉玻利瓦尔)它不应该正常运行它显示为无效md5如下,

  

Ops,algo deu errado   无效的md5。   Feche e tente novamente。

我还为委内瑞拉创建个人帐户。但它没有用。付款方式如下

<form action="https://www.mercadopago.com/checkout/init" method="post" enctype="application/x-www-form-urlencoded" target="">

        <input type="hidden" name="client_id" value="client_id"/>

        <!-- Hash MD5 -->
        <input type="hidden" name="md5" value="<?php echo $md5 ?>"/>

        <!-- Required -->
        <input type="hidden" name="item_title" value="<?php echo $data["item_title"]?> "/>
        <input type="hidden" name="item_quantity" value="<?php echo $data["item_quantity"]?>"/>
        <input type="hidden" name="item_currency_id" value="<?php echo $data["item_currency_id"]?>"/>
        <input type="hidden" name="item_unit_price" value="<?php echo $data["item_unit_price"]?>"/>

        <!-- Optional -->
        <input type="hidden" name="item_id" value="<?php echo $data["item_id"]?>"/>
        <input type="hidden" name="external_reference" value="<?php echo $data["external_reference"]?>"/>
        <input type="hidden" name="item_picture_url" value="<?php echo $data["item_picture_url"]?>"/>
        <input type="hidden" name="payer_name" value="<?php echo $data["payer_name"]?>"/>
        <input type="hidden" name="payer_surname" value="<?php echo $data["payer_surname"]?>"/>
        <input type="hidden" name="payer_email" value="<?php echo $data["payer_email"]?>"/>
        <input type="hidden" name="back_url_success" value="<?php echo $data["back_url_success"]?>"/>
        <input type="hidden" name="back_url_pending" value="<?php echo $data["back_url_pending"]?>"/>

        <!-- Checkout Button -->
        <button type="submit" class="lightblue-rn-m-tr-arall" name="MP-Checkout">Pagar</button>
    </form>

以上表格应用于付款。请任何人帮助我如何解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您必须编辑该字段:

<input type="hidden" name="client_id" value="client_id"/>

使用您的client_id

答案 1 :(得分:2)

委内瑞拉目前无法与md5集成。 可能从1月开始提供。

我希望这会有所帮助。