0

支払いゲートウェイは、支払いページに統合するための次のコードを提供してくれました。

Please replace these items with the appropriate data:
• with the ID auto-generated by Gateway for the merchant.
• with the input field of the transaction amount.
• with the input field of the order id.
• with the input field of the product name.
• with the input field of the customer email.

サンプルはこちら:

<input type="hidden" name="mercId" value="">
<input type="hidden" name="currCode" value="">
<input type="hidden" name="amt" value="">
<input type="hidden" name="orderId" value="">
<input type="hidden" name="prod" value="">
<input type="hidden" name="email" value="">

次に、動作しているredirect.phtmlに組み込んでみます。

<?php
// Retrieve order
$_order = new Mage_Sales_Model_Order();
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$_order->loadByIncrementId($orderId);
?>
<form name="mygatewayform" method="post" action="https://sample.com/MerchantServices/MakePayment.aspx">
<input type="hidden" name="orderId" value="<?php echo $orderId; ?>">
<input type="hidden" name="amt" value="<?php echo $_order->getBaseGrandTotal(); ?>">
<input type="hidden" name="mercId" value="05430">
<input type="hidden" name="prod" value="BLACKBERRY BLACK SKIN WHITE">  
<input type="hidden" name="email" value="<?php echo $_order->getCustomerEmail(); ?>">    
</form>
<script type="text/javascript">
document.mygatewayform.submit();
</script>

しかし、顧客がプログラムで購入している製品名を挿入しようとするたび<?php echo $productname = $item->getName(); ?>に、支払いゲートウェイページにリダイレクトされず、www.domain.com/index.php/mygateway/payment/redirect/ で停止します。これは私が試したもので、再びリダイレクトされませんでした。

<?php
// Retrieve order
$_order = new Mage_Sales_Model_Order();
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$_order->loadByIncrementId($orderId);
?>
<form name="mygatewayform" method="post" action="https://sample.com/MerchantServices/MakePayment.aspx">
    <input type="hidden" name="orderId" value="<?php echo $orderId; ?>">
    <input type="hidden" name="amt" value="<?php echo $_order->getBaseGrandTotal(); ?>">
        <input type="hidden" name="mercId" value="05430">
    <input type="hidden" name="prod" value="<?php echo $productname = $item->getName(); ?>">  
    <input type="hidden" name="email" value="<?php echo $_order->getCustomerEmail(); ?>">    
</form>
<script type="text/javascript">
document.mygatewayform.submit();
</script>

私が間違っていることを教えてください。または、製品名と情報を挿入する方法、またはredirect.phtmlページに呼び出す方法を教えてください。

ありがとう

4

1 に答える 1

0

このコードで問題が解決するかどうかはわかりませんが、間違っていなければ、getName()関数が機能しないのは$item.

まず、カートにあるアイテムをロードする必要があります。

$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();

// then loop on items
foreach ($items as $item) {
    echo $item->getName().'<br />';
}
于 2013-07-28T14:35:37.130 に答える