Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PayPal模块的Magento 2 REST api_Php_Angular_Magento_Paypal_Magento2.1 - Fatal编程技术网

Php PayPal模块的Magento 2 REST api

Php PayPal模块的Magento 2 REST api,php,angular,magento,paypal,magento2.1,Php,Angular,Magento,Paypal,Magento2.1,我正在创建一个电子商务应用程序,使用Magento 2REST api作为后端,使用Angular 6作为前端技术 我已成功集成了购物车的添加/更新/删除/列表api 我正在使用Paypal进行支付方式,在收到Paypal的成功响应后,我需要将Paypal响应存储到Magento 2数据库,但它返回了一个错误 我需要post请求的参数名 错误 "message": "No such entity with %fieldName = %fieldValue", "parameters": {

我正在创建一个电子商务应用程序,使用Magento 2REST api作为后端,使用Angular 6作为前端技术

我已成功集成了购物车的添加/更新/删除/列表api

我正在使用Paypal进行支付方式,在收到Paypal的成功响应后,我需要将Paypal响应存储到Magento 2数据库,但它返回了一个错误

我需要post请求的参数名

错误

 "message": "No such entity with %fieldName = %fieldValue",
"parameters": {
    "fieldName": "cartId",
    "fieldValue": null
}
发布URL

http://127.0.0.1/magento2/index.php/rest/V1/carts/mine/payment-information
请求数据

    {
    "email": "vikram.sharma@xymob.in",
    "cartId": 2,
    "billing_address": {
                    "email": "vikram.sharma@xymob.in",
                "region": "New York",
                "region_id": 43,
                "region_code": "NY",
                    "country_id": "US",
                    "street": ["123 Oak Ave"],
                    "postcode": "10577",
                    "city": "Purchase",
                    "telephone": "512-555-1111",
                    "firstname": "Jane",
                    "lastname": "Doe"
         },
    "paymentMethod": {
        "method": "paypal_express",
        "additional_data": {
            "paypal_express_payment_payload": "{\"id\":\"PAY-3F734824YB370341TLOQNO3Y\",\"intent\":\"sale\",\"state\":\"approved\",\"cart\":\"9W5899822J563802S\",\"create_time\":\"2018-09-18T10:50:31Z\",\"payer\":{\"payment_method\":\"paypal\",\"status\":\"VERIFIED\",\"payer_info\":{\"email\":\"vikramdummy-buyer@outlook.com\",\"first_name\":\"test\",\"middle_name\":\"test\",\"last_name\":\"buyer\",\"payer_id\":\"CAQR5B2LGGB9S\",\"country_code\":\"US\",\"shipping_address\":{\"recipient_name\":\"test buyer\",\"line1\":\"1 Main St\",\"city\":\"San Jose\",\"state\":\"CA\",\"postal_code\":\"95131\",\"country_code\":\"US\"}}},\"transactions\":[{\"amount\":{\"total\":\"102.00\",\"currency\":\"USD\",\"details\":{}},\"item_list\":{\"items\":[{\"name\":\"SATA HardDisk\",\"price\":\"1.00\",\"currency\":\"USD\",\"quantity\":2},{\"name\":\"Logitech Mouse\",\"price\":\"100.00\",\"currency\":\"USD\",\"quantity\":1}]},\"related_resources\":[{\"sale\":{\"id\":\"7CM65242K9229980W\",\"state\":\"completed\",\"payment_mode\":\"INSTANT_TRANSFER\",\"protection_eligibility\":\"ELIGIBLE\",\"parent_payment\":\"PAY-3F734824YB370341TLOQNO3Y\",\"create_time\":\"2018-09-18T10:50:29Z\",\"update_time\":\"2018-09-18T10:50:29Z\",\"amount\":{\"total\":\"102.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"102.00\"}}}}]}]}",
            "paypal_express_checkout_token": "EC-9W5899822J563802S",
            "paypal_express_checkout_redirect_required": false,
            "paypal_express_checkout_payer_id": "CAQR5B2LGGB9S"
        }
    }
}
这是我的参考网址

,

这是我的邮递员PHP curl代码:-

 <?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://127.0.0.1/magento2/index.php/rest/V1/carts/mine/payment-information",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n  \"email\": \"vikram.sharma@xymob.in\",\n  \"billing_address\": {\n              \"email\": \"vikram.sharma@xymob.in\",\n              \"region\": \"New York\",\n              \"region_id\": 43,\n              \"region_code\": \"NY\",\n              \"country_id\": \"US\",\n              \"street\": [\"123 Oak Ave\"],\n              \"postcode\": \"10577\",\n              \"city\": \"Purchase\",\n              \"telephone\": \"512-555-1111\",\n              \"firstname\": \"Jane\",\n              \"lastname\": \"Doe\"\n     },\n    \"paymentMethod\": {\n    \"method\": \"paypal_express\",\n    \"additional_data\": {\n      \"paypal_express_payment_payload\": \"{\\\"id\\\":\\\"PAY-3F734824YB370341TLOQNO3Y\\\",\\\"intent\\\":\\\"sale\\\",\\\"state\\\":\\\"approved\\\",\\\"cart\\\":\\\"9W5899822J563802S\\\",\\\"create_time\\\":\\\"2018-09-18T10:50:31Z\\\",\\\"payer\\\":{\\\"payment_method\\\":\\\"paypal\\\",\\\"status\\\":\\\"VERIFIED\\\",\\\"payer_info\\\":{\\\"email\\\":\\\"vikramdummy-buyer@outlook.com\\\",\\\"first_name\\\":\\\"test\\\",\\\"middle_name\\\":\\\"test\\\",\\\"last_name\\\":\\\"buyer\\\",\\\"payer_id\\\":\\\"CAQR5B2LGGB9S\\\",\\\"country_code\\\":\\\"US\\\",\\\"shipping_address\\\":{\\\"recipient_name\\\":\\\"test buyer\\\",\\\"line1\\\":\\\"1 Main St\\\",\\\"city\\\":\\\"San Jose\\\",\\\"state\\\":\\\"CA\\\",\\\"postal_code\\\":\\\"95131\\\",\\\"country_code\\\":\\\"US\\\"}}},\\\"transactions\\\":[{\\\"amount\\\":{\\\"total\\\":\\\"102.00\\\",\\\"currency\\\":\\\"USD\\\",\\\"details\\\":{}},\\\"item_list\\\":{\\\"items\\\":[{\\\"name\\\":\\\"SATA HardDisk\\\",\\\"price\\\":\\\"1.00\\\",\\\"currency\\\":\\\"USD\\\",\\\"quantity\\\":2},{\\\"name\\\":\\\"Logitech Mouse\\\",\\\"price\\\":\\\"100.00\\\",\\\"currency\\\":\\\"USD\\\",\\\"quantity\\\":1}]},\\\"related_resources\\\":[{\\\"sale\\\":{\\\"id\\\":\\\"7CM65242K9229980W\\\",\\\"state\\\":\\\"completed\\\",\\\"payment_mode\\\":\\\"INSTANT_TRANSFER\\\",\\\"protection_eligibility\\\":\\\"ELIGIBLE\\\",\\\"parent_payment\\\":\\\"PAY-3F734824YB370341TLOQNO3Y\\\",\\\"create_time\\\":\\\"2018-09-18T10:50:29Z\\\",\\\"update_time\\\":\\\"2018-09-18T10:50:29Z\\\",\\\"amount\\\":{\\\"total\\\":\\\"102.00\\\",\\\"currency\\\":\\\"USD\\\",\\\"details\\\":{\\\"subtotal\\\":\\\"102.00\\\"}}}}]}]}\",\n      \"paypal_express_checkout_token\": \"EC-9W5899822J563802S\",\n      \"paypal_express_checkout_redirect_required\": false,\n      \"paypal_express_checkout_payer_id\": \"CAQR5B2LGGB9S\"\n    }\n  }\n}",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer 1fpiepedxeqm6fse81icfv8yx4hmwbi3",
    "cache-control: no-cache",
    "content-type: application/json",
    "postman-token: 85951c6b-ff29-b785-65c9-d10c39a34424"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

尝试使用
购物车id
而不是
购物车id

如果您看到
webapi.xml
,我们有:

<route url="/V1/carts/mine/payment-information" method="POST">
     <service class="Magento\Checkout\Api\PaymentInformationManagementInterface" method="savePaymentInformationAndPlaceOrder"/>
     <resources>
         <resource ref="self" />
     </resources>
     <data>
         <parameter name="cartId" force="true">%cart_id%</parameter>
     </data>
 </route>

%购物车id%

参数部分表示路由从请求中获取
cart\u id
参数,并将其更改为名为
cartId

的php参数。为什么要在请求数据中添加
email
字段?我已更新请求和响应,请检查是否使用
POST
操作?你能告诉我你是怎么打电话的吗?是的,我用的是post方法,我用的是POSTANI。我试过这两个参数,但都不起作用。另外,我是登录用户,因此不需要发送cardId参数。我真的不明白,因为如果我将参数
cartId
放入请求数据中,我会得到与您相同的错误。如果我放入
购物车id
,我通过了此验证。您是否有任何特定的模块可以覆盖Magento Api代码的某些部分?有一件事我需要知道如何在Magento控制器中获取我发布的数据我在Magento是全新的我需要您的帮助您进入此模型函数的路径
src/vendor/Magento/module checkout/model/PaymentInformationManagement.php:76
。如果您获得了
$cartId
值,可以在此处检查。