mollie / mollie-api-php

Mollie API client for PHP
http://www.mollie.com
BSD 2-Clause "Simplified" License
552 stars 191 forks source link

getCheckoutUrl() is null #337

Closed striderxfossility closed 5 years ago

striderxfossility commented 5 years ago

Specifications

Describe the issue

$payment = $this->mollieClient->payments->create([ "amount" => [ "currency" => "EUR", "value" => $amout ], "description" => $description, "redirectUrl" => $redirectUrl, "webhookUrl" => $webhookUrl, ]);

And with if($payment->getCheckoutUrl() != null) is returning always null, earlier it was fine, nothing was changed..

please help..

...

sandervanhooft commented 5 years ago

Can you dump the array passed to create()? It seems you have a typo in $amout ($amount). On Thu, 20 Dec 2018 at 10:27, striderxfossility notifications@github.com wrote:

Specifications

  • API Version: ^2.0

Describe the issue

$payment = $this->mollieClient->payments->create([ "amount" => [ "currency" => "EUR", "value" => $amout ], "description" => $description, "redirectUrl" => $redirectUrl, "webhookUrl" => $webhookUrl, ]);

And with if($payment->getCheckoutUrl() != null) is returning always null, earlier it was fine, nothing was changed..

please help..

...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mollie/mollie-api-php/issues/337, or mute the thread https://github.com/notifications/unsubscribe-auth/AG7dp-HMUalaGybsL82W5wPha01xPB6Nks5u61f1gaJpZM4Zbzi8 .

-- www.sandervanhooft.com

striderxfossility commented 5 years ago

`POST http://127.0.0.1:8000/emails/verstuur


date Thu, 20 Dec 2018 11:05:54 +0100 controller "EmailsController" source Mollie.php on line 48 file app\Classes\Mollie.php


Mollie\Api\Resources\Payment {#1234 +resource: "payment" +id: "&SECRET&" +mode: "live" +amount: {#1267 +"value": "30000.00" +"currency": "EUR" } +settlementAmount: null +amountRefunded: null +amountRemaining: null +description: "Factuur 201800005" +method: null +status: "open" +createdAt: "2018-12-20T10:05:53+00:00" +paidAt: null +canceledAt: null +expiresAt: "2018-12-20T10:20:53+00:00" +failedAt: null +profileId: "&SECRET&" +sequenceType: "oneoff" +redirectUrl: "&SECRET&==" +webhookUrl: null +mandateId: null +subscriptionId: null +orderId: null +settlementId: null +locale: null +metadata: null +details: null +_links: {#1246 +"self": {#1249 +"href": "https://api.mollie.com/v2/payments/&SECRET&" +"type": "application/hal+json" } +"checkout": {#1250 +"href": "https://www.mollie.com/payscreen/select-method/&SECRET&" +"type": "text/html" } +"documentation": {#1268 +"href": "https://docs.mollie.com/reference/v2/payments-api/create-payment" +"type": "text/html" } } +isCancelable: false

client: Mollie\Api\MollieApiClient {#1193

#httpClient: GuzzleHttp\Client {#1199
  -config: array:8 [
    "verify" => "&SECRET&\vendor\composer\ca-bundle\src/../res/cacert.pem"
    "timeout" => 10
    "handler" => GuzzleHttp\HandlerStack {#1203
      -handler: Closure(RequestInterface $request, array $options) {#1206
        class: "GuzzleHttp\Handler\Proxy"
        parameters: {
          $request: {
            typeHint: "Psr\Http\Message\RequestInterface"
          }
          $options: {
            typeHint: "array"
          }
        }
        use: {
          $default: Closure {#1204 …}
          $streaming: GuzzleHttp\Handler\StreamHandler {#1205 …}
        }
        file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php"
        line: "49 to 53"
      }
      -stack: array:4 [
        0 => array:2 [
          0 => Closure(callable $handler) {#1207
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "55 to 70"
          }
          1 => "http_errors"
        ]
        1 => array:2 [
          0 => Closure(callable $handler) {#1208
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "149 to 151"
          }
          1 => "allow_redirects"
        ]
        2 => array:2 [
          0 => Closure(callable $handler) {#1209
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "27 to 44"
          }
          1 => "cookies"
        ]
        3 => array:2 [
          0 => Closure(callable $handler) {#1210
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "217 to 219"
          }
          1 => "prepare_body"
        ]
      ]
      -cached: Closure($request, array $options) {#1258
        class: "GuzzleHttp\Middleware"
        parameters: {
          $request: {}
          $options: {
            typeHint: "array"
          }
        }
        use: {
          $handler: GuzzleHttp\RedirectMiddleware {#1257 …}
        }
        file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
        line: "56 to 69"
      }
    }
    "allow_redirects" => array:5 [
      "max" => 5
      "protocols" => array:2 [
        0 => "http"
        1 => "https"
      ]
      "strict" => false
      "referer" => false
      "track_redirects" => false
    ]
    "http_errors" => true
    "decode_content" => true
    "cookies" => false
    "headers" => array:1 [
      "User-Agent" => "GuzzleHttp/6.3.3 curl/7.61.1 PHP/7.2.11"
    ]
  ]
}
#apiEndpoint: "https://api.mollie.com"
+payments: Mollie\Api\Endpoints\PaymentEndpoint {#1212
  #resourcePath: "payments"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+methods: Mollie\Api\Endpoints\MethodEndpoint {#1213
  #resourcePath: "methods"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+customers: Mollie\Api\Endpoints\CustomerEndpoint {#1214
  #resourcePath: "customers"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+customerPayments: Mollie\Api\Endpoints\CustomerPaymentsEndpoint {#1217
  #resourcePath: "customers_payments"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+settlements: Mollie\Api\Endpoints\SettlementsEndpoint {#1215
  #resourcePath: "settlements"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+subscriptions: Mollie\Api\Endpoints\SubscriptionEndpoint {#1216
  #resourcePath: "customers_subscriptions"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+mandates: Mollie\Api\Endpoints\MandateEndpoint {#1218
  #resourcePath: "customers_mandates"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+profiles: Mollie\Api\Endpoints\ProfileEndpoint {#1221
  #resourcePath: "profiles"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+organizations: Mollie\Api\Endpoints\OrganizationEndpoint {#1222
  #resourcePath: "organizations"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+permissions: Mollie\Api\Endpoints\PermissionEndpoint {#1220
  #resourcePath: "permissions"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+invoices: Mollie\Api\Endpoints\InvoiceEndpoint {#1219
  #resourcePath: "invoices"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+orders: Mollie\Api\Endpoints\OrderEndpoint {#1223
  #resourcePath: "orders"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+orderLines: Mollie\Api\Endpoints\OrderLineEndpoint {#1224
  #resourcePath: "orders_lines"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+shipments: Mollie\Api\Endpoints\ShipmentEndpoint {#1226
  #resourcePath: "orders_shipments"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+refunds: Mollie\Api\Endpoints\RefundEndpoint {#1227
  #resourcePath: "refunds"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+paymentRefunds: Mollie\Api\Endpoints\PaymentRefundEndpoint {#1228
  #resourcePath: "payments_refunds"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+paymentCaptures: Mollie\Api\Endpoints\PaymentCaptureEndpoint {#1229
  #resourcePath: "payments_captures"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+chargebacks: Mollie\Api\Endpoints\ChargebackEndpoint {#1230
  #resourcePath: "chargebacks"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+paymentChargebacks: Mollie\Api\Endpoints\PaymentChargebackEndpoint {#1231
  #resourcePath: "payments_chargebacks"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
+orderRefunds: Mollie\Api\Endpoints\OrderRefundEndpoint {#1225
  #resourcePath: "orders_refunds"
  #client: Mollie\Api\MollieApiClient {#1193}
  #parentId: null
}
#apiKey: "&SECRET&"
#oauthAccess: false
#versionStrings: array:3 [
  0 => "Mollie/2.1.5"
  1 => "PHP/7.2.11"
  2 => "Guzzle/6.3.3"
]
#lastHttpResponseStatusCode: null

} }`

