0

Wordpress(両方とも最新バージョン)でhttp://www.jigoshop.comというプラグインを使用していますが、GoogleCheckoutゲートウェイに問題があります。

私は彼らのサポートを試しましたが、まだ応答がありません。

何かを注文しようとすると、次のエラーが発生します。

XMLの解析中にエラーが発生しました。パーサーからのメッセージは次のとおりです。shopping-cart.items.item-2.unit-priceの属性unit-priceの値が無効です:必須フィールドを空白にすることはできません

Googleマーチャントコンソールでは、これは次のように変換されます。

「受け取ったXML」

_type=checkout-shopping-cart&shopping-cart.merchant-private-data=273&checkout-flow-support.merchant-checkout-flow-support.continue-shopping-url=http%3A%2F%2Fwww.carolinemontagu.com%2Fv2%2Fevents%2Fcheckout%2Fthanks%2F&checkout-flow-support.merchant-checkout-flow-support.edit-cart-url=http%3A%2F%2Fwww.carolinemontagu.com%2Fv2%2Fevents%2Forder%2F&shopping-cart.items.item-1.item-name=Leadership+Success%3A+Early+bird+%26%238211%3B+19th+Oct&shopping-cart.items.item-1.item-description=&shopping-cart.items.item-1.unit-price=205.83&shopping-cart.items.item-1.unit-price.currency=GBP&shopping-cart.items.item-1.quantity=1&shopping-cart.items.item-1.merchant-item-id=211&shopping-cart.items.item-2.item-name=Shipping&shopping-cart.items.item-2.item-description=&shopping-cart.items.item-2.unit-price=&shopping-cart.items.item-2.unit-price.currency=GBP&shopping-cart.items.item-2.quantity=1&shopping-cart.items.item-2.merchant-item-id=

「送信したXML」

_type=error&error-message=Error+parsing+XML%3B+message+from+parser+is%3A+Invalid+value+for+attribute+unit-price+in+shopping-cart.items.item-2.unit-price%3A+Required+field+must+not+be+blank&serial-number=3f096700-bb6f-4e28-8740-f6ffa0d09aeb

私は彼らのコードを調べましたが、これに対応するものを見つけることができますshopping-cart.items.item-2.unit-price

private function formatOrder(jigoshop_order $order) {
    $result = array(
        '_type' => 'checkout-shopping-cart',
        'shopping-cart.merchant-private-data' => $order->id,
        'checkout-flow-support.merchant-checkout-flow-support.continue-shopping-url' => get_permalink(get_option('jigoshop_thanks_page_id')),
        'checkout-flow-support.merchant-checkout-flow-support.edit-cart-url' => get_permalink(get_option('jigoshop_cart_page_id')),
        //shipping-taxed
    );

    $i = 1;
    foreach($order->items as $item) {
        $prefix = "shopping-cart.items.item-$i.";//shopping-cart.items.item-1.item-name

        $result[$prefix.'item-name'] = $item['name'];
        $result[$prefix.'item-description'] = '';
        $result[$prefix.'unit-price'] = $item['cost'];
        $result[$prefix.'unit-price.currency'] = get_option('jigoshop_currency');
        $result[$prefix.'quantity'] = $item['qty'];
        $result[$prefix.'merchant-item-id'] = $item['id'];

        $i++;
    }

    $prefix = "shopping-cart.items.item-$i.";

    $result[$prefix.'item-name'] = __('Shipping', 'jigoshop');
    $result[$prefix.'item-description'] = '';
    $result[$prefix.'unit-price'] = $order->order_shipping;
    $result[$prefix.'unit-price.currency'] = get_option('jigoshop_currency');
    $result[$prefix.'quantity'] = 1;
    $result[$prefix.'merchant-item-id'] = $order->shipping_method;

    return $result;
}

誰かがこの問題を手伝うことができますか?締め切りが迫っています。

4

1 に答える 1

1

ショッピングカートにアイテムを1つだけ追加した場合、提供されたコードに基づいて、アイテム2が送料になります。

$order->order_shippingが正しく初期化されていることを確認してください。

于 2012-05-10T02:42:47.043 に答える