ngCart PayPal 结帐页面询问购物车的购买详细信息

ngCart PayPal checkout page ask for purchase details for cart

这个问题可能与Itemized PayPal Checkout using Angular (ngCart)

有关

我正在尝试使用 ngcart http://ngcart.snapjay.com/cart 将购物车添加到我的网站。

我有一个可用的结帐页面,其中包含产品的详细列表。

当您加载带有添加到购物车的商品的购物车视图时检查结帐按钮的元素会给出:

<ngcart-checkout template-url="/templates/ngCart/checkout.html" service="paypal" settings="{ url:'/shop/checkout', paypal: { business: 'paypal_email', item_number:'123', currency_code:'GBP'}}" class="ng-isolate-scope">

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" ng-show="ngCart.getTotalItems()" class="ng-pristine ng-valid">
    <input type="hidden" name="cmd" value="_xclick" autocomplete="off">
    <input type="hidden" name="business" value="paypal_email" autocomplete="off">
    <input type="hidden" name="lc" value="CA" autocomplete="off">
    <input type="hidden" name="item_name" value="" autocomplete="off">
    <input type="hidden" name="item_number" value="123" autocomplete="off">
    <input type="hidden" name="amount" value="5.7" autocomplete="off">
    <input type="hidden" name="currency_code" value="GBP" autocomplete="off">
    <input type="hidden" name="button_subtype" value="services" autocomplete="off">
    <input type="hidden" name="no_note" value="" autocomplete="off">
    <input type="hidden" name="tax_rate" value="20" autocomplete="off">
    <input type="hidden" name="shipping" value="2.5" autocomplete="off">
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest" autocomplete="off">
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

当我点击“立即购买”按钮时,我被重定向到此页面,它询问购买详情并列出未添加税金和运费的小计。

在 ngCart 示例中 http://ngcart.snapjay.com/ 当您结帐时,它会转到标准的 PayPal 页面而不询问项目详细信息,并且有一个显示正确总数的借记卡或信用卡付款选项。

有谁知道为什么这不起作用?我没有太多使用 PayPal 结账的经验,因此非常感谢您的帮助。我想知道这是否与 PayPal 帐户本身有关?是否需要是启用快速结帐的企业帐户?

参数 item_name 的值为空。请到"Sample Product"。它会将您重定向到登录页面。

干杯!

经过更多研究后,ngCart 似乎只设计用于将购物车总金额发送到 PayPal,而不是明细订单。

我已经更新了 checkout.html 模板以将购物车的内容添加为单独的项目。

<div ng-if="service=='paypal'">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" ng-show="ngCart.getTotalItems()">
    <input type="hidden" name="cmd" value="_cart" />
    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="business" value="{{ settings.paypal.business }}" />
    <input type="hidden" name="lc" value="CA" /> 
    <ng-form name="cartItems" ng-repeat="item in ngCart.getCart().items track by $index">
        <input type="hidden" name="item_name_{{$index+1}}" value="{{item.getName()}}" />
        <input type="hidden" name="amount_{{$index+1}}" value="{{item.getPrice()}}" />
        <input type="hidden" name="quantity_{{$index+1}}" value="{{item.getQuantity()}}" />         
        <ng-form name="shipping" ng-if="$last">
            <input type="hidden" name="item_name_{{$index+2}}" value="Shipping" />
            <input type="hidden" name="amount_{{$index+2}}" value="{{ngCart.getShipping()}}" />
            <input type="hidden" name="quantity_{{$index+2}}" value="1" />  
        </ng-form>          
    </ng-form>
    <input type="hidden" name="currency_code" value="{{ settings.paypal.currency_code }}" />
    <input type="hidden" name="button_subtype" value="services" />
    <input type="hidden" name="no_note" value="{{ settings.paypal.no_note }}" />       
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest" />
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>

这似乎有效,因为我已发送测试订单并收到一封列出各个项目和数量的电子邮件。