ngCart PayPal结账页面询问购物车的购买详情

问题描述 投票:0回答:2

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

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

我有一个工作结帐页面,其中有一个明细的产品清单。

enter image description here

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

<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>

当我点击立即购买按钮时,我被重定向到此页面,在此页面上询问购买详细信息并列出添加税前和运费之前的子总计。

enter image description here

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

enter image description here

有谁知道为什么这不起作用?我没有很多PayPal结账经验所以任何帮助表示赞赏。我想知道它是否与PayPal帐户本身有关?是否需要启用快速结账的企业帐户?

paypal form-submit shopping-cart
2个回答
1
投票

参数item_name的值为空。请转到“样品”。它会将您重定向到登录页面。

干杯!


0
投票

在做了一些研究之后,看起来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>

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

© www.soinside.com 2019 - 2024. All rights reserved.