我正在为我的一个客户整合PayPal支出。他已经从他们那里获得了支付功能。当我通过代码运行事务时,我得到了所需的响应,但是当我登录到PayPal沙箱帐户时,不知怎么的,我无法看到这些事务。我也是指定接收者的电子邮件地址,所以我相信我应该收到电子邮件的支出也。所以问题是:
下面是我为处理支出而编写的代码
Payout payout = new Payout
{
sender_batch_header = new PayoutSenderBatchHeader()
{
email_subject = "You recieved a payout!!",
recipient_type = PayoutRecipientType.EMAIL,
sender_batch_id = "batch_" + Guid.NewGuid().ToString().Substring(0, 8),
}
};
payout.items = new List<PayoutItem>();
payout.items.Add(new PayoutItem()
{
recipient_type = PayoutRecipientType.EMAIL,
amount = new Currency()
{
currency = "USD",
value = amountToBePaid.ToString(),
},
note = "Please check your email for details.",
sender_item_id = "item_" + Guid.NewGuid().ToString().Substring(0, 4),
receiver = "XXXXXXXXXX@gmail.com",
});
payout.items.Add(new PayoutItem()
{
recipient_type = PayoutRecipientType.EMAIL,
amount = new Currency()
{
currency = "USD",
value = amountToBePaid.ToString(),
},
note = "Please check your email for details.",
sender_item_id = "item_" + Guid.NewGuid().ToString().Substring(0, 4),
receiver = "XXXXXXXXXX@gmail.com",
});
var createdPayout = payout.Create(token, false);
var payoutBatch = Payout.Get(token, createdPayout.batch_header.payout_batch_id);
string status = payoutBatch.batch_header.batch_status;
string payoutItemId = payoutBatch.items[0].payout_item_id;
string payoutBatchId = payoutBatch.batch_header.payout_batch_id;
有人能告诉我我错过了什么吗?任何指示都将不胜感激。
使用请求的日志进行更新。API请求:
{
"batch_header": {
"payout_batch_id": "XXX",
"batch_status": "PENDING",
"time_created": "2022-02-23T07:01:04Z",
"sender_batch_header": {
"sender_batch_id": "batch_9f63cf9a",
"email_subject": "You recieved a payout!!",
"recipient_type": "EMAIL"
},
"amount": {
"currency": "USD",
"value": "50.00"
},
"fees": {
"currency": "USD",
"value": "1.00"
}
},
"items": [
{
"payout_item_id": "XXX",
"transaction_status": "PENDING",
"payout_item_fee": {
"currency": "USD",
"value": "1.00"
},
"payout_batch_id": "XXX",
"payout_item": {
"recipient_type": "EMAIL",
"amount": {
"currency": "USD",
"value": "50.00"
},
"note": "Please check your email for details.",
"receiver": "channa.development@gmail.com",
"sender_item_id": "item_a42a"
},
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payouts-item/XXX",
"rel": "item",
"method": "GET",
"enctype": "application/json"
}
]
}
],
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/pa youts/XXX?page_size=1000&page=1",
"rel": "self",
"method": "GET",
"enctype": "application/json"
}
]
}
响应:
{
"batch_header": {
"payout_batch_id": "XXX",
"batch_status": "PENDING",
"sender_batch_header": {
"sender_batch_id": "batch_9f63cf9a",
"email_subject": "You recieved a payout!!",
"recipient_type": "EMAIL"
}
},
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payouts/XXX",
"rel": "self",
"method": "GET",
"enctype": "application/json"
}
]
}
发布于 2022-02-23 07:54:51
"transaction\_status": "PENDING",
如果具有指定电子邮件地址的沙箱帐户不存在(或未确认其地址),则事务将处于挂起状态。这是正常的行为。
对于实时支付,没有PayPal帐户的接收方将收到一封电子邮件,告诉他们他们正在等待资金,并指示他们创建一个帐户(或登录并将此电子邮件添加到现有帐户),从而声明交易。
对于沙箱,无法查看这样的“电子邮件”通知--开发人员仪表板中的通知选项卡仅适用于发送到与developer.paypal.com登录相关的现有帐户的通知;不存在任何帐户的电子邮件不会与您的开发人员登录相关联,因此无法在此通知选项卡中显示。不过,如果你只是在创建一个沙箱帐户上发了那封电子邮件,你就可以要求付款了。
无论如何,一个接收者总是有30天的时间来申请一笔悬而未决的付款--否则它就会被自动取消,资金也会被退回。
https://stackoverflow.com/questions/71202521
复制相似问题