striderxfossility commented 5 years ago

And here is the dump of the $payment wich the user is getting

`GET http://127.0.0.1:8000/linkf/&SECRET&==



date Thu, 20 Dec 2018 11:24:02 +0100 controller "FacturatieController" source dff0795baf3781671c6ef2c6411b5be8d753472d.php on line 113 file storage\framework\views\dff0795baf3781671c6ef2c6411b5be8d753472d.php


Mollie\Api\Resources\Payment {#1238 +resource: "payment" +id: "&SECRET&" +mode: "live" +amount: {#1252 +"value": "30000.00" +"currency": "EUR" } +settlementAmount: null +amountRefunded: null +amountRemaining: null +description: "Factuur 201800005" +method: null +status: "expired" +createdAt: "2018-12-20T10:05:53+00:00" +paidAt: null +canceledAt: null +expiresAt: null +failedAt: null +profileId: "&SECRET&" +sequenceType: "oneoff" +redirectUrl: "https://&SECRET&//linkf/&SECRET&==" +webhookUrl: null +mandateId: null +subscriptionId: null +orderId: null +settlementId: null +locale: null +metadata: null +details: null +_links: {#1217 +"self": {#1237 +"href": "https://api.mollie.com/v2/payments/&SECRET&" +"type": "application/hal+json" } +"documentation": {#1206 +"href": "https://docs.mollie.com/reference/v2/payments-api/get-payment" +"type": "text/html" } } +isCancelable: null

client: Mollie\Api\MollieApiClient {#1244

#httpClient: GuzzleHttp\Client {#1220
  -config: array:8 [
    "verify" => "&SECRET&\vendor\composer\ca-bundle\src/../res/cacert.pem"
    "timeout" => 10
    "handler" => GuzzleHttp\HandlerStack {#1233
      -handler: Closure(RequestInterface $request, array $options) {#1241
        class: "GuzzleHttp\Handler\Proxy"
        parameters: {
          $request: {
            typeHint: "Psr\Http\Message\RequestInterface"
          }
          $options: {
            typeHint: "array"
          }
        }
        use: {
          $default: Closure {#1224 …}
          $streaming: GuzzleHttp\Handler\StreamHandler {#1209 …}
        }
        file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php"
        line: "49 to 53"
      }
      -stack: array:4 [
        0 => array:2 [
          0 => Closure(callable $handler) {#1195
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "55 to 70"
          }
          1 => "http_errors"
        ]
        1 => array:2 [
          0 => Closure(callable $handler) {#1197
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "149 to 151"
          }
          1 => "allow_redirects"
        ]
        2 => array:2 [
          0 => Closure(callable $handler) {#1216
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "27 to 44"
          }
          1 => "cookies"
        ]
        3 => array:2 [
          0 => Closure(callable $handler) {#1250
            class: "GuzzleHttp\Middleware"
            parameters: {
              $handler: {
                typeHint: "callable"
              }
            }
            file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
            line: "217 to 219"
          }
          1 => "prepare_body"
        ]
      ]
      -cached: Closure($request, array $options) {#1208
        class: "GuzzleHttp\Middleware"
        parameters: {
          $request: {}
          $options: {
            typeHint: "array"
          }
        }
        use: {
          $handler: GuzzleHttp\RedirectMiddleware {#1240 …}
        }
        file: "&SECRET&\vendor\guzzlehttp\guzzle\src\Middleware.php"
        line: "56 to 69"
      }
    }
    "allow_redirects" => array:5 [
      "max" => 5
      "protocols" => array:2 [
        0 => "http"
        1 => "https"
      ]
      "strict" => false
      "referer" => false
      "track_redirects" => false
    ]
    "http_errors" => true
    "decode_content" => true
    "cookies" => false
    "headers" => array:1 [
      "User-Agent" => "GuzzleHttp/6.3.3 curl/7.61.1 PHP/7.2.11"
    ]
  ]
}
#apiEndpoint: "https://api.mollie.com"
+payments: Mollie\Api\Endpoints\PaymentEndpoint {#1243
  #resourcePath: "payments"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+methods: Mollie\Api\Endpoints\MethodEndpoint {#1205
  #resourcePath: "methods"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+customers: Mollie\Api\Endpoints\CustomerEndpoint {#1242
  #resourcePath: "customers"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+customerPayments: Mollie\Api\Endpoints\CustomerPaymentsEndpoint {#1232
  #resourcePath: "customers_payments"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+settlements: Mollie\Api\Endpoints\SettlementsEndpoint {#1215
  #resourcePath: "settlements"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+subscriptions: Mollie\Api\Endpoints\SubscriptionEndpoint {#1202
  #resourcePath: "customers_subscriptions"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+mandates: Mollie\Api\Endpoints\MandateEndpoint {#1246
  #resourcePath: "customers_mandates"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+profiles: Mollie\Api\Endpoints\ProfileEndpoint {#1201
  #resourcePath: "profiles"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+organizations: Mollie\Api\Endpoints\OrganizationEndpoint {#1247
  #resourcePath: "organizations"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+permissions: Mollie\Api\Endpoints\PermissionEndpoint {#1234
  #resourcePath: "permissions"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+invoices: Mollie\Api\Endpoints\InvoiceEndpoint {#1228
  #resourcePath: "invoices"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+orders: Mollie\Api\Endpoints\OrderEndpoint {#1226
  #resourcePath: "orders"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+orderLines: Mollie\Api\Endpoints\OrderLineEndpoint {#1223
  #resourcePath: "orders_lines"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+shipments: Mollie\Api\Endpoints\ShipmentEndpoint {#1171
  #resourcePath: "orders_shipments"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+refunds: Mollie\Api\Endpoints\RefundEndpoint {#1248
  #resourcePath: "refunds"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+paymentRefunds: Mollie\Api\Endpoints\PaymentRefundEndpoint {#1225
  #resourcePath: "payments_refunds"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+paymentCaptures: Mollie\Api\Endpoints\PaymentCaptureEndpoint {#1211
  #resourcePath: "payments_captures"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+chargebacks: Mollie\Api\Endpoints\ChargebackEndpoint {#1236
  #resourcePath: "chargebacks"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+paymentChargebacks: Mollie\Api\Endpoints\PaymentChargebackEndpoint {#1199
  #resourcePath: "payments_chargebacks"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
+orderRefunds: Mollie\Api\Endpoints\OrderRefundEndpoint {#1239
  #resourcePath: "orders_refunds"
  #client: Mollie\Api\MollieApiClient {#1244}
  #parentId: null
}
#apiKey: "&SECRET&"
#oauthAccess: false
#versionStrings: array:3 [
  0 => "Mollie/2.1.5"
  1 => "PHP/7.2.11"
  2 => "Guzzle/6.3.3"
]
#lastHttpResponseStatusCode: null

} +"expiredAt": "2018-12-20T10:22:02+00:00" } `

willemstuursma commented 5 years ago

Sorry @striderxfossility, we can't really help you if you post unformatted dumps like that.

I think it is better if you reach out to our support department via info@mollie.com or by phone. There does not seem to be an issue with the module or API though.

striderxfossility commented 5 years ago

I worked it out with mollie,

"metadata" => [ "order_id" => $description,

this is the error, this must be included in payments create()