- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我第一次尝试在我的网站上实现支付,使用 paypal 时我发现几乎没有什么难以掌握的。
在我的应用程序中,用户可以上传他想翻译的任意数量的视频。每个视频都可以翻译成多种语言。总价根据视频持续时间和用户选择的请求语言计算得出。
我以最简单的方式将此代码添加到我的网站
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="myFakeBusinees">
<input type="hidden" name="item_name" [value]="transactionId">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" [value]="totalPrice">
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" (click)="submit()">
<input type="submit" value="Paypal"/>
</form>
在 paypal 中,我为我的服务器配置了一个 returnUrl,并在付款后向用户显示一个摘要。
我对这种方法的问题是用户可以从客户端更改金额隐藏字段。虽然我可以在调用 returnUrl 后在我的服务器中检查支付金额,但我不想启用这种情况。
我试图读取服务器 api,但我不确定它是否符合我的要求。我想到了下面的流程,不知道是否正确,paypal是否支持。
流程:
任何帮助将不胜感激。从文档中找出流程对我来说有点困难。
最佳答案
基本上你想要做的是在用户点击支付按钮并获取 return_url
和 取消网址
从前端使用 window.location 例如: window.location.origin + '/success-url' 这样在本地服务器上测试时就没有问题,舞台和制作。然后当用户被重定向到https://example.com/success-url
时,paymentId
和PayerID
将被传递payapal 在 URL 本身中,然后从该页面您可以在后端调用 executeOrder
。
这是 documentation 的链接
下面是一个示例 nodejs 代码:
exports.createOrder = (data, callback) => {
/* First step when user clicks 'Pay with paypal' on place-order screen */
var create_payment_json = {
"intent": "sale",
"payer": {
"payment_method": "paypal"
},
"redirect_urls": {
"return_url": data.return_url,
"cancel_url": data.cancel_url
},
"transactions": [{
"amount": {
"total": getAmountFromNoOFVideos(),
"currency": "USD"
},
"description": "Video Translation"
}]
};
paypal.payment.create(create_payment_json, function (error, payment) {
if (error) {
callback(error);
} else {
if(payment.payer.payment_method === 'paypal') {
for(var i=0; i < payment.links.length; i++) {
var link = payment.links[i];
if (link.method === 'REDIRECT') {
redirectUrl = link.href;
}
}
}
callback(null, redirectUrl, payment.id)
}
});
}
exports.executeOrder = (data, callback) => {
/* Second and final step in place-order screen */
let paymentId = data.paymentId;
let PayerID = data.PayerID;
var details = { "payer_id": PayerID };
paypal.payment.execute(paymentId, details, function (error, payment) {
if (error) {
console.log("\x1b[31m", "PAYPAL ERROR: ", error)
callback(error);
} else {
callback(null, true);
}
});
}
Paypal 流程:- 假设您的网站链接是 www.videotranslate.com
www.videotranslate.com
www.videotranslate.com/api/createOrder
进行 AJAX 调用来自您的 Angular 组件/服务(取决于您的设计)redirectUrl
来自后端的 createOrder
函数。www.videotranslate.com/success-callback
www.videotranslate.com/api/executeOrder
来自 Angularwww.videotranslate.com/cancel-callback
,这里可以显示错误 toast 并要求用户再次付款。关于angular - Paypal - 从服务器发送金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164810/
我正在尝试创建一个可以识别金额(美元)的正则表达式。问题是数据是在扫描的 PDF 文件上通过 OCR 生成的,因此数据不精确: $可以用S表示 .可以表示为, 1可以用l或I表示 5可以用S表示 例子
在写输入用到input的时候,经常出现以下几种情况: 只能输入某。栗子:只能输入数字,只能输入字母(大写,小写)只能输入某固定格式。栗子:只能输入金额,只能输入小数且最多保留2位不能输入某。栗子:
我们正在开发旅游网站,用于预订航类、酒店、汽车等。它是基于产品的软件。客户(购买我们软件的)将成为“主要代理机构”。他的总交易将以 INR(印度卢比货币)为单位。航类、酒店或汽车预订总额仅以“印度卢比
以下操作有什么区别吗? (将当前日期提前 160 天) Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_WEEK,
假设有 5 个桶 (1 - 5),并且为每个桶分配一个(整数)值。例如 > bucket = 1:5 > value = c(14, 12, 9, 20, 7) > data.frame(bucket
我正在尝试使用 MYSQL 查询对每月和每年以及该月的总收入进行分组,我尝试了多次,但似乎总是出错。 我当前的查询: Month Year
我正在创建一个 PHP 表单,其中包含客户的信息和他们想要花费的金额,当点击提交按钮时,详细信息将发送到我的电子邮件地址。 这就是我遇到的问题。然后我想向他们发送指向 PayPal 帐户的链接以完成购
我想获取总交易量超过50000的用户 SELECT sum(tractions.amount) as total , user_id FROM `tractions` where `total`
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我有一段固定的文本,每次文本进入滚动的 div 时我都会尝试添加不同的类。我用起来没问题。但是如果我向固定文本添加偏移量,例如 top: 400px 我需要在 JS 中抵消这个偏移量。但我似乎无法弄清
我有下表 create table supplier_paid_details( id bigint(10) NOT NULL AUTO_INCREMENT, payment_mode
我正在练习 java 银行帐户中的一些简单任务,需要有关代码块的建议,如何编写?这是一个例子,如果用户输入字符串或一些字母而不是数字来打印“请输入数字”,如何输入 Else if block amou
我正在使用 angularJS 在 mvc-5 中创建一个基于 Web 的应用程序,我在表中得到了金额总和 Total: {{totalAmount}} 我像这样从 Controller 获取金额 $
我的数据就是这样返回的。我需要返回列表中的所有值,确保时间格式和票价金额按照我的解释进行纠正。我想删除票价中的逗号以及出发和到达中的 AM & PM。提前谢谢了。因为大约有 3 个航类代码,总共有 1
我想计算一下 数量 * 比率 = 金额 金额 - 折扣 + 税费 = 账单金额 账单金额+四舍五入= Netty 我知道这很容易完成,但问题是任何人都可以通过检查元素更改该值。为了阻止这种情况,我必须
基本上,我正在 LINQ 中寻找一种方法来选择列表中的第一个(比如说 3 个)分组对象。 例如,列表可能包含: {“AAA”、“AAA”、“AAA”、“AAA”、“BBB”、“BBB”、“CCC”、“
我正在尝试按类别对金额进行求和,但存在基于引用编号的重复金额,并且我只想为每个引用包含 1 个金额。大约有100K个不同的引用号,全线有4个差异量。 我正在分析的数据如下所示: reference |
我有一个表,每个 user_id 有很多行 我正在尝试按 user_id 对行进行分组并对它们的金额进行求和 这是表结构 Name Type Collation Attributes
如何查询实际金额 1.00 以内的金额列? 例如,如果 AmountPaid = 7.75,我想返回 Amount 在 6.75 - 8.75 之间的所有结果。 我知道我忽略了一些简单的事情,但到目前
我是 C# 的新手,正在为我尝试创建的程序而苦苦挣扎。我希望我能尽我所能提出这个问题。根据我的任务,我们将在 Visual Basic 中创建一个用于创建帐户的 Windows 窗体。出于我的问题的目
我是一名优秀的程序员,十分优秀!