Paypal .Net SDK支付API代表第三方权限调用

时间:2016-11-23 11:55:26

标签: c# paypal-rest-sdk paypal paypal-permissions

我使用Paypal .Net SDK(https://github.com/paypal/PayPal-NET-SDK)进行付款API调用。它需要在API调用中传递APIContext对象。

通过使用我的paypal应用程序的clientid和clientsecret,我可以获得accessstoken来创建APIContext对象。但这会使我的商家帐户付款。

我想代表其他商家付款并退款API来电。为此,我使用Paypal Permission SDK(https://github.com/paypal/permissions-sdk-dotnet)来获得第三方商家的许可。一旦商家授予许可,我就会得到令牌和秘密。在这个阶段我找不到任何文档如何使用该令牌和秘密来调用paypal API?

任何人都可以指导我如何使用该令牌和秘密(从权限API接收)来制作有效的APIContext,可用于调用各种paypal.net sdk API调用吗?

1 个答案:

答案 0 :(得分:0)

我的回答有点晚,但在搜索如何执行此操作时,我可能会帮助其他人。

如果使用PayPal .NET SDK,则适用。

创建一个PayPal.Api.Payee对象,并将其添加到您用于付款的PayPal.Api.Transaction对象中。

示例1:

var payee = new PayPal.Api.Payee()
{
    email = "test@example.com"
}

var transaction = new PayPal.Api.Transaction();
transaction.payee = payee;

示例2:

var paypal = new PayPal.Api.Transaction()
{
    description = "Transaction description.",
    invoice_number = "123",
    amount = new Amount()
    {
        currency = "USD",
        total = "100.00",
        details = new Details()
        {
            tax = "0",
            shipping = "25.00",
            subtotal = "75.00"
        }
    },
    item_list = new ItemList()
    {
        items = new List<Item>()
        {
            new Item()
            {
                name = "title",
                currency = "USD",
                price = "75.00",
                quantity = "1",
                sku = "MySKU"
            }
        }
    },
    payee = new Payee()
    {
        email = "email@example.com"
    }
};

您可以使用emailmerchant_id来识别接收资金的第三方,而不是phone

注意:第三方必须已为您正在尝试的交易类型授予您的PayPal应用程序相应的权限。