PayPal Sandbox是一个独立的环境,您可以在其中对原型和测试PayPal功能和API进行原型设计。 PayPal Sandbox是现场PayPal网站的几乎完全相同的副本。
我只是想要单击付款按钮时,我将在表格中获得动态密钥,因此在发布表单上打开了灯箱,我从发送者那里获得付款,然后将钱分开2个帐户。
我使用以下较旧的[?]方法来创建订阅付款。 当客户在PayPal完成付款时,它将返回到返回表格变量中指定的“谢谢” URL。 由
我对具有PayPal的产品有订阅,因此它有一些免费的试用时间。试用期已经开始,我想结束试用期,并执行
我希望这种方法能自行触发webhook。
该代码与文档中给出的代码相同。 <code><script> paypal.Buttons({ createOrder: function(data, actions) { // This function sets up the details of the transaction, including the amount and line item details. return actions.order.create({ purchase_units: [{ amount: { value: '100' } }] }); } }).render('#paypal-button-container'); </script> </code></desc> <question vote="6"> <p> 是的,仅客户端的解决方案可以更改订单数量。 (截至2024年,已弃用)要控制金额并验证成功的捕获,您应该使用服务器端集成。 </p>遵循<p>paypal结帐集成指南,并在服务器上进行2条路线(URL路径),一个用于“创建订单”,一个用于“捕获顺序”。您可以将PayPal SDK之一用于对PayPal的API调用,或者您自己的HTTPS实现,即首先获得access_token然后进行呼叫。这两种路线都应仅返回JSON数据(无HTML或文本)。在第二路线内,当捕获API成功时,您应该 </p> <pre>使金额正确</pre> </question>将其由此产生的付款详细信息存储在您的数据库中(尤其是 <answer tick="true" vote="8"><code>purchase_units[0].payments.captures[0].id</code><p>,这是贝宝 事务ID)</p> <p>执行任何必要的业务逻辑(例如 发送确认电子邮件或保留产品)<a href="https://developer.paypal.com/docs/checkout/standard/integrate/" rel="nofollow noreferrer"> </a> </p>..在将返回JSON转发到前端呼叫者之前,一切。如果有错误向前转发JSON的详细信息,则由于前端必须处理此类情况(如果错误是可恢复的,请重新启动结帐,或显示故障消息,如果不是)<ul> <li>一旦您拥有2个服务器路线,请将它们与此前端批准流配对:</li>Https://developer.paypal.com/demo/checkout/checkout/#/pattern/server<li>。 (如果您需要将客户端从客户端发送任何其他数据发送到服务器,例如项目数组或选定的选项,请在fetch中添加<pre><code>body</code></pre>参数,该值是JSON字符串或对象的值)</li> <li> </li></ul>
Sandobx Paypal 中的参数与 Live 中的参数相同吗?
我在 ASP.NET 页面中使用 Paypal。它似乎工作正常:我重定向到 Paypal 并发送参数。 现在我想使用沙箱来测试付款,看看 return 和 cancel_return 是否有效...
为什么我的 Node.js 端点被调用两次,尽管前端只发出一个请求?
我正在使用 Express 开发 Node.js 后端,并且我有一个处理付款的端点: app.post('/capturePayment', async (req, res) => { console.log(`捕获支付函数调用!!`);
paypal_js_sdk_v5_unhandled_Exception,未捕获错误:组件已关闭
我已经在 2 年前开始开发的 React 应用程序上设置了 PayPal 订阅。我最近又开始研究它。 我收到 2 个控制台错误:paypal_js_sdk_v5_unhandled_exception 和 Unc...
我正在使用 Paypal Rest API V1 设置定期付款。我正在 REST API 上进行所有集成,我没有在前端使用任何 SDK。这就是我的应用程序的工作方式: 1 - 未登录且未注册...
我的电子商务平台在商品发货时向客户收费,而不是在订购时收费。这是执行此操作的正确流程吗?请注意,客户可以使用 CardFields 或 PaypalButtons 付款。 菲...
Paypal SDK Next.js 无法更改为欧元,但美元工作正常
为什么每当我将美元兑换成欧元时它就不起作用? 我都改变了 script.src = `https://www.paypal.com/sdk/js?client-id=${clientId}¤cy=EUR`; 和 货币代码:'美元', 我收到这个错误 ...
{"sys":{"links":{"jsBaseUrl":"https://www.sandbox.paypal.com/js","cssBaseUrl":"https://www.sandbox.paypal.com /css","templateBaseUrl&...
即使 onApprove 功能触发,PayPal 接收订单也未获批准
尝试使用 Angular 测试沙箱 createOrder Capture Order 收到“付款人尚未批准付款订单” 订单已正确创建。 角码 尝试 { 这个.paypal =
我正在Python中使用PayPal发票,正如标题所示,我收到此错误。问题是,在 Postman 中,创建草稿发票罚款;在Python中创建草稿发票是唯一的
我一直在尝试从 paypal 获取沙箱环境应用程序来在我的 Angular 应用程序上工作。 我一直收到错误 422,不知道为什么。 一切都很顺利,我登录了测试帐户,但我保留了
PayPal 应用程序可以完美地用作沙箱,客户端身份验证在实时失败:要检查的步骤列表?
我创建了 PayPal 应用程序,以便在 PHP 框架中构建的网站中获取付款。这是服务器端,我正在使用 PayPal REST API 和 PayPal-PHP-SDK 库。 沙盒上的一切都很完美(
我正在尝试使用 Paypal Api 创建预定订阅:“v1/billing/subscriptions” 通过在“start_time”中提供未来日期。 我面临的问题: 我收到了网络钩子
在 PayPal 上修改订阅新计划时,如何在不试用的情况下覆盖计划?
我们可以通过使用 /v1/billing/subscriptions/{id}/revise 端点更改同一产品中的计划来升级或降级订阅。我们必须在帖子正文中提供新的计划 ID...
我将集成 PayPal OAuth 并获取客户的访问令牌。 这是我的 html 代码。 我将集成 PayPal OAuth 并获取客户的访问令牌。 这是我的html代码。 <a id="setupPaypal" class="btn btn-primary" href="https://www.sandbox.paypal.com/signin/authorize?response_type=code&client_id=[MyClientID]&scope=openid&redirect_uri=http://127.0.0.1:54458/merchandise">Setup Paypal</a> 这是我在asp.net c# 中的redirect_uri 处理程序代码。 var code = context.Request["code"].Trim(); try { string clientId = "My PayPal Client ID"; string secret = "My PayPal Client Secret"; var authToken = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{clientId}:{secret}")); string paypalMode = ConfigurationManager.AppSettings["Paypal_Mode"]; var url = "https://api.sandbox.paypal.com/v1/oauth2/token"; var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken); var requestBody = new StringContent($"grant_type=client_credentials&code={code}", Encoding.UTF8, "application/x-www-form-urlencoded"); var response = await client.PostAsync(url, requestBody); if (response.IsSuccessStatusCode) { var jsonResponse = await response.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject<PayPalGetTokenResponse>(jsonResponse); } else { var errorResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(errorResponse); return default; } } catch (Exception ex) { Console.WriteLine(ex.Message); return default; } public class PayPalGetTokenResponse { public string scope { get; set; } public string access_token { get; set; } public string token_type { get; set; } public int expires_in { get; set; } public string nonce { get; set; } } 此代码返回access_token。 但是当我使用此访问令牌时,它会显示错误消息。 private async Task<string> CreateProductAsync(string paypalAccessToken) { var request = new HttpRequestMessage(HttpMethod.Post, "https://api-m.sandbox.paypal.com/v1/catalogs/products"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", paypalAccessToken); var jsonBody = new { name = "Donation Product", description = "Custom donation subscription product", type = "SERVICE", }; request.Content = new StringContent(JsonConvert.SerializeObject(jsonBody), Encoding.UTF8, "application/json"); var client = new System.Net.Http.HttpClient(); var response = await client.SendAsync(request); var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { dynamic result = JsonConvert.DeserializeObject(responseContent); return result.id; // Return the product ID } else { throw new Exception("Error creating product: " + responseContent); } } {"error":"invalid_token","error_description":"Access Token not found in cache"} 我正在尝试使用 PayPal 访问令牌在客户帐户中创建捐赠产品。 我尝试集成 PayPal OAuth 来获取客户的访问令牌。 我将使用客户的访问令牌为客户的帐户创建一个产品。 但它显示错误消息。 这不是如何使用使用 PayPal 登录授权代码,这是您的 HTML 代码调用的授权流程。 查看文档,grant_type应该是authorization_code 您获得的access_token仅对获取个人资料详细信息有用。它不是用于 API 操作的 access_token (grant_type=client_credentials)。 要进行 API 操作,您需要提示输入应用程序 client_id 和密钥(从其developer.paypal.com 仪表板复制),或者考虑成为 multiparty onboard sellers API 的 PayPal 合作伙伴,该 API 的功能受到限制可以做;创建捐赠订阅产品可能不是其中之一。