|
@@ -67,24 +67,24 @@ class OrderController extends Controller
|
|
|
}
|
|
|
switch ($event->type) {
|
|
|
case 'source.chargeable':
|
|
|
- $source = $event->data->object;
|
|
|
+ $object = $event->data->object;
|
|
|
\Stripe\Charge::create([
|
|
|
- 'amount' => $source->amount,
|
|
|
- 'currency' => $source->currency,
|
|
|
- 'source' => $source->id,
|
|
|
- 'metadata' => json_decode($source->metadata, true)
|
|
|
+ 'amount' => $object->amount,
|
|
|
+ 'currency' => $object->currency,
|
|
|
+ 'source' => $object->id,
|
|
|
+ 'metadata' => json_decode($object->metadata, true)
|
|
|
]);
|
|
|
die('success');
|
|
|
break;
|
|
|
case 'charge.succeeded':
|
|
|
- $source = $event->data->object;
|
|
|
- if ($source->status === 'succeeded') {
|
|
|
- $metaData = $source->metadata;
|
|
|
+ $object = $event->data->object;
|
|
|
+ if ($object->status === 'succeeded') {
|
|
|
+ $metaData = $object->metadata ? $object->metadata : $object->source->metadata;
|
|
|
$tradeNo = $metaData->out_trade_no;
|
|
|
if (!$tradeNo) {
|
|
|
abort(500, 'trade no is not found in metadata');
|
|
|
}
|
|
|
- if (!$this->handle($tradeNo, $source->balance_transaction)) {
|
|
|
+ if (!$this->handle($tradeNo, $object->balance_transaction)) {
|
|
|
abort(500, 'fail');
|
|
|
}
|
|
|
die('success');
|