Paypal 贝宝结账智能支付按钮使用自定义收款人

Paypal 贝宝结账智能支付按钮使用自定义收款人,paypal,Paypal,嗨,我已经成功地集成了贝宝结账智能支付按钮,在这里我使用自定义收款人参考 我的观点是,如果自定义收款人电子邮件无效,那么付款仍然完成,并且资金进入API凭据所有者的帐户。但我不想那样。如果自定义收款人电子邮件错误,则付款不应成功,它必须抛出错误并显示正确的消息,以便我捕获错误 我没有从paypal文档中得到任何解决方案 如果自定义收款人电子邮件无效,则付款仍将完成,资金将进入API凭据所有者的帐户 你说的“无效”是什么意思?请具体说明你的意思 如果电子邮件未与现有PayPal帐户关联,则付款将处

嗨,我已经成功地集成了贝宝结账智能支付按钮,在这里我使用自定义收款人参考

我的观点是,如果自定义收款人电子邮件无效,那么付款仍然完成,并且资金进入API凭据所有者的帐户。但我不想那样。如果自定义收款人电子邮件错误,则付款不应成功,它必须抛出错误并显示正确的消息,以便我捕获错误

我没有从paypal文档中得到任何解决方案

如果自定义收款人电子邮件无效,则付款仍将完成,资金将进入API凭据所有者的帐户

你说的“无效”是什么意思?请具体说明你的意思

如果电子邮件未与现有PayPal帐户关联,则付款将处于挂起状态。所有者有30天的时间使用该电子邮件创建PayPal帐户(或将其添加到现有的PayPal帐户)并接受待定付款。如果他们在30天内没有这样做,付款将自动退还。在这种情况下,不是“资金进入API凭证所有者的帐户”。这并没有发生

现在,如果您试图在付款设置时使用空字符串
电子邮件地址
传递
收款人
对象,则该对象将被忽略,并且付款将按照正常的付款处理方式转到API凭证所有者,而无需自定义收款人

因此,您需要自己进行验证,以确保“收款人”字段非空。您可以简单地检查它是否为非空字符串

或者,做得更好,并实际检查它是否是有效格式的电子邮件地址:

function isEmail(y) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(y).toLowerCase());
}
功能电子邮件(y){
变量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]+];
返回re.test(字符串(y).toLowerCase());
}
如果无效,则不应允许使用无效的自定义收款人继续创建订单,因为它显然不会创建您希望的交易。相反,您应该显示一个错误,即没有为此用户/收件人/收款人正确设置签出

如果自定义收款人电子邮件无效,则付款仍将完成,资金将进入API凭据所有者的帐户

你说的“无效”是什么意思?请具体说明你的意思

如果电子邮件未与现有PayPal帐户关联,则付款将处于挂起状态。所有者有30天的时间使用该电子邮件创建PayPal帐户(或将其添加到现有的PayPal帐户)并接受待定付款。如果他们在30天内没有这样做,付款将自动退还。在这种情况下,不是“资金进入API凭证所有者的帐户”。这并没有发生

现在,如果您试图在付款设置时使用空字符串
电子邮件地址
传递
收款人
对象,则该对象将被忽略,并且付款将按照正常的付款处理方式转到API凭证所有者,而无需自定义收款人

因此,您需要自己进行验证,以确保“收款人”字段非空。您可以简单地检查它是否为非空字符串

或者,做得更好,并实际检查它是否是有效格式的电子邮件地址:

function isEmail(y) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(y).toLowerCase());
}
功能电子邮件(y){
变量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]+];
返回re.test(字符串(y).toLowerCase());
}
如果无效,则不应允许使用无效的自定义收款人继续创建订单,因为它显然不会创建您希望的交易。相反,您应该显示一个错误,即该用户/收件人/收款人的结账设置不正确。


贝宝,按钮({
createOrder:函数(数据、操作){
return actions.order.create({
购买单位:[{
金额:{
值:“1.00”
},
收款人:{
电子邮件地址:'someemail@somedomain.com'
}
}]
});
},
onApprove:功能(数据、操作){
//此函数用于捕获交易中的资金。
返回actions.order.capture().then(函数(详细信息){
//成功
},
onCancel:函数(数据){
//取消付款
}
}).render(“#贝宝按钮容器”);

贝宝,按钮({
createOrder:函数(数据、操作){
return actions.order.create({
购买单位:[{
金额:{
值:“1.00”
},
收款人:{
电子邮件地址:'someemail@somedomain.com'
}
}]
});
},
onApprove:功能(数据、操作){
//此函数用于捕获交易中的资金。
返回actions.order.capture().then(函数(详细信息){
//成功
},
onCancel:函数(数据){
//取消付款
}

}).render(“#贝宝按钮容器”);
无效表示收款人电子邮件不是有效的paypal电子邮件。没有与该电子邮件关联的paypal帐户。在这种情况下,付款将支付给api所有者。我无法将我的代码作为注释发布,因此我只添加我的代码作为我查询的答案。请检查一下。无效表示收款人电子邮件不是有效的paypal电子邮件。没有payp与该电子邮件关联的所有帐户。在这种情况下,付款将支付给api所有者。我无法将我的代码作为注释发布,所以我只添加我的代码作为我查询的答案。请检查一下好吗?您的代码有问题,我不确定是什么。但当我将收款人对象放入,客户端id=sb或我自己的时,它工作正常,and付款已发送到指定的电子邮件,即使该电子邮件在PayPal沙箱中不存在