PayPal Rest API使用自定义发票号支付银行交易中的预期用途

PayPal Rest API使用自定义发票号支付银行交易中的预期用途,rest,paypal,payment,invoice,Rest,Paypal,Payment,Invoice,编辑仅供参考:如果您计划执行类似企业的操作,请不要使用PayPal REST API。这可能会导致浪费很多时间。 正如PayPal自己提到的那样,经典API有更多的功能,目前还没有计划结束生命 我需要用新的API实现一个paypal事务。除了一件事外,一切正常: 在经典的API中,我可以设置一个发票号来引用我的自定义店铺号。当paypal向银行汇款时,交易有一个预期目的,即给定的发票号码 现在使用RESTAPI,预期用途字段是空的。我找不到如何给出这个发票号码的线索 例如,从paypal使用此网

编辑仅供参考:如果您计划执行类似企业的操作,请不要使用PayPal REST API。这可能会导致浪费很多时间。 正如PayPal自己提到的那样,经典API有更多的功能,目前还没有计划结束生命

我需要用新的API实现一个paypal事务。除了一件事外,一切正常:

在经典的API中,我可以设置一个发票号来引用我的自定义店铺号。当paypal向银行汇款时,交易有一个预期目的,即给定的发票号码

现在使用RESTAPI,预期用途字段是空的。我找不到如何给出这个发票号码的线索

例如,从paypal使用此网站:

我创建的付款方式如下:

{
    "intent": "sale",
    "payer": {
        "payment_method": "paypal"
    },
    "transactions": [
        {
            "amount": {
                "currency": "USD",
                "total": "110.54"
            },
            "description": "This is the payment transaction description."
        }
    ],
    "redirect_urls": {
        "return_url": "http://www.ebay.com",
        "cancel_url": "http://www.milo.com"
    }
}
我想做一些类似的事情:

{
    "intent": "sale",
    "payer": {
        "payment_method": "paypal"
    },
    "transactions": [
        {
            "amount": {
                "currency": "USD",
                "total": "110.54"
            },
            "description": "This is the payment transaction description.",
            "my_custom_transaction_id" : "shop_transaction_no_234"
        }
    ],
    "redirect_urls": {
        "return_url": "return_url",
        "cancel_url": "cancel_url"
    }
}

我找到了一个解决方案: 创建付款:

付款流程完成后,响应如下:

另外请注意,如果您想从paypal响应中获取的交易详细信息,下面是我的操作方法

use PayPal\Api\Payment;
/**
 * Get Ids from url
 */
$paymentId  = $_GET['paymentId'];
$payerId    = $_GET['PayerID'];

/**
 * Get payment details and assign to object
 */
$payment    = Payment::get($paymentId, $paypal);
$obj        = json_decode($payment);

/**
 * this script returns the custom value you assigned
 */
$custom     = $obj->transactions[0]->custom;

就这样!希望这对所有人都有用:

在与paypal技术支持人员交谈后:我不应该使用rest API-,-谢谢,文档页提供了此警告。。。。是时候回顾一下他们如何解释他们的答案了?为什么不应该使用RESTAPI?@antongorodezkiy:他们说RESTAPI有一个beta状态。并不是经典api的所有功能都已经实现了。因此,如果您使用RESTAPI,可能无法使用classic。发票id等用于识别付款的基本信息-时间过去和API更改。现在贝宝的交易对象有更多的字段。你的习惯,这不是我想要的。我没有测试它,但我认为强烈建议使用invoice_number来存储自定义商店的发票号,以跟踪您的交易。但是谢谢!
{
    "intent": "sale",
    "payer": {
        "payment_method": "paypal"
    },
    "transactions": [
        {
            "amount": {
                "currency": "USD",
                "total": "110.54"
            },
            "description": "This is the payment transaction description.",
            "custom" : "shop_transaction_no_234"
        }
    ],
    "redirect_urls": {
        "return_url": "return_url",
        "cancel_url": "cancel_url"
    }
}
use PayPal\Api\Payment;
/**
 * Get Ids from url
 */
$paymentId  = $_GET['paymentId'];
$payerId    = $_GET['PayerID'];

/**
 * Get payment details and assign to object
 */
$payment    = Payment::get($paymentId, $paypal);
$obj        = json_decode($payment);

/**
 * this script returns the custom value you assigned
 */
$custom     = $obj->transactions[0]->custom;