Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ----------------------------------------
- // Primeiro passo
- try {
- $refund = Payment::refund($invoice->payment_id);
- if ($refund) {
- $invoice->refund_id = $refund->id;
- $invoice->refund_at = now();
- $invoice->save();
- } else {
- return response("Não foi possível cancelar o pedido.", Response::HTTP_INTERNAL_SERVER_ERROR);
- }
- } catch (MercadoPagoException $e) {
- if ($e->getCause()) {
- Log::info("[invoice refund]: #".$invoice->id." --> ".json_encode($e->getCause()));
- }
- return response("Não foi possível cancelar o pedido.", Response::HTTP_INTERNAL_SERVER_ERROR);
- }
- // ----------------------------------------
- // Segundo passo
- public function refund($id) {
- $payment = MpPayment::find($id);
- if ($payment) {
- // Realizar reembolso
- if ($payment->status == "approved") {
- return $payment->refund();
- // Realizar cancelamento
- } else {
- return $payment->cancel();
- }
- }
- }
- // ----------------------------------------
- // Terceiro passo
- public function refund() {
- $url = "https://api.mercadopago.com/v1/payments/".$this->id."/refunds";
- $data = self::request("POST", $url);
- return $data;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement