- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用 PayPal 支付网关,添加到购物车的所有产品都通过其表单和 PHP 的生成发布
<?php
while ($stmt->fetch()) {
$key = array_search($id_product, $items);
$total = $total + $price * $qty[$key];
?>
<input name="item_number_<?php echo $num;?>" type="hidden" value="<?php echo $id_product; ?>">
<input name="item_name_<?php echo $num;?>" type="hidden" value="<?php echo $product; ?>">
<input name="amount_<?php echo $num;?>" type="hidden" value="<?php echo number_format($price,2);?>">
<input name="quantity_<?php echo $num;?>" type="hidden" value="<?php echo $qty[$key];?>">
<?php
$num++;
}
?>
及其返回值:
Array
(
[payer_email] => testing-instructor@site.com
[payer_id] => J95XSJRX4WXVS
[payer_status] => VERIFIED
[first_name] => Milck
[last_name] => Jmkc
[address_name] => Milck Jmkc
[address_street] => calle Vilamar� 76993- 17469
[address_city] => Albacete
[address_state] => Albacete
[address_country_code] => ES
[address_zip] => 02001
[residence_country] => ES
[txn_id] => 71U73747YB4505702
[mc_currency] => EUR
[mc_gross] => 524.00
[protection_eligibility] => INELIGIBLE
[payment_gross] => 524.00
[payment_status] => Pending
[pending_reason] => unilateral
[payment_type] => instant
[item_name1] => iPhone X
[item_number1] => 1
[quantity1] => 1
[mc_gross_1] => 100.00
[item_name2] => HP Notebook
[item_number2] => 2
[quantity2] => 1
[mc_gross_2] => 299.00
[item_name3] => Laptop Bag
[item_number3] => 3
[quantity3] => 1
[mc_gross_3] => 125.00
[num_cart_items] => 3
[txn_type] => cart
[payment_date] => 2019-06-20T12:39:01Z
[business] => nuestrocorreo@gmail.com
[notify_version] => UNVERSIONED
[verify_sign] => AafExQbaKRVsBflEXz3fG2x2IuLiAsrid.bh8IJziQRbs.cEOXQNrEFI
)
然后将您的付款状态分别插入已完成或待处理的产品非常容易
$stmt = $mysqli->prepare("INSERT INTO orden (id_user, id_product, product, quantity, price, payment_method) VALUES (?,?,?,?,?,?)");
for($i = 1;$i <= $_POST['num_cart_items']; $i++) {
$stmt->bind_param("iisiss",
$id_users,
$_POST['item_number' . $i],
$_POST['item_name' . $i],
$_POST['quantity' . $i],
$_POST['mc_gross_' . $i],
$transaccionPayPal['payment_status']
);
$stmt->execute();
}
如何使用 stripe 支付网关获得这些相同的结果?
我已经有了以下基础:
try {
$customer = \Stripe\Customer::create(array(
'email' => 'customer2@example.com',
'card' => $token
));
$charge = \Stripe\Charge::create(array(
'customer' => $customer->id,
'amount' => 500,
'description' => 'Event charge',
'currency' => 'usd'
));
$transactionData = [
'id' => $charge->id,
'id_customer' => $charge->customer,
'product' => $charge->description,
'amount' => $charge->amount,
'currency' => $charge->currency,
'status' => $charge->status
];
$stmt = $con->prepare("INSERT INTO stripe (token_stripe, id_transaction, id_customer, product, currency, amount, status) VALUES (?,?,?,?,?,?,?)");
$stmt->bind_param("sssssss", $token,$transactionData['id'],$transactionData['id_customer'],$transactionData['product'],$transactionData['currency'],$transactionData['amount'],$transactionData['status']);
$stmt->execute();
echo 'Successful transaction!';
最佳答案
您已经有了一个好的开始。如果您想尝试这种方法,您需要至少添加一个额外的调用以确保获得所需的所有数据。我还会在您的收费标题中添加一个额外的 transfer_group,稍后我会谈到。
try {
$customer = \Stripe\Customer::create(array(
'email' => 'customer2@example.com',
'card' => $token
));
$charge = \Stripe\Charge::create(array(
'customer' => $customer->id,
'amount' => 500,
'description' => 'Event charge',
'currency' => 'usd',
'transfer_group' => 'Group Name'
));
$transactionCall = \Stripe\BalanceTransaction::retrieve($charge-> balance_transaction);
$transactionData = [
'id' => $charge->id,
'id_customer' => $charge->customer,
'product' => $charge->description,
'amount' => $charge->amount,
'currency' => $charge->currency,
'status' => $charge->status
];
$stmt = $con->prepare("INSERT INTO stripe (token_stripe, id_transaction, id_customer, product, currency, amount, status, inscribedDate,) VALUES (?,?,?,?,?,?,?)");
$stmt->bind_param("sssssss", $token,$transactionData['id'],$transactionData['id_customer'],$transactionData['product'],$transactionData['currency'],$transactionData['amount'],$transactionData['status'], $transactionCall['created'], );
$stmt->execute();
echo 'Successful transaction!';
该端点将为您提供指定日期,根据快速审查,您似乎缺少的唯一其他数据。您已有的客户信息,只需将其传递给客户对象即可。
至于数量,您可以手动跟踪产品的数量并执行多次收费,并在进行时进行更新。执行一大笔费用并在描述中跟踪它并解析出值(value)。或者您可以设置单独的费用,但将它们链接在一起,这可能最适合您的情况。为此,您需要包含我在上面包含的 transfer_group 字段。我将在底部进一步讨论这一点。
总的来说,如果您想保持相同的设置,您只需为每个单独的客户执行此操作,然后像您一样传递数据。
但是,我建议您在进一步了解之前先查看此引用资料,了解如何以不同方式设置 Stripe。
https://stripe.com/docs/connect/charges#choosing-approach
我建议使用单独收费和转帐方法,因为它适用于像您的示例一样的购物车。总体而言,此方法允许您进行多项交易/收费,并将它们与 transfer_group 部分链接在一起。如果您使用这种方法,您将能够更好地跟踪项目数量,因为您可以单独收费,并且还能够通过以下方式进行一次调用以收集购物车中当前的所有项目打电话
\Stripe\Charge::all(["transfer_group" => 'group_name']);
不必为每个人都打电话。
您在此设置中的整体架构会让客户和每个人都使用相同的 transfer_group 收费,然后对上述 API 进行一次调用,这将返回您需要的所有数据的数组。
关于php - 正确支付后如何单独放入购物车的商品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56686410/
在哪里可以找到有关退款状态的信息? 对于“取消”和“失败”,没关系。但是“已捕获”、“已授权”、“暂停”和“待处理”之间有什么区别。支付宝是什么意思? 谢谢 最佳答案 以下是 Paypal 付款状态列
我想问问是否有人知道无需用户交互即可进行 PayPal 付款的可能性。我目前正在开展一个项目,我们希望在用户无需登录 PayPal 的情况下按需进行 PayPal 付款。 我发现的是: 做引用交易 定
我无法找到 PayPal 提供的关于它如何处理 webhook 以进行支付的文档。付款是否与付款一样对待,以便完成的付款将启动付款完成的 webhook?一般来说,付款和支出是否通过网络 Hook 相
我有一个表单,人们可以在其中以固定金额订购一件商品。以下是步骤: 客户填写表格 客户点击提交并进入评论页面,他可以在其中检查他的输入 在评论表单中应该有一个使用 paypal 支付的按钮(带有自己的设
用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也有个
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How to set Azure Max Spending Limit or Cost CAP $ amount?
我正在尝试将 Stripe 集成到 Symfony2 项目上,我在他们的文档中看到的唯一付款方式是“用卡付款”按钮 https://stripe.com/docs/checkout它在我的项目上创建了
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How to set Azure Max Spending Limit or Cost CAP $ amount?
我想使用 firebase 作为服务器并向 stripe 发送付款请求。我在服务器端的经验为零,所以我正在寻找一种简单的方法来实现这一目标。此帖Is it possible to integrate
我在这里使用自适应 Paypal 支付控制台:https://apigee.com/console/paypal向人们付款。我无法找到一种方法在不授予他们许可的情况下向个人汇款(来 self )。我希
我一直坚持使用 OpenCart 的 PayPal 标准付款,但尚未找到解决方案。 我做了什么: 在 sandbox.paypal.com 上创建了企业帐户 设置以下网络首选项: 自动返回(指定 UR
我想在我的 WPF 应用程序中通过 PayPal 进行购物付款。我想为用户生成一个链接,但不知道如何通知应用程序已接受付款。是否唯一的解决方案将是服务器,它会检查付款是否已被接受并且应用程序会不时轮询
PayPal PayOut REST API 没有记录它的局限性。什么是: 每次付款的最大收款人数? 每次付款的最高金额? 每个收件人的最大金额? 注意: 我查看了在线文档和 paypal 论坛 (
我是 web 开发的新手,我需要做的是创建一个表单,用户可以在其中输入一些东西到一个字段中,让我们暂时称之为名称......然后当他们去 paypal 时,他们会捐赠 1 美元(预定)然后从支付给 P
我正在尝试将 PayPal 集成到我的应用程序中并了解 PayPal SDK 的工作原理我正在使用示例应用程序。我知道在用户按下“购买”按钮后,我需要将授权响应发送到我的服务器以验证付款。问题是我找不
在我的 oscar 应用程序中,django 需要自适应并行 oscar 支付程序。 谁能告诉我如何将 Adaptive Parallel Paypal 方法集成到 Normal Paypal 中。我
您好,我正在开发用于 NFC 支付的安卓应用程序。 Android 设置中有一个选项可以使用打开的应用程序而不是默认应用程序。例如,当我将默认应用程序设置为 Android Pay 并在付款前打开我的
我构建了一个使用命名空间和 PSR-0 自动加载的 PHP 应用程序。在尝试实现 Stripe库,我发现它似乎无法加载类,因为它们没有命名空间。如果我手动包含文件,有没有办法不自动加载? // Get
有人成功地将 Adyen 支付插件集成到 iOS 应用程序中吗? 我到了它向用户显示付款选项的地步,但选择其中一个选项没有任何作用。我希望它会转到表单以捕获卡的详细信息,但事实并非如此。 如有任何帮助
我正在与 Stripe Payment Gateway 集成——API 的最新版本。 除了“client_reference_id”没有传递给 webhook 或事务(没有出现在日志中)之外,这一切都
我是一名优秀的程序员,十分优秀!