def METHOD_NAME(self, request, *args, **kwargs):
    payable = self.get_payable()
    if payable.payment:
        return Response(
            data={"detail": _("This object has already been paid for.")},
            status=status.HTTP_409_CONFLICT,
        )
    try:
        services.create_payment(
            payable,
            PaymentUser.objects.get(pk=request.user.pk),
            Payment.TPAY,
        )
        payable.model.save()
    except PaymentError as e:
        raise ValidationError(
            detail={api_settings.NON_FIELD_ERRORS_KEY: [str(e)]}
        ) from e
    return Response(
        PayableSerializer(payable, context=self.get_serializer_context()).data,
        status=status.HTTP_201_CREATED,
    )